From 532611ebe6ccecd6d17930c33a24ddfd5b1c2610 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 30 六月 2025 14:34:26 +0800
Subject: [PATCH] 增加程序文件列表

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.xml          |    1 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java           |    8 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java           |   16 ----
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java               |   18 +---
 doc/sql/mdm/mdm.mysql.all.create.sql                                                                  |    9 -
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java       |   30 ++++++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java    |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java                  |   16 +--
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.java         |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java             |    6 -
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java     |    2 
 /dev/null                                                                                             |   34 --------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java                   |    8 +-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java |    7 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java          |   15 ++-
 blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml                          |   52 +++---------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java                 |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java          |    2 
 18 files changed, 86 insertions(+), 148 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 547b47c..582170f 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
@@ -36,7 +36,7 @@
 	 */
 	@PostMapping("/start")
 	@Operation(summary = "浠诲姟璁″垝(娲惧伐娴佺▼)", description = "鍚姩娲惧伐娴佺▼")
-	public R<Boolean> save(@RequestBody TaskAssignVO startVO) {
+	public R<Boolean> start(@RequestBody TaskAssignVO startVO) {
 		dispatcher.start(startVO);
 		return R.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 bc6ce9d..213f2e6 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
@@ -16,6 +16,7 @@
 import org.springframework.stereotype.Service;
 import org.flowable.engine.RuntimeService;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service("startDispatcher")
@@ -46,19 +47,19 @@
 
 		vars.put("craftEdition",startVO.getCraftEdition());
 		vars.put("planStartTime",startVO.getPlanStartTime());
-		vars.put("drawingNo",startVO.getDrawingNo());
-		vars.put("drawingNoEdition",startVO.getDrawingNoEdition());
+		vars.put("partNo",startVO.getPartNo());
+		vars.put("partNoEdition",startVO.getPartNoEdition());
 		vars.put("planLockDays",startVO.getPlanLockDays());
 
 		//闆剁粍浠朵唬鐮�
 		String partNo = generatePartNo(startVO);
 		vars.put("partNo",partNo);
 
-		NcProgram curedNcProgram = ncProgramService.getCuredNcProgram(partNo,startVO.getMachineCode());
-		vars.put("curedNcProgram",curedNcProgram);
+		List<NcProgram> curedNcProgram = ncProgramService.getCuredNcProgram(partNo,startVO.getMachineCode());
+		//vars.put("curedNcProgram",curedNcProgram);
 
 		//璁剧疆鏄惁鏈夊浐鍖栫▼搴忔爣璁�
-		vars.put("hasCuredProgram",curedNcProgram != null ? "Y":"N");
+		vars.put("hasCuredProgram",!curedNcProgram.isEmpty() ? "Y":"N");
 
 		String businessKey = "0";//涓氬姟琛╧ey
 
@@ -78,8 +79,8 @@
 	String generatePartNo(TaskAssignVO startVO){
 		//TODO 杩欎釜鏍煎紡鏈‘瀹氾紝闇�瑕佺‘璁�
 		return String.format("%s-%s-%s-%s-%s-%s",
-			startVO.getDrawingNo(),
-			startVO.getDrawingNoEdition(),
+			startVO.getPartNo(),
+			startVO.getPartNoEdition(),
 			startVO.getProcessNo(),
 			startVO.getProcessName(),
 			startVO.getCraftEdition(),
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
index c166cec..078f02c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
@@ -67,20 +67,4 @@
 		//log.info()
 	}
 
-	/**
-	 * 鐢熸垚闆剁粍浠剁紪鍙�
-	 * 鍥惧彿銆佸浘鍙风増娆°�佸伐搴忓彿銆佸伐搴忓悕绉般�佸伐鑹虹増娆°�佸伐搴忕増娆� 缁勫悎璧锋潵鑾峰緱闆剁粍浠跺彿
-	 * @param startVO
-	 * @return
-	 */
-	String generatePartNo(TaskAssignVO startVO){
-		//TODO 杩欎釜鏍煎紡鏈‘瀹氾紝闇�瑕佺‘璁�
-		return String.format("%s-%s-%s-%s-%s-%s",
-			startVO.getDrawingNo(),
-			startVO.getDrawingNoEdition(),
-			startVO.getProcessNo(),
-			startVO.getProcessName(),
-			startVO.getCraftEdition(),
-			startVO.getProcessEdition());
-	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/dispatch/ProgramEmptyUpgradeProcessEdtionTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/dispatch/ProgramEmptyUpgradeProcessEdtionTask.java
deleted file mode 100644
index 43839e2..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/dispatch/ProgramEmptyUpgradeProcessEdtionTask.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.springblade.mdm.flow.task.dispatch;
-
-import lombok.extern.slf4j.Slf4j;
-import org.flowable.engine.delegate.DelegateExecution;
-import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.mdm.program.entity.NcProgram;
-import org.springblade.mdm.program.service.NcProgramService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-@Slf4j
-@Component("programEmptyUpgradeProcessEdtionTask")
-public class ProgramEmptyUpgradeProcessEdtionTask {
-	@Autowired
-	private NcProgramService ncProgramService;
-	public void execute(DelegateExecution execution) {
-		//绌哄崌鐗堬紝鏂板姞鍏ヤ竴鏉$▼搴忔暟鎹紝骞朵笖灏嗗伐搴忕増娆rocessEdition璁剧疆涓虹敤鎴疯緭鍏ョ殑鏂扮増鏈�
-		/*
-		NcProgram ncProgram =  (NcProgram)execution.getVariable("curedNcProgram");
-		//灏嗙幇鏈夌▼搴忚缃负闈炴渶鏂扮殑
-		ncProgram.setIsLastEdition(0);
-		ncProgramService.updateById(ncProgram);
-
-		NcProgram newNcProgram = new NcProgram();
-		BeanUtil.copyProperties(ncProgram, newNcProgram);
-		newNcProgram.setIsLastEdition(1);
-		newNcProgram.setId(null);
-		ncProgramService.save(newNcProgram);
-
-		log.info("绌哄崌鐗堝畬鎴愶紝鏂扮殑绋嬪簭id涓簕}",newNcProgram.getId());
-
-		 */
-	}
-}
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 9188d9f..56794eb 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
@@ -9,10 +9,10 @@
 @Data
 @Schema(description = "浠诲姟璁″垝")
 public class TaskAssignVO {
-	@Schema(description = "鍥惧彿")
-	private String drawingNo;
-	@Schema(description = "鍥惧彿鐗堟")
-	private String drawingNoEdition;
+	@Schema(description = "闆剁粍浠�/鍥惧彿")
+	private String partNo;
+	@Schema(description = "鍥惧彿鐗堟/璁捐鐗堟")
+	private String partNoEdition;
 	@Schema(description = "宸ュ簭鍙�")
 	private String processNo;
 	@Schema(description = "宸ュ簭鍚嶇О")
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
index 7eaf422..05a1a36 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
@@ -78,4 +78,6 @@
 		IPage<NcNodeProgramVO> pages = ncNodeService.programPageQuery(query);
 		return R.data(pages);
 	}
+
+
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
index 9a8a526..c30b2db 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
@@ -69,4 +69,11 @@
 	public R<List<NcProgramVO>> listByNode(@Parameter(description="鎵�灞炶妭鐐笽D")@RequestParam Long nodeId) {
 		return R.data(ncProgramService.listByNode(nodeId));
 	}
+
+	@PostMapping("/upgrade-process-edition")
+	@Operation(summary = "鍗囩増", description = "鍗囩骇宸ュ簭鐗堟")
+	public R<Boolean> upgradeProcessEdition(Long id,String newProcessEdition ) {
+		ncProgramService.upgradeProcessEdition(id,newProcessEdition);
+		return R.<Boolean>status(true);
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
index 6931e08..6268a00 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
@@ -23,14 +23,8 @@
 	 * 璁惧缂栧彿
 	 */
 	private String machineCode;
-	/**
-	 * 鍥惧彿
-	 */
-	private String drawingNo;
-	/**
-	 * 鍥惧彿鐗堟
-	 */
-	private String drawingNoEdition;
+
+
 
 	/**
 	 * 宸ュ簭锛屽鈥滅簿閾b��
@@ -47,9 +41,13 @@
 	 */
 	private String craftEdition;
 	/**
-	 * 闆剁粍浠跺彿
+	 * 闆剁粍浠跺彿/鍥惧彿
 	 */
 	private String partNo;
+	/**
+	 * 鍥惧彿鐗堟
+	 */
+	private String partNoEdition;
 
 	/**
 	 * 鏄惁鍥哄寲
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
index c7ccacf..08bc2db 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
@@ -25,10 +25,7 @@
 	 * 鎵�灞炶妭鐐筰d锛屽繀椤绘湭鈥滅▼搴忓寘鍚�"鐨勮妭鐐�
 	 */
 	private long ncNodeId;
-	/**
-	 * 绋嬪簭鍖呭悕
- 	 */
-	//private String packageName;
+
 	/**
 	 * 鏂囦欢鍦板潃
 	 */
@@ -42,10 +39,7 @@
 	 * 鏄惁涓烘枃鏈被鍨�
 	 */
 	private Boolean isTextFile;
-	/**
-	 * 鍥惧彿
-	 */
-	private String drawingNo;
+
 	/**
 	 * 宸ュ簭锛屽鈥滅簿閾b��
 	 */
@@ -59,9 +53,9 @@
 	 */
 	private String machineCode;
 	/**
-	 * 闆剁粍浠跺彿
+	 * 闆剁粍浠跺彿/鍥惧彿
 	 */
-	//private String partNo;
+	private String partNo;
 
 	/**
 	 * 鏄惁鍥哄寲
@@ -74,11 +68,11 @@
 	/**
 	 * 宸ュ簭鐗堟
 	 */
-	//private String processEdition;
+	private String processEdition;
 	/**
 	 * 鏄惁鏈�鏂扮増娆★紝1锛氭渶鏂扮増娆★紱0:鍘嗗彶鐗堟
 	 */
-	//private Integer isLastEdition;
+	private Integer isLastEdition;
 	/**
 	 * 鏄惁閿佸畾
 	 */
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.java
index 06d74da..0d5fdfb 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.java
@@ -9,6 +9,8 @@
 import org.springblade.mdm.basesetting.machine.vo.MachineVO;
 import org.springblade.mdm.program.entity.NcProgram;
 
+import java.util.List;
+
 public interface NcProgramMapper extends BladeMapper<NcProgram> {
 
 	/**
@@ -17,7 +19,7 @@
 	 * @param machineGroupCode 鏈哄簥缁勪唬鐮�
 	 * @return
 	 */
-	NcProgram getCuredNcProgram(@Param("partNo")String partNo,@Param("machineGroupCode")String machineGroupCode);
+	List<NcProgram> getCuredNcProgram( @Param("partNo")String partNo,@Param("machineGroupCode")String machineGroupCode);
 
 	/**
 	 * 鏍规嵁绋嬪簭鍚嶇О锛岃幏鍙栨渶鏂扮殑绋嬪簭瀹炰綋
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.xml
index d555c0c..0e0bacb 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.xml
@@ -41,7 +41,6 @@
         where is_deleted=0 and is_cured=1 and part_no=#{partNo} and is_last_edition=1
         and machine_code in (select code from mdm_machine where machine_group_code=#{machineGroupCode})
         order by create_time desc
-        limit 1
     </select>
     <!--
     <select id="getLastNcProgram" resultType="org.springblade.mdm.program.entity.NcProgram">
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
index b01834c..4bf0921 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -100,4 +100,6 @@
 	public NcNode getLastProgramNode(String name) {
 		return this.getBaseMapper().getLastProgramNode(name);
 	}
+
+
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
index 3429974..5dc2482 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -73,7 +73,7 @@
 	 * @param machineCode
 	 * @return
 	 */
-	public NcProgram getCuredNcProgram(String partNo,String machineCode) {
+	public List<NcProgram> getCuredNcProgram(String partNo,String machineCode) {
 		Machine machine = machineService.getByCode(machineCode);
 		return this.getBaseMapper().getCuredNcProgram(partNo,machine.getMachineGroupCode());
 	}
@@ -81,9 +81,7 @@
 
 	/**
 	 * 涓婁紶绋嬪簭鏂囦欢鍒版寚瀹氳妭鐐�
-	 * @param file
-	 * @param nodeId
-	 * @param category 鏂囦欢鍒嗙被锛堢▼搴忔枃浠�/鍏朵粬鏂囦欢锛�
+	 * @param uploadVO 涓婁紶鏂囦欢琛ㄥ崟鏁版嵁
 	 */
 	public void uploadProgramFile(NcProgramUploadVO uploadVO) {
 		MultipartFile file = uploadVO.getFile();
@@ -94,7 +92,8 @@
 		prog.setName(file.getOriginalFilename());
 		prog.setNcNodeId(uploadVO.getNodeId());
 		prog.setOssName(bfile.getName());
-		prog.setDrawingNo(uploadVO.getDrawingNo());
+		prog.setPartNo(uploadVO.getPartNo());
+		prog.setProcessEdition(uploadVO.getProcessEdition());
 		boolean isTextFile = false;
 		try {
 			isTextFile = FileContentUtil.isTextFile(file.getInputStream());
@@ -136,7 +135,7 @@
 
 	public List<NcProgramVO> listByNode(Long nodeId) {
 		NcNode node = nodeService.getById(nodeId);
-		List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).orderByDesc(NcProgram::getCreateTime));
+		List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).eq(NcProgram::getIsLastEdition,1).orderByDesc(NcProgram::getCreateTime));
 
 		List<NcProgramVO> result = new ArrayList<>();
 
@@ -149,4 +148,23 @@
 
 		return result;
 	}
+
+	/**
+	 * 鍗囩増(鍗囩骇宸ュ簭鐗堟),鍗囩骇宸ュ簭鐗堟湰锛堝寘鎷▼搴忓拰鍏朵粬闄勪欢锛�
+	 * @param id 绋嬪簭鏂囦欢id
+	 * @param newProcessEdition 鏂扮増娆�
+	 */
+	public void upgradeProcessEdition(long id,String newProcessEdition) {
+		NcProgram prog = this.getById(id);
+		//灏嗙幇鏈夌▼搴忔洿鏂颁负闈炴渶鏂扮増鏈�
+		this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getId,id).set(NcProgram::getIsLastEdition,0));
+
+		NcProgram newVerProg = new NcProgram();
+		BeanUtils.copyProperties(prog, newVerProg);
+		newVerProg.setId(null);
+		newVerProg.setIsLastEdition(1);
+		newVerProg.setProcessEdition(newProcessEdition);
+
+		this.save(newVerProg);
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
index 5eee186..e416857 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
@@ -24,10 +24,6 @@
 	@Schema(description = "澶囨敞")
 	private String remark;
 
-
-	@Schema(description = "鍥惧彿")
-	private String drawingNo;
-
 	@Schema(description = "鍥惧彿鐗堟")
 	private String drawingNoEdition;
 
@@ -37,6 +33,6 @@
 	@Schema(description = "宸ヨ壓鐗堟")
 	private String craftEdition;
 
-	@Schema(description = "闆剁粍浠跺彿")
+	@Schema(description = "闆剁粍浠跺彿/鍥惧彿")
 	private String partNo;
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java
index faa11a5..b626bc5 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java
@@ -20,13 +20,15 @@
 	@Schema(description = "璁惧缂栧彿")
 	private MultipartFile file;
 
-	@Schema(description = "鍥惧彿")
-	private String drawingNo;
-
+	@Schema(description = "闆剁粍浠跺彿/鍥惧彿")
+	private String partNo;
 
 	@Schema(description = "宸ュ簭锛屽鈥滅簿閾b��")
 	private String processName;
 
 	@Schema(description = "鏂囦欢鍒嗙被锛屼娇鐢ㄥ瓧鍏�(node_file_type)")
 	private String category;
+
+	@Schema(description = "宸ュ簭鐗堟湰")
+	private String processEdition;
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java
index 9206279..a7ee86a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java
@@ -21,8 +21,6 @@
 	@Schema(description = "澶囨敞")
 	private String remark;
 
-	@Schema(description = "鍥惧彿")
-	private String drawingNo;
 
 	@Schema(description = "鍥惧彿鐗堟")
 	private String drawingNoEdition;
@@ -33,6 +31,6 @@
 	@Schema(description = "宸ヨ壓鐗堟")
 	private String craftEdition;
 
-	@Schema(description = "闆剁粍浠跺彿")
+	@Schema(description = "闆剁粍浠跺彿/鍥惧彿")
 	private String partNo;
 }
diff --git a/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml b/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml
index b2db141..01d3901 100644
--- a/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml
+++ b/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml
@@ -32,24 +32,15 @@
       <conditionExpression xsi:type="tFormalExpression">${approve=='Y' &amp;&amp; hasCuredProgram=='Y'}</conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-353381d5-35c7-47b0-bf5b-2bafe865ab5e" sourceRef="cureCheckServiceTask" targetRef="confirmIsUseableTask"/>
-    <sequenceFlow id="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1" sourceRef="confirmIsUseableTask" targetRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" name="鍥哄寲绋嬪簭鍙敤">
+    <sequenceFlow id="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1" sourceRef="confirmIsUseableTask" targetRef="check" name="鍥哄寲绋嬪簭鍙敤">
       <conditionExpression>${approve=='Y'}</conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-d4133565-1a45-4bb6-b603-9b9e4db1cdbb" sourceRef="approveTask" targetRef="check">
       <conditionExpression>${approve=='N'}</conditionExpression>
     </sequenceFlow>
-    <exclusiveGateway id="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" name="鍙敤绋嬪簭娴佽浆缃戝叧"/>
-    <sequenceFlow id="sid-b15dcf6a-a48c-4e01-b6bc-5c2a74ca817e" sourceRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" targetRef="check" name="宸ュ簭鐗堟涓�鑷村苟涓斿彲鐢�">
-      <conditionExpression xsi:type="tFormalExpression">${processEditionEqual=='Y'}</conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-6249886b-7c4a-4904-9b0b-cf743932be9f" sourceRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" targetRef="emptyUpgradeProcessEdtionServiceTask">
-      <conditionExpression xsi:type="tFormalExpression">${processEditionEqual=='N'}</conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-598e1dbe-85b3-40d0-89c8-bd2580ecbfc5" sourceRef="emptyUpgradeProcessEdtionServiceTask" targetRef="check"/>
     <sequenceFlow id="sid-80b50f96-7601-4ba2-8c32-968923170d25" sourceRef="confirmIsUseableTask" targetRef="programmingTask">
       <conditionExpression>${approve=='N'}</conditionExpression>
     </sequenceFlow>
-    <serviceTask id="emptyUpgradeProcessEdtionServiceTask" flowable:exclusive="true" name="绌哄崌鐗�" flowable:expression="programEmptyUpgradeProcessEdtionTask.execute(execution)"/>
   </process>
   <bpmndi:BPMNDiagram id="BPMNDiagram_dispatch">
     <bpmndi:BPMNPlane bpmnElement="dispatch" id="BPMNPlane_dispatch">
@@ -70,10 +61,10 @@
         <omgdc:Bounds x="130.0" y="-135.0" width="60.0" height="55.0"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="shape-a42e90ff-9c82-4d5b-8f5b-0804754e89a6" bpmnElement="approveTask">
-        <omgdc:Bounds x="220.0" y="-14.0" width="50.0" height="45.0"/>
+        <omgdc:Bounds x="130.0" y="-4.0" width="50.0" height="45.0"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="shape-f14acaf6-9747-4d52-87a1-d4c5b8f3d166" bpmnElement="approveEnd">
-        <omgdc:Bounds x="245.0" y="51.0" width="30.0" height="30.0"/>
+        <omgdc:Bounds x="295.0" y="-6.5" width="30.0" height="30.0"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="edge-6f05f47f-7804-4dd0-b6d2-e435b9efaa3c" bpmnElement="programingToCheck">
         <omgdi:waypoint x="12.5" y="-92.5"/>
@@ -89,20 +80,21 @@
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="edge-d05b5f9f-9108-4a41-9e48-4db1e1b1e325" bpmnElement="flowToSeriorTask">
         <omgdi:waypoint x="190.0" y="-93.75"/>
-        <omgdi:waypoint x="270.0" y="-2.75"/>
+        <omgdi:waypoint x="180.0" y="7.25"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="edge-715efa53-6c03-407b-87ec-640f99c481a0" bpmnElement="sid-c0b195e7-17e5-44bf-8115-8b7126cb3ab3">
-        <omgdi:waypoint x="270.0" y="19.749996"/>
-        <omgdi:waypoint x="245.0" y="58.5"/>
+        <omgdi:waypoint x="180.0" y="29.749996"/>
+        <omgdi:waypoint x="295.0" y="1.0"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="shape-8455618d-c1b9-4e6a-bca4-de965cc81633" bpmnElement="cureCheckServiceTask">
         <omgdc:Bounds x="-275.0" y="37.500004" width="65.0" height="39.999996"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="shape-8f7064fc-4838-44cc-bf6d-ca15932a1e2e" bpmnElement="confirmIsUseableTask">
-        <omgdc:Bounds x="-165.0" y="37.5" width="55.0" height="40.0"/>
+        <omgdc:Bounds x="-135.0" y="37.5" width="55.0" height="40.0"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="edge-0408fc3c-c133-40e3-9006-c315b12e9790" bpmnElement="sid-46ccac64-2d48-4933-88a6-f2941ae131dd">
         <omgdi:waypoint x="-192.5" y="-92.500015"/>
+        <omgdi:waypoint x="-132.5" y="-100.0"/>
         <omgdi:waypoint x="-72.49999" y="-107.50001"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="edge-d8883eca-269a-42cd-b2d4-134da6596afb" bpmnElement="sid-af92e6ab-bc80-43ed-8b09-1d3ec54cc9e7">
@@ -111,38 +103,20 @@
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="edge-44016aa6-bf48-4c73-8aaa-4cedf795d68b" bpmnElement="sid-353381d5-35c7-47b0-bf5b-2bafe865ab5e">
         <omgdi:waypoint x="-210.0" y="57.5"/>
-        <omgdi:waypoint x="-165.0" y="57.5"/>
+        <omgdi:waypoint x="-135.0" y="57.5"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="edge-64e64024-1ffd-4cdf-be8f-4c5e4911a5bb" bpmnElement="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1">
-        <omgdi:waypoint x="-110.0" y="47.5"/>
-        <omgdi:waypoint x="-60.0" y="0.0"/>
+        <omgdi:waypoint x="-80.0" y="47.5"/>
+        <omgdi:waypoint x="145.0" y="-80.00001"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="edge-7a5135fe-5eb1-425c-b920-3e2b5bf18454" bpmnElement="sid-d4133565-1a45-4bb6-b603-9b9e4db1cdbb">
-        <omgdi:waypoint x="257.5" y="-14.0"/>
+        <omgdi:waypoint x="167.5" y="-4.0"/>
         <omgdi:waypoint x="175.0" y="-80.0"/>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="shape-50f64465-52e3-4ba9-b36d-ebac41ab8b22" bpmnElement="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398">
-        <omgdc:Bounds x="-60.0" y="-20.0" width="40.0" height="40.0"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="edge-4b95c6df-601d-48e8-a9a4-98499ae5ddf3" bpmnElement="sid-b15dcf6a-a48c-4e01-b6bc-5c2a74ca817e">
-        <omgdi:waypoint x="-20.0" y="0.0"/>
-        <omgdi:waypoint x="130.0" y="-93.75"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="edge-dbb7a807-e493-42fe-b229-b9f2ec25b5ee" bpmnElement="sid-6249886b-7c4a-4904-9b0b-cf743932be9f">
-        <omgdi:waypoint x="-40.0" y="20.0"/>
-        <omgdi:waypoint x="30.0" y="57.5"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="edge-092f7d8d-2467-4794-af93-fdc9ad503923" bpmnElement="sid-598e1dbe-85b3-40d0-89c8-bd2580ecbfc5">
-        <omgdi:waypoint x="86.25" y="30.0"/>
-        <omgdi:waypoint x="145.0" y="-79.99999"/>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="edge-223da197-47f2-44ef-847e-40d1fae1009b" bpmnElement="sid-80b50f96-7601-4ba2-8c32-968923170d25">
-        <omgdi:waypoint x="-123.75" y="37.5"/>
+        <omgdi:waypoint x="-93.75" y="37.5"/>
         <omgdi:waypoint x="-51.25" y="-77.5"/>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="shape-0fe942f6-dea9-427c-aef6-0db9c3e3707b" bpmnElement="emptyUpgradeProcessEdtionServiceTask">
-        <omgdc:Bounds x="30.0" y="30.0" width="75.0" height="55.0"/>
-      </bpmndi:BPMNShape>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </definitions>
diff --git a/doc/sql/mdm/mdm.mysql.all.create.sql b/doc/sql/mdm/mdm.mysql.all.create.sql
index cd3db16..00ce01a 100644
--- a/doc/sql/mdm/mdm.mysql.all.create.sql
+++ b/doc/sql/mdm/mdm.mysql.all.create.sql
@@ -65,10 +65,9 @@
    `id` bigint NOT NULL,
    `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�',
    `name` varchar(100) NOT NULL COMMENT '鑺傜偣鍚嶇О',
-   `drawing_no` varchar(40) NULL COMMENT '鍥惧彿',
    `process_name` varchar(20) NULL COMMENT '宸ュ簭鍚嶇О',
    `machine_code` varchar(100) DEFAULT NULL COMMENT '璁惧缂栧彿/鏈哄簥缂栧彿',
-   `part_no` varchar(100) NULL COMMENT '闆剁粍浠剁紪鍙�',
+   `part_no` varchar(100) NULL COMMENT '闆剁粍浠剁紪鍙�/鍥惧彿',
    `is_cured` int DEFAULT NULL COMMENT '鏄惁鍥哄寲,1鏄�;0鍚�',
    `expire_date` date DEFAULT NULL COMMENT '鍒版湡鏃堕棿,鏍规嵁鏈夋晥鏈熸椂闀胯绠楄�屾潵',
    `process_edition` varchar(40) DEFAULT NULL COMMENT '宸ュ簭鐗堟锛屽崌鐗堝氨鏄彉鏇存敼璇ュ瓧娈碉紝闇�瑕佷繚鐣欏巻鍙茶褰�',
@@ -104,8 +103,6 @@
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='娴佺▼瀹炰緥涓庤妭鐐瑰叧鑱旇〃';
 
-
-
 DROP TABLE IF EXISTS `mdm_nc_program`;
 CREATE TABLE `mdm_nc_program` (
   `id` bigint NOT NULL,
@@ -115,14 +112,12 @@
   `name` varchar(100) NOT NULL COMMENT '绋嬪簭鍚嶇О',
   `oss_name` varchar(100) NULL COMMENT 'oss涓殑鏂囦欢鍚�',
   `category` varchar(2) NULL COMMENT '鏂囦欢鍒嗙被',
-
-  `drawing_no` varchar(40) NULL COMMENT '鍥惧彿',
   `process_name` varchar(20) NULL COMMENT '宸ュ簭鍚嶇О',
   `remark` varchar(100) NULL COMMENT '澶囨敞',
   `is_text_file` int DEFAULT NULL COMMENT '鏄惁鏂囨湰鏂囦欢',
   `url` varchar(400) NOT NULL COMMENT '鏂囦欢鍦板潃',
   `machine_code` varchar(100) DEFAULT NULL COMMENT '璁惧缂栧彿/鏈哄簥缂栧彿',
-  `part_no` varchar(100) NULL COMMENT '闆剁粍浠剁紪鍙�',
+  `part_no` varchar(100) NULL COMMENT '闆剁粍浠剁紪鍙�/鍥惧彿',
   `is_cured` int DEFAULT NULL COMMENT '鏄惁鍥哄寲,1鏄�;0鍚�',
   `expire_date` date DEFAULT NULL COMMENT '鍒版湡鏃堕棿,鏍规嵁鏈夋晥鏈熸椂闀胯绠楄�屾潵',
   `process_edition` varchar(40) DEFAULT NULL COMMENT '宸ュ簭鐗堟锛屽崌鐗堝氨鏄彉鏇存敼璇ュ瓧娈碉紝闇�瑕佷繚鐣欏巻鍙茶褰�',

--
Gitblit v1.9.3