From 55e316d9f3ee4e3fd0ae21b193efa7b358a0ae00 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 23 八月 2025 00:17:41 +0800
Subject: [PATCH] 不可用流程修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java | 59 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 44 insertions(+), 15 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 2dbcd42..f0efed3 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
@@ -45,22 +45,44 @@
String instId = props.getProcessInstanceId();
String programPkgName = NcNodeService.genProgramName(props.getDrawingNo(),props.getProcessNo());
- createProgramNodes(props);
-
- String processEdition = props.getProcessEdition();
- //TODO 鍋忕鍗曪紝鍜屽凡缁忓浐鍖栫殑绋嬪簭锛屾病鏈夊鐞�,:宸茬粡澶勭悊娌℃湁楠岃瘉
- NcNode packageNode;
+ //NcNode packageNode =createProgramNodes(props);
+ NcNode packageNode;// = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
if(FlowContants.Y.equals(props.getHasCuredProgram()) && FlowContants.Y.equals(props.getCureProgramUseable())){
- //鏈夊浐鍖栵紝涓旂▼搴忓彲鐢紝浠庡浐鍖栨爲鏌ヨ鑺傜偣
- packageNode = ncNodeService.getLastEditionCuredProgramPackage(programPkgName,props.getProcessEdition());
+ //鏈夊浐鍖栵紝涓旂▼搴忓彲鐢�
+ packageNode = ncNodeService.getById(props.getCuredNodeId());
+
+ }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");
@@ -70,15 +92,20 @@
* 鑷姩鍒涘缓绋嬪簭鑺傜偣
* @param progProperties 娴佺▼灞炴��
*/
- void createProgramNodes(FlowProgramProperties progProperties){
+ NcNode createProgramNodes(FlowProgramProperties progProperties){
+ NcNode programPkgNode = null;
if(FlowContants.N.equals(progProperties.getHasCuredProgram())) {
- //鏃犲浐鍖�(璇曞垏鎴栬�呭亸绂�)
- ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties);
+ //鏃犲浐鍖�:(璇曞垏鎴栬�呭亸绂�)
+ 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(Func.toLong(progProperties.getCuredNodeId()));
+ NcNode curedProgramPackage = ncNodeService.getById(progProperties.getCuredNodeId());
NcNode newCuredPkgNode = new NcNode();
BeanUtils.copyProperties(curedProgramPackage, newCuredPkgNode);
@@ -109,8 +136,10 @@
curedProgramPackage.setIsLastEdition(0);
curedProgramPackage.setIsLocked(1);
ncNodeService.updateById(curedProgramPackage);
- }
+ }*/
}
+
+ return programPkgNode;
}
/**
--
Gitblit v1.9.3