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