From dc01577b31204fd3c80645b45d81ff693f79a985 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 10 九月 2025 23:04:20 +0800
Subject: [PATCH] 程序包名增加版次
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
index 9f867af..96a68e1 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
@@ -1,17 +1,21 @@
package org.springblade.mdm.flow.excution.dispatch;
+import com.alibaba.excel.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FilenameUtils;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.ApproveRecordService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
+import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.entity.NcProgramApproved;
import org.springblade.mdm.program.service.NcNodeAutoCreateService;
import org.springblade.mdm.program.service.NcNodeService;
import org.springblade.mdm.program.service.NcProgramApprovedService;
import org.springblade.mdm.utils.EntityUtil;
+import org.springblade.mdm.utils.ProgramFileNameParser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -38,7 +42,6 @@
*/
public void handleData(FlowProgramProperties props) {
// 鎵ц涓氬姟閫昏緫
- String instId = props.getProcessInstanceId();
NcNode packageNode;
if(FlowContants.Y.equals(props.getHasCuredProgram())){
//鏈夊浐鍖�
@@ -53,7 +56,7 @@
Integer newVersion = packageNode.genNewVersionNumber();
packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props,newVersion);
}else{
- //鍙敤锛屽崌鐗堬紙淇敼鍏跺伐搴忕増鏈級锛屽師鏉ョ殑鑺傜偣娓呴櫎
+ //鍙敤锛屽崌鐗堬紙淇敼鍏跺伐搴忕増娆★級锛屽師鏉ョ殑鑺傜偣娓呴櫎
moveToNewProcessEdition(packageNode,props);
}
}else{
@@ -98,20 +101,31 @@
packageNode.setProcessEdition(tempProps.getProcessEdition());
packageNode.setParentId(machineNode.getParentId());
packageNode.setParentIds(machineNode.getParentIds());
+ packageNode.setName(tempProps.getDrawingNo()+"-"+tempProps.getProcessNo()+"-"+tempProps.getProcessEdition());
this.ncNodeService.updateById(packageNode);
//绉诲姩绋嬪簭鑺傜偣
List<NcNode> programNodes = ncNodeService.getProgramFilesByPackageId(packageNode.getId());
for(NcNode programNode : programNodes){
+
+ programNode.setName(buildNewFilename(programNode.getName(),tempProps.getProcessEdition()));//鍚嶇О淇敼锛屽伐搴忕増娆¢儴鍒�
programNode.setParentIds(packageNode.getParentIds()+","+packageNode.getId());
programNode.setProcessEdition(tempProps.getProcessEdition());//淇敼宸ュ簭鐗堟
programNode.setVersionNumber(packageNode.getVersionNumber());
}
ncNodeService.updateBatchById(programNodes);
-
}
+ String buildNewFilename(String filename,String newProcessEdition){
+ ProgramNameVO pnameVO = ProgramFileNameParser.parseProgramName(filename);
+ String ext = FilenameUtils.getExtension(filename);
+ String name= pnameVO.getDrawingNo()+"-"+pnameVO.getProcessNo()+"-"+newProcessEdition+"-"+pnameVO.getSegmentCount()+"-"+pnameVO.getSegmentNo();
+ if(StringUtils.isNotBlank(ext)){
+ name += "."+ext;
+ }
+ return name;
+ }
/**
* 淇濆瓨瀹℃壒瀹屾垚鐨勮褰�
@@ -124,7 +138,7 @@
approved.setProgramName(packageNode.getName());
approved.setNcNodeId(packageNode.getId());//绋嬪簭鍖呰妭鐐筰d
approved.setTitle(props.getTitle());
- approved.setProgrammerId(props.getProgrammerId());
+ approved.setProgrammerId(props.getActProgrammerId());
approved.setProcessInstanceId(props.getProcessInstanceId());
approvedService.save(approved);
--
Gitblit v1.9.3