yangys
2025-08-17 0ef4cc755bddd87799b8bfdd65c8123df6e149d0
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
@@ -3,10 +3,15 @@
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;
import org.springblade.core.tool.utils.DateUtil;
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.service.ProcessProgRefService;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -20,8 +25,71 @@
@Service
@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 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);
      LambdaQueryWrapper<ProcessProgRef> queryWrapper = new LambdaQueryWrapper<>();
      queryWrapper.eq(ProcessProgRef::getProcessInstanceId, processInstanceId);
      List<ProcessProgRef> refList =  processProgRefService.list(queryWrapper);
      if(!refList.isEmpty()) {
         for (ProcessProgRef refObj : refList) {
            ApproveRecord rec = new ApproveRecord();
            rec.setTaskName(task.getName());
            rec.setComment(comment==null? StringUtils.EMPTY:comment);
            rec.setOperateResult(operateResult);//审批结果
            rec.setOperateTime(DateUtil.now());
            rec.setProcessInstanceId(processInstanceId);
            rec.setProcessDefinitionKey(processDefinitionKey);
            rec.setUserId(AuthUtil.getUserId());
            rec.setUserNickname(AuthUtil.getNickName());
            save(rec);
         }
      }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.setUserId(AuthUtil.getUserId());
         rec.setUserNickname(AuthUtil.getNickName());
         save(rec);
      }
   }
   */
}