|
package org.springblade.mdm.flow.service;
|
|
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;
|
|
/**
|
* 审批记录,用于查询执行轨迹
|
*
|
* @author yangys
|
*/
|
@Slf4j
|
@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);
|
}
|
}
|
*/
|
}
|