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 cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.api.vo.Result;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.DictModel;
|
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.entity.ProcessApprovalRecord;
|
||||||
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
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.EsChangeOpinionService;
|
||||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
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.constant.FieldCommon;
|
||||||
import com.jero.modules.laws.common.service.ILawsCommonService;
|
import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||||
@@ -94,6 +97,12 @@ public class ProcessESChangeEndListener implements ExecutionListener {
|
|||||||
@Resource
|
@Resource
|
||||||
private EsChangeOpinionService changeOpinionService;
|
private EsChangeOpinionService changeOpinionService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ExcelUtils excelUtils;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CommonAPI commonAPI;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notify(DelegateExecution delegateExecution) {
|
public void notify(DelegateExecution delegateExecution) {
|
||||||
log.info("企标更改流程结束 监听执行器开始执行");
|
log.info("企标更改流程结束 监听执行器开始执行");
|
||||||
@@ -299,47 +308,55 @@ public class ProcessESChangeEndListener implements ExecutionListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setSecondTableContents(XWPFTable table, ProcessEsChange change) {
|
private void setSecondTableContents(XWPFTable table, ProcessEsChange change) {
|
||||||
|
List<SysDictItemCore> listDict = commonAPI.getDictItemAll();
|
||||||
// 找到所有节点审批记录
|
// 找到所有节点审批记录
|
||||||
LambdaQueryWrapper<ProcessApprovalRecord> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ProcessApprovalRecord> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, change.getProcessInstanceId());
|
queryWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, change.getProcessInstanceId());
|
||||||
queryWrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue());
|
|
||||||
queryWrapper.orderByAsc(ProcessApprovalRecord::getCreateTime);
|
|
||||||
List<ProcessApprovalRecord> records = approvalRecordService.list(queryWrapper);
|
List<ProcessApprovalRecord> records = approvalRecordService.list(queryWrapper);
|
||||||
Map<String, ProcessApprovalRecord> userMap = records.stream()
|
Map<String, List<ProcessApprovalRecord>> userMap = records.stream()
|
||||||
.collect(Collectors.toMap(ProcessApprovalRecord::getTaskName, e -> {
|
.collect(Collectors.groupingBy(ProcessApprovalRecord::getTaskName));
|
||||||
SysUser user;
|
|
||||||
if (StrUtil.isNotBlank(e.getTransferBy())) {
|
|
||||||
user = sysUserService.getById(e.getTransferBy());
|
|
||||||
} else {
|
|
||||||
user = sysUserService.getById(e.getUserId());
|
|
||||||
}
|
|
||||||
e.setUserId(user.getRealname());
|
|
||||||
return e;
|
|
||||||
}));
|
|
||||||
// 获取表格的行列表
|
// 获取表格的行列表
|
||||||
List<XWPFTableRow> rows = table.getRows();
|
List<XWPFTableRow> rows = table.getRows();
|
||||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
if (!rows.isEmpty()) {
|
if (!rows.isEmpty()) {
|
||||||
ProcessApprovalRecord recordOne = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_INIT);
|
List<ProcessApprovalRecord> recordListOne = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_INIT);
|
||||||
ProcessApprovalRecord recordTwo = userMap.get(EsChangeTaskNameConstant.RELATED_USER_CHECK);
|
List<ProcessApprovalRecord> recordListTwo = userMap.get(EsChangeTaskNameConstant.RELATED_USER_CHECK);
|
||||||
ProcessApprovalRecord recordThree = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_APPROVAL);
|
List<ProcessApprovalRecord> recordListThree = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_APPROVAL);
|
||||||
ProcessApprovalRecord recordFour = userMap.get(EsChangeTaskNameConstant.STANDARDIZATION_APPROVAL);
|
List<ProcessApprovalRecord> recordListFour = userMap.get(EsChangeTaskNameConstant.STANDARDIZATION_APPROVAL);
|
||||||
ProcessApprovalRecord recordFive = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_LEADER_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, 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, 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, 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, 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);
|
setContent(rows, 1, 11, formatter.format(recordFive.getEndTime()), false, true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user