feat: 新版转办2.0优化版
This commit is contained in:
+20
-3
@@ -172,6 +172,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
boolean distribute = annualReport.getDistributeFlag().equals("1");
|
||||
contactUserLeaderLeader = annualReport.getContactUserLeaderLeader();
|
||||
taskService.setVariable(taskId, "distribute", distribute);
|
||||
String curContactUser = UserUtils.getUserId();
|
||||
// 获取是否分发
|
||||
if (distribute) {
|
||||
String workGroupUsers = annualReport.getWorkGroupUser();
|
||||
@@ -187,14 +188,16 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
dataList.forEach(data -> data.setContactUserLeaderLeader(contactUserLeaderLeader));
|
||||
dataList.forEach(data -> data.setExecutionId(executionId));
|
||||
dataList.forEach(data -> data.setProcessInstanceId(processInstanceId));
|
||||
dataList.forEach(data -> data.setContactUser(contactUser));
|
||||
dataList.forEach(data -> data.setContactUser(curContactUser));
|
||||
// 不分发,入库存表
|
||||
saveBatch(dataList);
|
||||
taskService.setVariable(taskId, "contactUserLeaderLeader", contactUserLeaderLeader);
|
||||
}
|
||||
taskService.setVariable(taskId, contactUser + "-ContactUserLeaderLeader", contactUserLeaderLeader);
|
||||
taskService.setVariable(taskId, curContactUser + "-ContactUserLeaderLeader", contactUserLeaderLeader);
|
||||
userVariable.put("contactUserLeaderLeader", contactUserLeaderLeader);
|
||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userVariable);
|
||||
// 转办
|
||||
runtimeService.setVariable(executionId, "contactUser", curContactUser);
|
||||
break;
|
||||
case WORK_GROUP_COLLECT:
|
||||
// 先删后增
|
||||
@@ -211,13 +214,20 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
// 保存收集联络人主管级领导
|
||||
dataList.forEach(data -> data.setCollectUserLeader(collectUserLeader));
|
||||
dataList.forEach(data -> data.setContactUserLeaderLeader(contactUserLeaderLeader));
|
||||
dataList.forEach(data -> data.setWorkGroupUser(workGroupUser));
|
||||
String curWorkGroupUser = UserUtils.getUserId();
|
||||
dataList.forEach(data -> data.setWorkGroupUser(curWorkGroupUser));
|
||||
saveBatch(dataList);
|
||||
// 转办
|
||||
runtimeService.setVariable(executionId, "workGroupUser", curWorkGroupUser);
|
||||
// 设置下一个节点的审批人流程变量
|
||||
taskService.setVariable(taskId, "collectUserLeader", collectUserLeader);
|
||||
userVariable.put("collectUserLeader", collectUserLeader);
|
||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userVariable);
|
||||
break;
|
||||
case COLLECT_LEADER_APPROVAL:
|
||||
// 转办
|
||||
runtimeService.setVariable(executionId, "collectUserLeader", UserUtils.getUserId());
|
||||
break;
|
||||
case CONTACT_USER_COLLECT:
|
||||
// 先删后增
|
||||
wrapper.eq(ProcessEsAnnualReport::getContactUser, contactUser);
|
||||
@@ -232,6 +242,12 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
userVariable.put("contactUserLeaderLeader", contactUserLeaderLeader);
|
||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userVariable);
|
||||
saveBatch(dataList);
|
||||
// 转办
|
||||
runtimeService.setVariable(executionId, "contactUser", UserUtils.getUserId());
|
||||
break;
|
||||
case CONTACT_USER_LEADER_APPROVAL:
|
||||
// 转办
|
||||
runtimeService.setVariable(executionId, "contactUserLeaderLeader", UserUtils.getUserId());
|
||||
break;
|
||||
}
|
||||
runtimeService.setVariableLocal(processInstanceId, "pass", pass);
|
||||
@@ -297,6 +313,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
break;
|
||||
case CONTACT_USER_COLLECT:
|
||||
wrapper.eq(ProcessEsAnnualReport::getContactUser, userId);
|
||||
wrapper.eq(ProcessEsAnnualReport::getExecutionId, executionId);
|
||||
break;
|
||||
case CONTACT_USER_LEADER_APPROVAL:
|
||||
wrapper.eq(ProcessEsAnnualReport::getContactUserLeaderLeader, userId);
|
||||
|
||||
+1
-1
@@ -182,7 +182,7 @@ public class ProcessESInitChangeController {
|
||||
@ApiOperation(value="企标立项变更流程-转办", notes="企标立项变更流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
||||
initChangeService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
processHandleService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
}
|
||||
|
||||
-12
@@ -33,12 +33,6 @@ public interface ProcessEsInitChangeService extends IService<ProcessEsInitChange
|
||||
*/
|
||||
void saveToDraft(ProcessInfoVO<InitChangeDataVO> initChangeData);
|
||||
|
||||
/**
|
||||
* 软删除实例数据
|
||||
* @param processInstanceId
|
||||
*/
|
||||
void removeByProcessInstanceId(String processInstanceId);
|
||||
|
||||
/**
|
||||
* 获取办理数据
|
||||
* @param taskId
|
||||
@@ -53,10 +47,4 @@ public interface ProcessEsInitChangeService extends IService<ProcessEsInitChange
|
||||
*/
|
||||
void autoStartProcessByRecheck(String standardNo);
|
||||
|
||||
/**
|
||||
* 转办
|
||||
* @param taskId
|
||||
* @param userId
|
||||
*/
|
||||
void transfer(String taskId, String userId);
|
||||
}
|
||||
|
||||
+6
-25
@@ -200,20 +200,6 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, mainDraftUser, prcName, null, prcType, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transfer(String taskId, String toUserId) {
|
||||
// 判断是否是特殊节点,如果是特殊节点则需要替换流程变量
|
||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String taskName = task.getName();
|
||||
if (taskName.equals(STANDARDIZATION_CHECK)) {
|
||||
taskService.setVariable(taskId, "standardizationApprovalUser", toUserId);
|
||||
}
|
||||
processHandleService.transfer(taskId, toUserId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void approvalInitChange(InitChangeDataVO initChangeDataVO, boolean pass) {
|
||||
String userId = UserUtils.getUserId();
|
||||
@@ -250,9 +236,9 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
update(updateWrapper);
|
||||
}
|
||||
runtimeService.setVariableLocal(processInstanceId, "pass", true);
|
||||
} else {
|
||||
// 设置流程变量
|
||||
runtimeService.setVariableLocal(processInstanceId, "pass", false);
|
||||
if (taskName.equals(STANDARDIZATION_CHECK)) {
|
||||
taskService.setVariable(taskId, "standardizationApprovalUser", userId);
|
||||
}
|
||||
}
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass);
|
||||
@@ -260,8 +246,10 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 删除草稿
|
||||
actFlowCommonService.removeDraft(commonVO);
|
||||
// 如果是会签节点,驳回后要将其余节点recode设置为 未处理 状态
|
||||
if (!pass) {
|
||||
// 设置流程变量
|
||||
runtimeService.setVariableLocal(processInstanceId, "pass", false);
|
||||
// 如果是会签节点,驳回后要将其余节点recode设置为 未处理 状态
|
||||
if (taskName.equals(CounterSignNodeNameConstants.ES_INIT_CHANGE_EXPERT_NODE_NAME)) {
|
||||
actFlowCommonService.updateOtherCountersignRecodeStatus(processInstanceId, CounterSignNodeNameConstants.ES_INIT_CHANGE_EXPERT_NODE_NAME);
|
||||
}
|
||||
@@ -291,13 +279,6 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeByProcessInstanceId(String processInstanceId) {
|
||||
LambdaUpdateWrapper<ProcessEsInitChange> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId).set(ProcessEsInitChange::getDelFlag, YesOrNoEnum.YES.getValue());
|
||||
update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) {
|
||||
// 已经存在的标准
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@ public class ESRecheckController {
|
||||
@ApiOperation(value="企标复审流程-转办", notes="企标复审流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
||||
recheckService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
processHandleService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -22,5 +22,4 @@ public interface ProcessEsRecheckService extends IService<ProcessEsRecheck> {
|
||||
|
||||
void approval(ESRecheckDataVO recheckData, boolean pass);
|
||||
|
||||
void transfer(String taskId, String userId);
|
||||
}
|
||||
|
||||
+11
-20
@@ -210,7 +210,7 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
|
||||
if (flowUser != null) {
|
||||
// 人员数据
|
||||
Map<String, Object> variables = recheckData.getFlowUser();
|
||||
// 设置第联络人节点人员
|
||||
// 设置联络人节点人员
|
||||
actFlowCommonService.putIfNotNull(variables, "standardizationUser", data.getStandardizationUser());
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = this.setVariables(variables);
|
||||
@@ -238,6 +238,16 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
|
||||
Integer prcType = ProcessTypeEnum.ES_RECHECK.getValue();
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
||||
}
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String taskName = task.getName();
|
||||
switch (taskName) {
|
||||
case DRAFTER_EDIT:
|
||||
taskService.setVariable(taskId, "mainDraftUser", userId);
|
||||
break;
|
||||
case DRAFTER_LEADER_APPROVAL:
|
||||
taskService.setVariable(taskId, "mainDraftUserLeader", userId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 设置流程变量
|
||||
runtimeService.setVariable(processInstanceId, "pass", pass);
|
||||
@@ -249,25 +259,6 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
|
||||
actFlowCommonService.removeDraft(commonVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transfer(String taskId, String toUserId) {
|
||||
// 判断是否是特殊节点,如果是特殊节点则需要替换流程变量
|
||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String taskName = task.getName();
|
||||
switch (taskName) {
|
||||
case DRAFTER_EDIT:
|
||||
taskService.setVariable(taskId, "mainDraftUser", toUserId);
|
||||
break;
|
||||
case DRAFTER_LEADER_APPROVAL:
|
||||
taskService.setVariable(taskId, "mainDraftUserLeader", toUserId);
|
||||
break;
|
||||
}
|
||||
processHandleService.transfer(taskId, toUserId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
+29
-44
@@ -388,7 +388,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
List<ReviewMeetingDetailVO> reviewMeetingDetails = data.getReviewMeetingDetails();
|
||||
// 设置当前评分人
|
||||
curUserId = UserUtils.getUserId();
|
||||
reviewMeetingDetails.forEach(reviewMeetingDetail -> reviewMeetingDetail.setAdjudicatorId(curUserId));
|
||||
String finalCurUserId = curUserId;
|
||||
reviewMeetingDetails.forEach(reviewMeetingDetail -> reviewMeetingDetail.setAdjudicatorId(finalCurUserId));
|
||||
ProcessEsRevision revisionDb = getById(dataDb.getId());
|
||||
List<ReviewMeetingDetailVO> reviewMeetingDetailsDb = revisionDb.parseReviewMeetingDetails();
|
||||
if (reviewMeetingDetailsDb == null) {
|
||||
@@ -530,56 +531,40 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
// TODO 在线编辑 插入签章
|
||||
break;
|
||||
}
|
||||
if (pass) {
|
||||
runtimeService.setVariable(processInstanceId, "pass", true);
|
||||
} else {
|
||||
// 设置流程变量
|
||||
runtimeService.setVariable(processInstanceId, "pass", false);
|
||||
// 获取当前节点的id
|
||||
curUserId = UserUtils.getUserId();
|
||||
// 转办修改流程变量逻辑
|
||||
switch (xmlNodeId) {
|
||||
case MAIN_DRAFT_USER_COLLECT_FIRST:
|
||||
taskService.setVariable(taskId, "mainDraftUser", curUserId);
|
||||
break;
|
||||
case STANDARDIZATION_CHECK:
|
||||
taskService.setVariable(taskId, "standardizationUser", curUserId);
|
||||
break;
|
||||
case CONTACT_USER_DISTRIBUTE:
|
||||
case CONTACT_USER_COLLECT:
|
||||
runtimeService.setVariable(executionId, "contactUser", curUserId);
|
||||
runtimeService.setVariable(executionId, curUserId + "-ExecutionId", executionId);
|
||||
break;
|
||||
case CONTACT_USER_LEADER_APPROVAL:
|
||||
runtimeService.setVariable(executionId, "contactUserLeader", curUserId);
|
||||
runtimeService.setVariable(executionId, executionId + "-ContactUserLeader", curUserId);
|
||||
break;
|
||||
case LEADER_APPROVAL:
|
||||
// 根据流程实例Id修改审批人字段
|
||||
runtimeService.setVariable(executionId, "contactUserLeader", curUserId);
|
||||
updateWrapper.clear();
|
||||
updateWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId)
|
||||
.set(ProcessEsRevision::getApprovalUser, curUserId);
|
||||
update(updateWrapper);
|
||||
}
|
||||
runtimeService.setVariable(processInstanceId, "pass", pass);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transfer(String taskId, String toUserId) {
|
||||
// 判断是否是特殊节点,如果是特殊节点则需要替换流程变量
|
||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
if (StrUtil.isBlank(toUserId)) {
|
||||
throw new JeroBootException("转办人不能为空");
|
||||
}
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String processInstanceId = task.getProcessInstanceId();
|
||||
// 获取执行id
|
||||
String executionId = task.getExecutionId();
|
||||
// 获取当前节点的id
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
switch (xmlNodeId) {
|
||||
case MAIN_DRAFT_USER_COLLECT_FIRST:
|
||||
taskService.setVariable(taskId, "mainDraftUser", toUserId);
|
||||
break;
|
||||
case STANDARDIZATION_CHECK:
|
||||
taskService.setVariable(taskId, "standardizationUser", toUserId);
|
||||
break;
|
||||
case CONTACT_USER_DISTRIBUTE:
|
||||
case CONTACT_USER_COLLECT:
|
||||
runtimeService.setVariable(executionId, "contactUser", toUserId);
|
||||
runtimeService.setVariable(executionId, toUserId + "-ExecutionId", executionId);
|
||||
break;
|
||||
case CONTACT_USER_LEADER_APPROVAL:
|
||||
runtimeService.setVariable(executionId, "contactUserLeader", toUserId);
|
||||
runtimeService.setVariable(executionId, executionId + "-ContactUserLeader", toUserId);
|
||||
break;
|
||||
case LEADER_APPROVAL:
|
||||
// 根据流程实例Id修改审批人字段
|
||||
runtimeService.setVariable(executionId, "contactUserLeader", toUserId);
|
||||
LambdaUpdateWrapper<ProcessEsRevision> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId)
|
||||
.set(ProcessEsRevision::getApprovalUser, toUserId);
|
||||
update(updateWrapper);
|
||||
}
|
||||
processHandleService.transfer(taskId, toUserId);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user