feat: 年度制修订-标准化发起二级驳回
This commit is contained in:
+1
@@ -9,6 +9,7 @@ public class AnnualInitTaskNameConstant {
|
||||
public static final String STANDARD_ENGINEER_INIT = "标准化工程师发起";
|
||||
public static final String CONTACT_USER_SELECT = "部所联络人选取审批人";
|
||||
public static final String STANDARD_ENGINEER_EDIT = "标准化工程师修改调整";
|
||||
public static final String STANDARD_ENGINEER_SECOND_EDIT = "标准化工程师二次修改调整";
|
||||
public static final String MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE = "主起草单位主管级领导审批下发";
|
||||
public static final String CONTACT_USER_EDIT = "部所联络人修改调整";
|
||||
public static final String MAIN_DRAFT_WRITE = "主起草人填写信息";
|
||||
|
||||
+4
@@ -337,6 +337,10 @@ public class ProcessEsAnnualInit implements Serializable {
|
||||
@Dict(dicCode = "YN")
|
||||
private String rejectFlag;
|
||||
|
||||
@ApiModelProperty(value = "二级驳回标识")
|
||||
@Dict(dicCode = "YN")
|
||||
private String rejectSecondFlag;
|
||||
|
||||
/**
|
||||
* 执行id
|
||||
*/
|
||||
|
||||
+61
-7
@@ -207,6 +207,11 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
case CONTACT_USER_SELECT:
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
||||
break;
|
||||
case STANDARD_ENGINEER_SECOND_EDIT:
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
||||
wrapper.eq(ProcessEsAnnualInit::getRejectSecondFlag, YesOrNoEnum.YES.getValue());
|
||||
break;
|
||||
case STANDARD_ENGINEER_EDIT:
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
||||
@@ -270,6 +275,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
Map<String, Object> userMap = new HashMap<>();
|
||||
boolean batchDelFlag = StrUtil.isNotBlank(annualInitData.getBatchRejectIds());
|
||||
switch (taskName) {
|
||||
case CONTACT_USER_SELECT:
|
||||
dataList = annualInitData.getDataList();
|
||||
@@ -298,10 +304,33 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
}
|
||||
}
|
||||
break;
|
||||
case STANDARD_ENGINEER_SECOND_EDIT:
|
||||
dataList = annualInitData.getDataList();
|
||||
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
|
||||
// 先删后增
|
||||
if (batchDelFlag) {
|
||||
saveOrUpdateBatch(dataList);
|
||||
} else {
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
wrapper.eq(ProcessEsAnnualInit::getRejectSecondFlag, YesOrNoEnum.YES.getValue());
|
||||
remove(wrapper);
|
||||
saveBatch(dataList);
|
||||
}
|
||||
break;
|
||||
case STANDARD_ENGINEER_EDIT:
|
||||
dataList = annualInitData.getDataList();
|
||||
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
|
||||
saveOrUpdateBatch(dataList);
|
||||
// 先删后增
|
||||
if (batchDelFlag) {
|
||||
saveOrUpdateBatch(dataList);
|
||||
} else {
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
||||
remove(wrapper);
|
||||
saveBatch(dataList);
|
||||
}
|
||||
break;
|
||||
case MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE:
|
||||
dataList = annualInitData.getDataList();
|
||||
@@ -312,6 +341,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
Set<String> mainDraftUserSet = new HashSet<>();
|
||||
dataList.forEach(d -> mainDraftUserSet.add(d.getPrcMainDraftUser()));
|
||||
dataList.forEach(data -> data.setExecutionId(executionId));
|
||||
saveOrUpdateBatch(dataList);
|
||||
taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserSet);
|
||||
// 保存人员
|
||||
userMap.put("mainDraftUserList", String.join(",", mainDraftUserSet));
|
||||
@@ -326,11 +356,26 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
break;
|
||||
case CONTACT_USER_EDIT:
|
||||
dataList = annualInitData.getDataList();
|
||||
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
|
||||
taskService.setVariable(taskId, "approvalUser", annualInitData.getDataList().get(0).getApprovalUser());
|
||||
dataList.forEach(data -> data.setExecutionId(executionId));
|
||||
dataList.forEach(data -> data.setApprovalUser(annualInitData.getDataList().get(0).getApprovalUser()));
|
||||
saveOrUpdateBatch(dataList);
|
||||
if (pass) {
|
||||
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
|
||||
taskService.setVariable(taskId, "approvalUser", annualInitData.getDataList().get(0).getApprovalUser());
|
||||
dataList.forEach(data -> data.setExecutionId(executionId));
|
||||
dataList.forEach(data -> data.setApprovalUser(annualInitData.getDataList().get(0).getApprovalUser()));
|
||||
saveOrUpdateBatch(dataList);
|
||||
} else {
|
||||
if (dataList == null) {
|
||||
// 找到所有数据,然后设置驳回标志位
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
||||
updateWrapper.set(ProcessEsAnnualInit::getRejectSecondFlag, YesOrNoEnum.YES.getValue());
|
||||
updateWrapper.set(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
update(updateWrapper);
|
||||
} else {
|
||||
dataList.forEach(d -> d.setRejectSecondFlag(YesOrNoEnum.YES.getValue()));
|
||||
dataList.forEach(data -> data.setExecutionId(executionId));
|
||||
saveOrUpdateBatch(dataList);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MAIN_DRAFT_WRITE:
|
||||
dataList = annualInitData.getDataList();
|
||||
dataList.forEach(d -> d.setMainDraftingUser(userId));
|
||||
@@ -380,9 +425,12 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
@Override
|
||||
public void batchReject(AnnualInitDataVO annualInitData, String ids) {
|
||||
CommonVO commonVO = annualInitData.getCommonVO();
|
||||
String processInstanceId = commonVO.getProcessInstanceId();
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(commonVO.getTaskId());
|
||||
String taskId = commonVO.getTaskId();
|
||||
// 获取task
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
// 获取执行id
|
||||
String executionId = task.getExecutionId();
|
||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
@@ -392,8 +440,14 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
wrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
||||
wrapper.in(ProcessEsAnnualInit::getId, Arrays.asList(ids.split(",")));
|
||||
if (STANDARD_ENGINEER_SECOND_EDIT.equals(task.getName())) {
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
}
|
||||
List<ProcessEsAnnualInit> list = list(wrapper);
|
||||
annualInitData.setDataList(list);
|
||||
if (list.isEmpty()) {
|
||||
throw new JeroBootException("无法获取数据,请重试。");
|
||||
}
|
||||
// 将对应数据找出来
|
||||
this.approvalProcess(annualInitData, false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user