From 264222fc237374a5544b8afe5ab49fbe0184f473 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 09 八月 2025 22:51:42 +0800
Subject: [PATCH] 流程节点创建修改
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java | 46 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
index dac2945..3d508da 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
@@ -3,14 +3,20 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.delegate.DelegateExecution;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.mdm.commons.contants.ParamContants;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springblade.mdm.program.entity.NcNode;
-import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.service.NcNodeAutoCreateService;
import org.springblade.mdm.program.service.NcNodeService;
+import org.springblade.system.feign.ISysClient;
import org.springframework.stereotype.Component;
+import java.time.LocalDate;
+import java.util.Arrays;
+import java.util.Date;
import java.util.List;
@Slf4j
@@ -20,6 +26,11 @@
private final NcNodeService nodeService;
private final NcNodeAutoCreateService ncNodeAutoCreateService;
private final FlowCommonService flowCommonService;
+ private final ISysClient sysClient;
+ /**
+ * 榛樿鏈夋晥鏈熼棿锛堟湀鏁帮級,2骞�
+ */
+ private static final int DEFAULT_VALID_MONTH = 24;
/**
* 鍥哄寲瀹℃壒閫氳繃澶勭悊浠诲姟锛�
* @param execution 娴佺▼execution
@@ -29,7 +40,6 @@
//鍥哄寲绋嬪簭妫�鏌ユ湁鏁堟湡锛�
//1.灏嗘祦绋嬭缃�
dealWithNode(execution.getProcessInstanceId());
-
}
/**
@@ -41,10 +51,12 @@
//绋嬪簭鍖呰妭鐐� 璁剧疆鏈凡鍥哄寲
NcNode pkgNode = nodeService.lambdaQuery().eq(NcNode::getProcessInstanceId, processInstanceId).one();
pkgNode.setIsCured(1);
+ //璁剧疆杩囨湡鏃ユ湡
+ pkgNode.setExpireDate(calculateExpireDate());
+ nodeService.updateById(pkgNode);
- List<NcNode> historyNodes = nodeService.getNodeHistorys(pkgNode);
+ List<NcNode> historyNodes = nodeService.getNodeHistory(pkgNode);
moveNodeToCuredTree(pkgNode,historyNodes,flowCommonService.getProgramProperties(processInstanceId));
-
}
/**
@@ -52,12 +64,17 @@
* @param historyNodes
*/
void moveNodeToCuredTree(NcNode pkgNode,List<NcNode> historyNodes, FlowProgramProperties programProperties) {
- NcNode node = historyNodes.get(0);
//鍒涘缓鑺傜偣鍒版満搴婄骇鍒�.(鍥哄寲鏍�)
NcNode machineNode = ncNodeAutoCreateService.createNodeTreeToMachine(programProperties);
//绉诲姩鍒板浐鍖栨爲涓嬬殑鏈哄簥鑺傜偣涓嬪眰
String newParentIds = machineNode.getParentIds()+","+machineNode.getId();
+
+ //鏇存柊鏈哄簥 涓嬪睘鑺傜偣鐨勬暟鎹� 涓烘棫鐗堟湰锛岄攣瀹�(鏈�鏂扮増鏈�=0锛宭ock=1)
+ this.nodeService.lambdaUpdate().likeRight(NcNode::getParentIds, newParentIds)
+ .in(NcNode::getNodeType, Arrays.asList(NcNode.TYPE_PROGRAM_PACKAGE,NcNode.TYPE_PROGRAM_FILE))
+ .set(NcNode::getIsLastEdition,0).set(NcNode::getIsLocked,1).update();
+
for(NcNode hisNode : historyNodes){
if(!hisNode.getId().equals(pkgNode.getId())){
hisNode.setIsLastEdition(0);
@@ -74,7 +91,22 @@
}
nodeService.updateBatchById(historyNodes);
-
-
}
+
+ /**
+ * 璁$畻鏈夋晥鏈�
+ * @return
+ */
+ private Date calculateExpireDate() {
+ R<String> validMonResult = sysClient.getParamValue(ParamContants.CURE_VALID_MONTH_KEY);
+
+ int month = DEFAULT_VALID_MONTH;
+ if(validMonResult.isSuccess() && validMonResult.getData()!=null){
+ month = Integer.parseInt(validMonResult.getData());
+ }
+
+ LocalDate now = LocalDate.now();
+ return DateUtil.toDate(now.plusMonths(month));
+ }
+
}
--
Gitblit v1.9.3