fix: 79961 企标更改流程--流程完成后没有生成修改单
This commit is contained in:
+40
-23
@@ -2,9 +2,11 @@ package com.jero.modules.activiti.process.esChange.listener;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.CommonAPI;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.system.vo.SysDictItemCore;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
@@ -15,6 +17,7 @@ import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||
import com.jero.modules.activiti.process.esChange.service.EsChangeOpinionService;
|
||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.util.ExcelUtils;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
@@ -94,6 +97,12 @@ public class ProcessESChangeEndListener implements ExecutionListener {
|
||||
@Resource
|
||||
private EsChangeOpinionService changeOpinionService;
|
||||
|
||||
@Resource
|
||||
private ExcelUtils excelUtils;
|
||||
|
||||
@Resource
|
||||
private CommonAPI commonAPI;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
log.info("企标更改流程结束 监听执行器开始执行");
|
||||
@@ -299,47 +308,55 @@ public class ProcessESChangeEndListener implements ExecutionListener {
|
||||
}
|
||||
|
||||
private void setSecondTableContents(XWPFTable table, ProcessEsChange change) {
|
||||
List<SysDictItemCore> listDict = commonAPI.getDictItemAll();
|
||||
// 找到所有节点审批记录
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, change.getProcessInstanceId());
|
||||
queryWrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue());
|
||||
queryWrapper.orderByAsc(ProcessApprovalRecord::getCreateTime);
|
||||
List<ProcessApprovalRecord> records = approvalRecordService.list(queryWrapper);
|
||||
Map<String, ProcessApprovalRecord> userMap = records.stream()
|
||||
.collect(Collectors.toMap(ProcessApprovalRecord::getTaskName, e -> {
|
||||
SysUser user;
|
||||
if (StrUtil.isNotBlank(e.getTransferBy())) {
|
||||
user = sysUserService.getById(e.getTransferBy());
|
||||
} else {
|
||||
user = sysUserService.getById(e.getUserId());
|
||||
}
|
||||
e.setUserId(user.getRealname());
|
||||
return e;
|
||||
}));
|
||||
Map<String, List<ProcessApprovalRecord>> userMap = records.stream()
|
||||
.collect(Collectors.groupingBy(ProcessApprovalRecord::getTaskName));
|
||||
|
||||
// 获取表格的行列表
|
||||
List<XWPFTableRow> rows = table.getRows();
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
if (!rows.isEmpty()) {
|
||||
ProcessApprovalRecord recordOne = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_INIT);
|
||||
ProcessApprovalRecord recordTwo = userMap.get(EsChangeTaskNameConstant.RELATED_USER_CHECK);
|
||||
ProcessApprovalRecord recordThree = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_APPROVAL);
|
||||
ProcessApprovalRecord recordFour = userMap.get(EsChangeTaskNameConstant.STANDARDIZATION_APPROVAL);
|
||||
ProcessApprovalRecord recordFive = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_LEADER_APPROVAL);
|
||||
List<ProcessApprovalRecord> recordListOne = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_INIT);
|
||||
List<ProcessApprovalRecord> recordListTwo = userMap.get(EsChangeTaskNameConstant.RELATED_USER_CHECK);
|
||||
List<ProcessApprovalRecord> recordListThree = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_APPROVAL);
|
||||
List<ProcessApprovalRecord> recordListFour = userMap.get(EsChangeTaskNameConstant.STANDARDIZATION_APPROVAL);
|
||||
List<ProcessApprovalRecord> recordListFive = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_LEADER_APPROVAL);
|
||||
|
||||
recordListOne = recordListOne.stream().sorted((o1, o2) -> o2.getEndTime().compareTo(o1.getEndTime())).collect(Collectors.toList());
|
||||
recordListTwo = recordListTwo.stream().sorted((o1, o2) -> o2.getEndTime().compareTo(o1.getEndTime())).collect(Collectors.toList());
|
||||
recordListThree = recordListThree.stream().sorted((o1, o2) -> o2.getEndTime().compareTo(o1.getEndTime())).collect(Collectors.toList());
|
||||
recordListFour = recordListFour.stream().sorted((o1, o2) -> o2.getEndTime().compareTo(o1.getEndTime())).collect(Collectors.toList());
|
||||
recordListFive = recordListFive.stream().sorted((o1, o2) -> o2.getEndTime().compareTo(o1.getEndTime())).collect(Collectors.toList());
|
||||
|
||||
ProcessApprovalRecord recordOne = recordListOne.get(0);
|
||||
ProcessApprovalRecord recordTwo = recordListTwo.get(0);
|
||||
ProcessApprovalRecord recordThree = recordListThree.get(0);
|
||||
ProcessApprovalRecord recordFour = recordListFour.get(0);
|
||||
ProcessApprovalRecord recordFive = recordListFive.get(0);
|
||||
|
||||
String recordOneUser = excelUtils.translateDictValue("id", "CONCAT(realname, '(', username, ')')", "sys_user", recordOne.getUserId(), listDict);
|
||||
String recordTwoUser = excelUtils.translateDictValue("id", "CONCAT(realname, '(', username, ')')", "sys_user", recordTwo.getUserId(), listDict);
|
||||
String recordThreeUser = excelUtils.translateDictValue("id", "CONCAT(realname, '(', username, ')')", "sys_user", recordThree.getUserId(), listDict);
|
||||
String recordFourUser = excelUtils.translateDictValue("id", "CONCAT(realname, '(', username, ')')", "sys_user", recordFour.getUserId(), listDict);
|
||||
String recordFiveUser = excelUtils.translateDictValue("id", "CONCAT(realname, '(', username, ')')", "sys_user", recordFive.getUserId(), listDict);
|
||||
// 设计
|
||||
setContent(rows, 0, 1, recordOne.getUserId(), false, true, true);
|
||||
setContent(rows, 0, 1, recordOneUser, false, true, true);
|
||||
setContent(rows, 1, 1, formatter.format(recordOne.getEndTime()), false, true, true);
|
||||
// 校对
|
||||
setContent(rows, 0, 3, recordTwo.getUserId(), false, true, true);
|
||||
setContent(rows, 0, 3, recordTwoUser, false, true, true);
|
||||
setContent(rows, 1, 3, formatter.format(recordTwo.getEndTime()), false, true, true);
|
||||
// 审核
|
||||
setContent(rows, 0, 5, recordThree.getUserId(), false, true, true);
|
||||
setContent(rows, 0, 5, recordThreeUser, false, true, true);
|
||||
setContent(rows, 1, 5, formatter.format(recordThree.getEndTime()), false, true, true);
|
||||
// 标准化
|
||||
setContent(rows, 0, 7, recordFour.getUserId(), false, true, true);
|
||||
setContent(rows, 0, 7, recordFourUser, false, true, true);
|
||||
setContent(rows, 1, 7, formatter.format(recordFour.getEndTime()), false, true, true);
|
||||
// 批准
|
||||
setContent(rows, 0, 11, recordFive.getUserId(), false, true, true);
|
||||
setContent(rows, 0, 11, recordFiveUser, false, true, true);
|
||||
setContent(rows, 1, 11, formatter.format(recordFive.getEndTime()), false, true, true);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user