From f13fcaa8c4b0f413d8ee100adcb67669db183c68 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 23 八月 2025 16:47:58 +0800
Subject: [PATCH] 固化程序不可用锁定
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java | 97 +++++++-----------------------------------------
1 files changed, 14 insertions(+), 83 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 f0efed3..e77b85f 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
@@ -47,100 +47,31 @@
String programPkgName = NcNodeService.genProgramName(props.getDrawingNo(),props.getProcessNo());
//NcNode packageNode =createProgramNodes(props);
NcNode packageNode;// = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
- if(FlowContants.Y.equals(props.getHasCuredProgram()) && FlowContants.Y.equals(props.getCureProgramUseable())){
- //鏈夊浐鍖栵紝涓旂▼搴忓彲鐢�
+ if(FlowContants.Y.equals(props.getHasCuredProgram())){
+ //鏈夊浐鍖�
packageNode = ncNodeService.getById(props.getCuredNodeId());
+
+ if(FlowContants.N.equals(props.getCureProgramUseable())) {
+ //绋嬪簭涓嶅彲鐢�
+ //鍘熸潵鐨勫浐鍖栬妭鐐归攣瀹�
+ packageNode.lock();
+ ncNodeService.updateById(packageNode);
+
+ Integer newVersion = packageNode.genNewVersionNumber();
+ packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
+ packageNode.setVersionNumber(newVersion);
+ ncNodeService.updateById(packageNode);
+ }
}else{
packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
}
- if(FlowContants.Y.equals(props.getHasCuredProgram()) && FlowContants.N.equals(props.getCureProgramUseable())){
- //鏈夊浐鍖� 浣嗕笉鍙敤锛岃瘯鍒囪妭鐐圭殑鏂拌妭鐐� 鐗堟湰鍙蜂负 鍥哄寲鐗堟湰鍙�+1
- NcNode curedPackageNode = ncNodeService.getById(props.getCuredNodeId());
- packageNode.setVersionNumber(curedPackageNode.genNewVersionNumber());
- ncNodeService.updateById(packageNode);
- }
- //NcNode packageNode;
- /*
- if(FlowContants.Y.equals(props.getHasCuredProgram())){
- //鏈夊浐鍖栵紝涓旂▼搴忓彲鐢紝浠庡浐鍖栨爲鏌ヨ鑺傜偣.浣跨敤娴佺▼涓繚瀛樼殑鑺傜偣
- if(FlowContants.Y.equals(props.getCureProgramUseable())) {
- packageNode = ncNodeService.getById(props.getCuredNodeId());
- }else{
- //涓嶅彲鐢紝鍘昏瘯鍒囨壘鏈�鏂拌妭鐐�
- //packageNode = ncNodeService.getLastEditionCuredProgramPackage(programPkgName,props.getProcessEdition());
- packageNode = ncNodeService.getLastEditionTryingProgramPackage(programPkgName,props.getProcessEdition());
- //涓嶅彲鐢ㄧ殑鍥哄寲绋嬪簭閿佸畾
- packageNode.lock();
- ncNodeService.updateById(packageNode);
- }
- }else if(Func.isNotBlank(props.getDeviation())){
- //鏈夊亸绂诲崟
- packageNode = ncNodeService.getLastEditionDeviationProgramPackage(programPkgName,props.getProcessEdition());
- }else{
- //鏅�氳瘯鍒�
- packageNode = ncNodeService.getLastEditionTryingProgramPackage(programPkgName,props.getProcessEdition());
- }
- */
addApproveTable(packageNode,props);
updateApproveRecordNodeId(instId, packageNode.getId());
log.info("鏅�氭祦绋嬪凡瀹屾垚in DispatchFinishListener");
}
- /**
- * 鑷姩鍒涘缓绋嬪簭鑺傜偣
- * @param progProperties 娴佺▼灞炴��
- */
- NcNode createProgramNodes(FlowProgramProperties progProperties){
- NcNode programPkgNode = null;
- if(FlowContants.N.equals(progProperties.getHasCuredProgram())) {
- //鏃犲浐鍖�:(璇曞垏鎴栬�呭亸绂�)
- programPkgNode = ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties);
- }else{
- if(FlowContants.N.equals(progProperties.getCureProgramUseable())) {
- programPkgNode = ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties);//鏆傛椂涓庝笂闈娇鐢ㄧ浉鍚屼唬鐮侊紝createNodeTreeWithProgram涓尯鍒嗕簡鏅�氳瘯鍒囧拰涓嶅彲鐢ㄧ殑鎯呭喌
- }
- //鏈夊浐鍖栵紝绋嬪簭涓嶅彲鐢�,搴旇鍘昏瘯鍒囧缓绔嬭妭鐐�
- /*
- if(FlowContants.N.equals(progProperties.getCureProgramUseable())) {
- //鍥哄寲绋嬪簭涓嶅彲鐢紝闇�瑕侀噸鏂板缓绔嬬▼搴忓寘鍚嶅拰鏂囦欢鑺傜偣;鍙敤鎯呭喌鍦ㄦ祦绋嬪鎵逛腑宸茬粡鍗囩骇杩囪妭鐐逛簡
- NcNode curedProgramPackage = ncNodeService.getById(progProperties.getCuredNodeId());
-
- NcNode newCuredPkgNode = new NcNode();
- BeanUtils.copyProperties(curedProgramPackage, newCuredPkgNode);
- EntityUtil.clearBaseProperties(newCuredPkgNode);
- newCuredPkgNode.setIsLastEdition(1);
- newCuredPkgNode.setIsLocked(0);
- newCuredPkgNode.upgradeVersionNumber();
- ncNodeService.save(newCuredPkgNode);
-
- //鏂扮殑娴佺▼瀵瑰簲鐨勬枃浠舵洿鏂板埌鏂拌妭鐐逛笅
- List<FlowProgramFile> newFlowFileList = flowProgramFileService.listByProcessInstanceId(progProperties.getProcessInstanceId());
- for (FlowProgramFile newFlowFile : newFlowFileList) {
- NcNode newProgramNode = new NcNode();
- BeanUtils.copyProperties(newCuredPkgNode, newProgramNode);
- EntityUtil.clearBaseProperties(newProgramNode);
-
- newProgramNode.setName(newFlowFile.getName());
- newProgramNode.setNodeType(NcNode.TYPE_PROGRAM_FILE);
- newProgramNode.setParentId(newCuredPkgNode.getId());
- newProgramNode.setIsLastEdition(1);
- newProgramNode.setIsLocked(0);
- newProgramNode.setParentIds(newCuredPkgNode.getParentIds() + "," + newCuredPkgNode.getId());
- newProgramNode.setFlowProgramFileId(newFlowFile.getId());
- ncNodeService.save(newProgramNode);
- }
-
- //鍘熻妭鐐规洿鏂颁负鑰佺増鏈紝閿佸畾
- curedProgramPackage.setIsLastEdition(0);
- curedProgramPackage.setIsLocked(1);
- ncNodeService.updateById(curedProgramPackage);
- }*/
- }
-
- return programPkgNode;
- }
/**
* 淇濆瓨瀹℃壒瀹屾垚鐨勮褰�
--
Gitblit v1.9.3