fix: 标准化发起导入缺失字段

This commit is contained in:
2023-12-15 10:36:03 +08:00
parent 8dfbda99c6
commit 05d50eaade
@@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.esAnnualInit.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.CommonAPI;
import com.jero.common.constant.enums.YesOrNoEnum;
@@ -235,19 +236,25 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
@Override
public void approvalProcess(AnnualInitDataVO annualInitData, boolean pass) {
String userId = UserUtils.getUserId();
CommonVO commonVO = annualInitData.getCommonVO();
String taskId = commonVO.getTaskId();
// 获取task
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
throw new JeroBootException("taskId为空或任务不存在");
}
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
// 获取执行id
String executionId = task.getExecutionId();
String taskName = task.getName();
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
List<ProcessEsAnnualInit> dataList;
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
LambdaUpdateWrapper<ProcessEsAnnualInit> updateWrapper = new LambdaUpdateWrapper<>();
wrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
wrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
updateWrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
updateWrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
switch (taskName) {
case CONTACT_USER_SELECT:
dataList = annualInitData.getDataList();
@@ -257,9 +264,19 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
List<String> approvalUserList = new ArrayList<>();
dataList.forEach(d -> approvalUserList.add(d.getApprovalUser()));
taskService.setVariable(taskId, "approvalUserList", approvalUserList);
dataList.forEach(data -> data.setExecutionId(executionId));
saveOrUpdateBatch(dataList);
} else {
if (dataList == null) {
// 找到所有数据,然后设置驳回标志位
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
updateWrapper.set(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
update(updateWrapper);
} else {
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
saveOrUpdateBatch(dataList);
}
}
dataList.forEach(data -> data.setExecutionId(executionId));
saveOrUpdateBatch(dataList);
break;
case STANDARD_ENGINEER_EDIT:
dataList = annualInitData.getDataList();
@@ -274,6 +291,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
// 设置本地变量
List<String> mainDraftUserList = new ArrayList<>();
dataList.forEach(d -> mainDraftUserList.add(d.getPrcMainDraftUser()));
dataList.forEach(data -> data.setExecutionId(executionId));
taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserList);
} else {
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
@@ -306,8 +324,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
case STANDARD_ENGINEER_COLLECT:
// 根据流程ID删除所有数据后新增
dataList = annualInitData.getDataList();
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
remove(wrapper);
saveBatch(dataList);
break;
@@ -325,9 +341,24 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
}
@Override
public void batchReject(AnnualInitDataVO annualInitDataVO, String prcId) {
// TODO 将对应数据找出来,然后设置驳回标志位
this.approvalProcess(annualInitDataVO, false);
public void batchReject(AnnualInitDataVO annualInitData, String ids) {
CommonVO commonVO = annualInitData.getCommonVO();
String processInstanceId = commonVO.getProcessInstanceId();
String taskId = commonVO.getTaskId();
// 获取task
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
throw new JeroBootException("taskId为空或任务不存在");
}
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
wrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
wrapper.in(ProcessEsAnnualInit::getId, Arrays.asList(ids.split(",")));
List<ProcessEsAnnualInit> list = list(wrapper);
annualInitData.setDataList(list);
// 将对应数据找出来
this.approvalProcess(annualInitData, false);
}
@Override
@@ -435,7 +466,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
item.setContactUser(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getContactUser(), listDict));
item.setStandardType(excelUtils.translateDictValue("esp_standard_type", item.getStandardType(), listDict));
item.setEnStandardCode(excelUtils.translateDictValue("enterprise_standard_code", item.getEnStandardCode(), listDict));
item.setEnStandardClassification(excelUtils.translateDictValue("standard_category_code", item.getEnStandardClassification(), listDict));
item.setEnStandardClassification(excelUtils.translateDictValue("standard_grade_classify", item.getEnStandardClassification(), listDict));
item.setComponentName(excelUtils.translateDictValue("part_name", item.getComponentName(), listDict));
item.setProjectType(excelUtils.translateDictValue("esp_revision_type", item.getProjectType(), listDict));
item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));