From dc0fea5a5f163e6bfcf7cb887b741b13d86728c4 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 11 六月 2025 16:50:01 +0800
Subject: [PATCH] 增加dnc导入
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java | 2
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java | 25 ++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java | 9 ++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java | 4 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java | 94 +++++++++++++++++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java | 99 ++++++++++++++++++++++++
6 files changed, 231 insertions(+), 2 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
index 400cf3a..80e0881 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
@@ -33,7 +33,7 @@
* 鏂板
*/
@PostMapping("/start")
- @Operation(summary = "鍚姩娲惧伐娴佺▼", description = "鍚姩娲惧伐娴佺▼")
+ @Operation(summary = "浠诲姟璁″垝(娲惧伐娴佺▼)", description = "鍚姩娲惧伐娴佺▼")
public R<Boolean> save(@RequestBody TaskAssignVO startVO) {
dispatcher.start(startVO);
return R.<Boolean>status(true);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
index 9375533..a035595 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
@@ -1,5 +1,6 @@
package org.springblade.mdm.flow.excution;
+import io.swagger.v3.oas.annotations.media.Schema;
import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.IdentityService;
import org.flowable.engine.runtime.ProcessInstance;
@@ -40,6 +41,9 @@
vars.put("craftEdition",startVO.getCraftEdition());
vars.put("planStartTime",startVO.getPlanStartTime());
+ vars.put("drawingNo",startVO.getDrawingNo());
+ vars.put("drawingNoEdition",startVO.getDrawingNoEdition());
+ vars.put("planLockDays",startVO.getPlanLockDays());
//vars.put("producePlanId",startVO.getCraftEdition());
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java
index 2a7c0c1..f16e423 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java
@@ -6,8 +6,12 @@
import java.time.LocalDateTime;
@Data
-@Schema(description = "浠诲姟娲惧伐")
+@Schema(description = "浠诲姟璁″垝")
public class TaskAssignVO {
+ @Schema(description = "鍥惧彿")
+ private String drawingNo;
+ @Schema(description = "鍥惧彿鐗堟")
+ private String drawingNoEdition;
@Schema(description = "宸ュ簭鍙�")
private String processNo;
@Schema(description = "宸ュ簭鍚嶇О")
@@ -25,6 +29,9 @@
@Schema(description = "璁惧鍨嬪彿")
private String machineMode;
+ @Schema(description = "璁″垝閿佸畾鏃堕棿(澶�)")
+ private Integer planLockDays;
+
@Schema(description = "璁″垝寮�宸ユ椂闂�")
private LocalDateTime planStartTime;
@Schema(description = "涓诲埗璁″垝琛↖D")
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java
new file mode 100644
index 0000000..a9c0752
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java
@@ -0,0 +1,99 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * <p>
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ * <p>
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ * <p>
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ * <p>
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ * <p>
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ * <p>
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ * <p>
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.mdm.program.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springblade.mdm.program.service.DncSendBackService;
+import org.springblade.mdm.program.vo.DncSendBackData;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * 娴佺▼绠$悊鎺ュ彛
+ *
+ * @author Chill
+ */
+@NonDS
+@RestController
+@RequestMapping("/program")
+@AllArgsConstructor
+@Tag(name = "DNC鍥炰紶绋嬪簭鎺ュ彛", description = "DNC鍥炰紶绋嬪簭鎺ュ彛")
+@Slf4j
+public class DncSendBackController {
+
+ private final DncSendBackService dncSendBackService;
+
+ /**
+ * dnc鍥炰紶鏂囦欢瀵煎叆
+ *
+ * @param file 娴佺▼鏂囦欢
+ */
+ /*
+ @PostMapping("dnc-sendback-upload")
+ @ApiOperationSupport(order = 4)
+ @Operation(summary = "dnc鍥炰紶鏂囦欢瀵煎叆", description = "dnc鍥炰紶鏂囦欢瀵煎叆")
+ public R dncSendBackUpload(@RequestParam MultipartFile file) {
+ boolean temp = Objects.requireNonNull(file.getOriginalFilename()).endsWith("pkg");
+ temp = true;//涓存椂鏀捐
+ return R.data(Kv.create().set("name", file.getOriginalFilename()).set("success", temp));
+ }
+ */
+ /**
+ * 涓婁紶DNC鍥炰紶鏂囦欢
+ *
+ * @param files 娴佺▼鏂囦欢
+ * @param category 绫诲瀷
+ */
+ @PostMapping("dnc-sendback-upload")
+ @ApiOperationSupport(order = 1)
+ @Operation(summary = "涓婁紶DNC鍥炰紶鏂囦欢", description = "浼犲叆鏂囦欢")
+ public R<List<DncSendBackData>> dncSendBackUpload(@RequestParam MultipartFile file,
+ @RequestParam String category,
+ @RequestParam(required = false, defaultValue = "") String tenantIds) {
+ return R.data(dncSendBackService.dncSendBackUpload(file));
+ }
+
+ @PostMapping("dnc-sendback-accept")
+ @ApiOperationSupport(order = 2)
+ @Operation(summary = "DNC鍥炰紶鏁版嵁鍏ュ簱")
+ public R<Void> dncSendBackAccept(@RequestParam String ids) {
+ try {
+ dncSendBackService.dncFileAccept(ids);
+ }catch (Exception e){
+ log.error("鍏ュ簱閿欒",e);
+ return R.fail(e.getMessage());
+ }
+ return R.success();
+ }
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java
new file mode 100644
index 0000000..8fd16f6
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java
@@ -0,0 +1,94 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * <p>
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ * <p>
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ * <p>
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ * <p>
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ * <p>
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ * <p>
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ * <p>
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.mdm.program.service;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.flowable.engine.*;
+import org.springblade.core.tool.utils.FileUtil;
+import org.springblade.mdm.program.vo.DncSendBackData;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 宸ヤ綔娴佹湇鍔″疄鐜扮被
+ *
+ * @author Chill
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class DncSendBackService {
+
+ private static final String XML_NAME = "xml";
+ private static final Integer INT_1024 = 1024;
+
+ private final ObjectMapper objectMapper;
+ private final RepositoryService repositoryService;
+ private final RuntimeService runtimeService;
+ private final HistoryService historyService;
+ private final TaskService taskService;
+ private final ProcessEngine processEngine;
+
+
+ public List<DncSendBackData> dncSendBackUpload(MultipartFile file) {
+ List<DncSendBackData> list = new ArrayList<>();
+ try {
+ String fileName = file.getOriginalFilename();
+ InputStream fileInputStream = file.getInputStream();
+ byte[] bytes = FileUtil.copyToByteArray(fileInputStream);
+ //TODO 瑙f瀽涓哄垪琛ㄦ枃浠�
+
+ DncSendBackData dt = new DncSendBackData();
+ dt.setId(1L);
+ dt.setProgramName("test.nc");
+ dt.setProgramNo("001");
+
+ list.add(dt);
+
+ } catch (IOException e) {
+ log.error("涓婁紶dnc鏂囦欢澶辫触",e);
+
+ }
+
+ return list;
+ }
+
+ /**
+ * 鍏ュ簱鍥炰紶鏂囦欢
+ * @param ids
+ * @return
+ */
+ public void dncFileAccept(String ids) {
+
+ }
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java
new file mode 100644
index 0000000..f69d9a3
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java
@@ -0,0 +1,25 @@
+package org.springblade.mdm.program.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+@Setter
+@Getter
+@Schema(description = "DNC鍥炰紶鏁版嵁")
+public class DncSendBackData {
+ @Schema(description = "鏂囦欢鏁版嵁搴撶紪鍙�")
+ private Long id;
+ @Schema(description = "绋嬪簭缂栧彿")
+ private String programNo;
+ @Schema(description = "绋嬪簭鍚嶇О")
+ private String programName;
+
+ @Schema(description = "鍒拌揪鏃堕棿")
+ private LocalDateTime fileBackTime;
+ @Schema(description = "MD5鍊�")
+ private String md5;
+
+}
--
Gitblit v1.9.3