fix: 草稿办理发起流程报错
This commit is contained in:
+1
-1
@@ -76,7 +76,7 @@ public class ProcessEsAbolishServiceImpl extends ServiceImpl<ProcessEsAbolishMap
|
||||
// 设置流程实例Id
|
||||
esAbolish.setProcessInstanceId(processInstanceId);
|
||||
// 保存到业务流程表
|
||||
save(esAbolish);
|
||||
saveOrUpdate(esAbolish);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
|
||||
// 根据流程实例id更新流程总表
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ public class ProcessEsArchiveServiceImpl extends ServiceImpl<ProcessEsArchiveMap
|
||||
// 设置流程实例Id
|
||||
esArchive.setProcessInstanceId(processInstanceId);
|
||||
// 保存到业务流程表
|
||||
save(esArchive);
|
||||
saveOrUpdate(esArchive);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
|
||||
// 根据流程实例id更新流程总表
|
||||
|
||||
+15
@@ -9,6 +9,7 @@ import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -106,4 +107,18 @@ public class ESChangeController {
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 草稿办理
|
||||
* @param draftId
|
||||
* @param projectId
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-草稿办理")
|
||||
@ApiOperation(value="企标更改流程-草稿办理", notes="企标更改流程-草稿办理")
|
||||
@GetMapping("/draftHandle")
|
||||
@Translation
|
||||
public Result<?> draftHandle(@RequestParam("draftId") @ApiParam("草稿Id") String draftId,
|
||||
@RequestParam("projectId") @ApiParam("业务数据Id") String projectId) {
|
||||
return Result.OK(changeService.getDraftData(draftId, projectId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+4
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.activiti.process.esChange.service;
|
||||
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO;
|
||||
@@ -18,4 +19,7 @@ public interface ProcessEsChangeService extends IService<ProcessEsChange> {
|
||||
ESChangeDataVO getHandleData(String taskId);
|
||||
|
||||
void approval(ESChangeDataVO changeData, boolean pass);
|
||||
|
||||
ESChangeDataVO getDraftData(String draftId, String projectId);
|
||||
|
||||
}
|
||||
|
||||
+33
-49
@@ -4,6 +4,7 @@ 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.vo.ResultCommon;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
@@ -13,6 +14,8 @@ import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||
import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||
@@ -41,21 +44,12 @@ import java.util.*;
|
||||
public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMapper, ProcessEsChange>
|
||||
implements ProcessEsChangeService {
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeService processNodeService;
|
||||
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
@@ -87,7 +81,7 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
// 设置流程实例Id
|
||||
esChange.setProcessInstanceId(processInstanceId);
|
||||
// 保存到业务流程表
|
||||
save(esChange);
|
||||
saveOrUpdate(esChange);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
|
||||
// 根据流程实例id更新流程总表
|
||||
@@ -122,35 +116,12 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
@Override
|
||||
public void saveToDraft(ESChangeDataVO changeData) {
|
||||
CommonVO commonVO = changeData.getCommon();
|
||||
String taskId = commonVO.getTaskId();
|
||||
ProcessEsChange esChange = changeData.getData();
|
||||
ProcessDraft existDraft = actFlowCommonService.getExistDraftAndRemove(commonVO, ProcessTypeEnum.ES_ARCHIVE);
|
||||
if (existDraft != null) esChange.setId(existDraft.getProjectId());
|
||||
// TODO 底下表格
|
||||
saveOrUpdate(esChange);
|
||||
// 先删后增
|
||||
LambdaUpdateWrapper<ProcessDraft> draftWrapper = new LambdaUpdateWrapper<>();
|
||||
if (StrUtil.isBlank(taskId)) {
|
||||
// 第一个节点点击保存没有taskId
|
||||
draftWrapper.eq(ProcessDraft::getPrcType, ProcessTypeEnum.ES_CHANGE.getValue());
|
||||
draftWrapper.eq(ProcessDraft::getCreateBy, UserUtils.getUserId());
|
||||
processDraftService.remove(draftWrapper);
|
||||
List<ProcessDraft> draftList = new ArrayList<>();
|
||||
ProcessDraft draft = new ProcessDraft();
|
||||
draft.setProjectId(esChange.getId());
|
||||
draft.setPrcType(ProcessTypeEnum.ES_CHANGE.getValue());
|
||||
draftList.add(draft);
|
||||
processDraftService.saveBatch(draftList);
|
||||
} else {
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
draftWrapper.eq(ProcessDraft::getProjectId, esChange.getId());
|
||||
processDraftService.remove(draftWrapper);
|
||||
List<ProcessDraft> draftList = new ArrayList<>();
|
||||
ProcessDraft draft = new ProcessDraft();
|
||||
draft.setProjectId(esChange.getId());
|
||||
draft.setProcessInstanceId(processInstanceId);
|
||||
draft.setPrcName(commonVO.getPrcName());
|
||||
draft.setPrcType(ProcessTypeEnum.ES_CHANGE.getValue());
|
||||
draftList.add(draft);
|
||||
processDraftService.saveBatch(draftList);
|
||||
}
|
||||
actFlowCommonService.addDraft(commonVO, ProcessTypeEnum.ES_ARCHIVE, esChange.getId());
|
||||
}
|
||||
|
||||
public void startRunTask(ESChangeDataVO changeData) {
|
||||
@@ -160,21 +131,12 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
@Override
|
||||
public ESChangeDataVO getHandleData(String taskId) {
|
||||
if (!actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("任务不存在");
|
||||
throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS);
|
||||
}
|
||||
ESChangeDataVO changeData = new ESChangeDataVO();
|
||||
// 使用流程引擎根据taskId找到流程实例Id
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
String processDefinitionId = actFlowCommonService.getProcessDefId(processInstanceId);
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
CommonVO commonVO = new CommonVO();
|
||||
commonVO.setPrcName(process.getPrcName());
|
||||
commonVO.setTaskId(process.getTaskId());
|
||||
commonVO.setPrcMes(process.getPrcMes());
|
||||
commonVO.setDueTime(process.getDueTime());
|
||||
commonVO.setNodeId(process.getNodeId());
|
||||
changeData.setCommon(commonVO);
|
||||
changeData.setCommon(actFlowCommonService.getHandleCommon(taskId));
|
||||
// 获取流程实例数据
|
||||
LambdaQueryWrapper<ProcessEsChange> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(ProcessEsChange::getProcessInstanceId, processInstanceId);
|
||||
@@ -190,7 +152,7 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
CommonVO commonVO = changeData.getCommon();
|
||||
String taskId = commonVO.getTaskId();
|
||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS);
|
||||
}
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 设置流程变量
|
||||
@@ -199,6 +161,28 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 删除草稿
|
||||
actFlowCommonService.removeDraft(commonVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ESChangeDataVO getDraftData(String draftId, String businessId) {
|
||||
ProcessDraft draft = actFlowCommonService.getExistDraft(draftId, businessId, ProcessTypeEnum.ES_CHANGE);
|
||||
if (draft == null) {
|
||||
throw new JeroBootException(ResultCommon.DRAFT_NOT_EXISTS);
|
||||
} else {
|
||||
ESChangeDataVO changeDataVO = new ESChangeDataVO();
|
||||
// 获取流程通用数据
|
||||
CommonVO commonVO = actFlowCommonService.getDraftCommon(draft);
|
||||
changeDataVO.setCommon(commonVO);
|
||||
// 获取流程实例数据
|
||||
LambdaQueryWrapper<ProcessEsChange> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(ProcessEsChange::getId, businessId);
|
||||
lambdaQueryWrapper.eq(ProcessEsChange::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
ProcessEsChange data = getOne(lambdaQueryWrapper);
|
||||
changeDataVO.setData(data);
|
||||
return changeDataVO;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ public class ProcessEsEnableServiceImpl extends ServiceImpl<ProcessEsEnableMappe
|
||||
// 设置流程实例Id
|
||||
esEnable.setProcessInstanceId(processInstanceId);
|
||||
// 保存到业务流程表
|
||||
save(esEnable);
|
||||
saveOrUpdate(esEnable);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
|
||||
// 根据流程实例id更新流程总表
|
||||
|
||||
+1
-1
@@ -87,7 +87,7 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
// 新增业务表数据
|
||||
esInitChangeList.forEach(e -> e.setBusinessId(newBusinessId));
|
||||
// 保存到业务流程表
|
||||
saveBatch(esInitChangeList);
|
||||
saveOrUpdateBatch(esInitChangeList);
|
||||
// 保存选人信息
|
||||
// 人员
|
||||
Map<String, Object> flowUserInfoVO = initChangeData.getFlowUserInfoVO();
|
||||
|
||||
+2
@@ -104,12 +104,14 @@ public class ProcessEsRecheck implements Serializable {
|
||||
/**
|
||||
* 主起草人
|
||||
*/
|
||||
@Dict(dicCode = "user_id")
|
||||
@ApiModelProperty(value = "主起草人")
|
||||
private String mainDraftingUser;
|
||||
|
||||
/**
|
||||
* 主起草单位
|
||||
*/
|
||||
@Dict(dicCode = "org_code")
|
||||
@ApiModelProperty(value = "主起草单位")
|
||||
private String mainDraftingUnit;
|
||||
|
||||
|
||||
+3
-3
@@ -55,7 +55,7 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
|
||||
// 当前用户Id
|
||||
String userId = UserUtils.getUserId();
|
||||
// 业务数据
|
||||
ProcessEsRecheck esArchive = recheckData.getData();
|
||||
ProcessEsRecheck esRecheck = recheckData.getData();
|
||||
// 通用数据
|
||||
CommonVO common = recheckData.getCommon();
|
||||
// 人员数据
|
||||
@@ -74,9 +74,9 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
|
||||
// 自动完成第一个任务
|
||||
actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId, common);
|
||||
// 设置流程实例Id
|
||||
esArchive.setProcessInstanceId(processInstanceId);
|
||||
esRecheck.setProcessInstanceId(processInstanceId);
|
||||
// 保存到业务流程表
|
||||
save(esArchive);
|
||||
saveOrUpdate(esRecheck);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
|
||||
// 根据流程实例id更新流程总表
|
||||
|
||||
Reference in New Issue
Block a user