fix: 标准化发起导入缺失字段
This commit is contained in:
+40
-9
@@ -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()));
|
||||
|
||||
Reference in New Issue
Block a user