yangys
2025-08-20 432198337fb3d8a99fadb4b7825771d68bb10b9e
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
@@ -1,7 +1,6 @@
package org.springblade.mdm.flow.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -12,9 +11,7 @@
import org.springblade.mdm.flow.entity.ApproveRecord;
import org.springblade.mdm.flow.mapper.ApproveRecordMapper;
import org.springblade.mdm.flow.vo.ApproveRecordVO;
import org.springblade.mdm.program.entity.ProcessProgRef;
import org.springblade.mdm.program.service.ProcessProgRefService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -34,7 +31,27 @@
      return this.getBaseMapper().listByNcProgramId(ncProgramId);
   }
   public void saveApproveRecords(Task task, String processInstanceId, String operateResult, String comment) {
   public void saveApproveRecords(Task task, String operateResult, String comment) {
      String processDefinitionKey = flowCommonService.getDefinitionKey(task.getProcessInstanceId());
      ApproveRecord rec = new ApproveRecord();
      rec.setTaskName(task.getName());
      rec.setComment(comment==null? StringUtils.EMPTY:comment);
      //rec.setNcProgramId(refObj.getNcProgramId());
      rec.setOperateResult(operateResult);//审批结果
      rec.setOperateTime(DateUtil.now());
      rec.setProcessInstanceId(task.getProcessInstanceId());
      rec.setProcessDefinitionKey(processDefinitionKey);
      rec.setTaskDefinitionKey(task.getTaskDefinitionKey());
      rec.setUserId(AuthUtil.getUserId());
      rec.setUserNickname(AuthUtil.getNickName());
      save(rec);
   }
   /*
   public void saveApproveRecordsOld(Task task, String processInstanceId, String operateResult, String comment) {
      String processDefinitionKey = flowCommonService.getDefinitionKey(processInstanceId);
@@ -46,7 +63,7 @@
            ApproveRecord rec = new ApproveRecord();
            rec.setTaskName(task.getName());
            rec.setComment(comment==null? StringUtils.EMPTY:comment);
            rec.setNcProgramId(refObj.getNcProgramId());
            rec.setOperateResult(operateResult);//审批结果
            rec.setOperateTime(DateUtil.now());
            rec.setProcessInstanceId(processInstanceId);
@@ -57,59 +74,22 @@
            save(rec);
         }
         //检查ncprogram为null的数据
         updateApproveRecords(processInstanceId,refList);
      }else{
         //如果还没有关联的程序数据,则插入一个programId为null的
         ApproveRecord rec = new ApproveRecord();
         rec.setTaskName(task.getName());
         rec.setTaskDefinitionId(task.getTaskDefinitionId());
         ;
         rec.setComment(comment==null? StringUtils.EMPTY:comment);
         rec.setProcessInstanceId(processInstanceId);
         rec.setProcessDefinitionKey(processDefinitionKey);
         rec.setOperateResult(operateResult);
         rec.setOperateTime(DateUtil.now());
         rec.setNcProgramId(null);//空的程序id
         rec.setUserId(AuthUtil.getUserId());
         rec.setUserNickname(AuthUtil.getNickName());
         save(rec);
      }
   }
   /**
    * 更新以前无文件时候的数据。
    * @param processInstanceId
    */
   void updateApproveRecords(String processInstanceId,List<ProcessProgRef> refList) {
      if(refList.isEmpty()) {
         return;
      }
      List<ApproveRecord> records = this.lambdaQuery().isNull(ApproveRecord::getNcProgramId).eq(ApproveRecord::getProcessInstanceId, processInstanceId).list();
      if(records.isEmpty()) {
         return;
      }
      for(ApproveRecord record:records) {
         for(int j=0;j< refList.size();j++) {
            ProcessProgRef refObj = refList.get(j);
            ApproveRecord record2 = new ApproveRecord();
            BeanUtils.copyProperties(record, record2);
            record2.setNcProgramId(refObj.getNcProgramId());
            if(j>0){//后续数据需要新增数据
               record2.setId(null);
               save(record2);
            }else{//第一条是更新原纪录
               updateById(record2);
            }
         }
      }
   }
   */
}