From ccb7770bd95e4730f128b975b36c045ec611672f Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 08 七月 2025 19:39:53 +0800
Subject: [PATCH] 调整审批记录的保存方式

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
index 5160903..9b16247 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.flowable.task.api.Task;
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -28,11 +29,15 @@
 @AllArgsConstructor
 public class ApproveRecordService extends BizServiceImpl<ApproveRecordMapper, ApproveRecord> {
 	private final ProcessProgRefService processProgRefService;
+	private final FlowCommonService flowCommonService;
 	public List<ApproveRecordVO> listByNcProgramId(Long ncProgramId) {
 		return this.getBaseMapper().listByNcProgramId(ncProgramId);
 	}
 
 	public void saveApproveRecords(Task task, String processInstanceId, String operateResult, String comment) {
+
+		String processDefinitionKey = flowCommonService.getDefinitionKey(processInstanceId);
+
 		LambdaQueryWrapper<ProcessProgRef> queryWrapper = new LambdaQueryWrapper<>();
 		queryWrapper.eq(ProcessProgRef::getProcessInstanceId, processInstanceId);
 		List<ProcessProgRef> refList =  processProgRefService.list(queryWrapper);
@@ -40,11 +45,12 @@
 			for (ProcessProgRef refObj : refList) {
 				ApproveRecord rec = new ApproveRecord();
 				rec.setTaskName(task.getName());
-				rec.setComment(comment);
+				rec.setComment(comment==null? StringUtils.EMPTY:comment);
 				rec.setNcProgramId(refObj.getNcProgramId());
 				rec.setOperateResult(operateResult);//瀹℃壒缁撴灉
 				rec.setOperateTime(DateUtil.now());
 				rec.setProcessInstanceId(processInstanceId);
+				rec.setProcessDefinitionKey(processDefinitionKey);
 				rec.setUserId(AuthUtil.getUserId());
 				rec.setUserNickname(AuthUtil.getNickName());
 
@@ -57,7 +63,9 @@
 			//濡傛灉杩樻病鏈夊叧鑱旂殑绋嬪簭鏁版嵁锛屽垯鎻掑叆涓�涓猵rogramId涓簄ull鐨�
 			ApproveRecord rec = new ApproveRecord();
 			rec.setTaskName(task.getName());
+			rec.setComment(comment==null? StringUtils.EMPTY:comment);
 			rec.setProcessInstanceId(processInstanceId);
+			rec.setProcessDefinitionKey(processDefinitionKey);
 			rec.setOperateResult(operateResult);
 			rec.setOperateTime(DateUtil.now());
 			rec.setNcProgramId(null);//绌虹殑绋嬪簭id
@@ -68,6 +76,10 @@
 		}
 	}
 
+	/**
+	 * 鏇存柊浠ュ墠鏃犳枃浠舵椂鍊欑殑鏁版嵁銆�
+	 * @param processInstanceId
+	 */
 	void updateApproveRecords(String processInstanceId) {
 		LambdaQueryWrapper<ProcessProgRef> queryWrapper = new LambdaQueryWrapper<>();
 		queryWrapper.eq(ProcessProgRef::getProcessInstanceId, processInstanceId).isNull(ProcessProgRef::getNcProgramId);
@@ -89,10 +101,10 @@
 				BeanUtils.copyProperties(record, record2);
 				record2.setNcProgramId(refObj.getNcProgramId());
 
-				if(j>0){
+				if(j>0){//鍚庣画鏁版嵁闇�瑕佹柊澧炴暟鎹�
 					record2.setId(null);
 					save(record2);
-				}else{
+				}else{//绗竴鏉℃槸鏇存柊鍘熺邯褰�
 					updateById(record2);
 				}
 			}

--
Gitblit v1.9.3