fix(标准法规入库/变更流程): 强制撤销
This commit is contained in:
@@ -12,7 +12,7 @@ import lombok.Getter;
|
||||
public enum ProcessTypeEnum {
|
||||
|
||||
|
||||
FB_ENTRY_CHANGE("标准法规入库/变更流程",1, "com.jero.modules.activiti.process.fb.service.impl.ProcessHandleServiceImpl"),
|
||||
FB_ENTRY_CHANGE("标准法规入库/变更流程",1, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbEntryChangeServiceImpl"),
|
||||
FB_STANDARD_CONSULTATION("标准征求意见流程",2, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbStandardConsultationServiceImpl"),
|
||||
PROJECT_ASSESS("项目合规评估流程",3, "com.jero.modules.activiti.process.projectassess.service.ProcessProjectAssessService"),
|
||||
PROJECT_NOT_MET("未符合项跟踪流程",4, "com.jero.modules.activiti.process.projectnotmet.service.ProcessProjectNotMetService"),
|
||||
|
||||
+55
-3
@@ -9,7 +9,11 @@ import com.jero.common.api.vo.SendMessageAPI;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.UUIDUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbEntryChange;
|
||||
@@ -17,6 +21,9 @@ import com.jero.modules.activiti.process.fb.mapper.ProcessFbEntryChangeMapper;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import com.jero.modules.laws.common.mapper.LawsCommonMapper;
|
||||
@@ -24,6 +31,8 @@ import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.tag.entity.LawsTag;
|
||||
import com.jero.modules.tag.enums.TableNameEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -45,7 +54,8 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
@Slf4j
|
||||
public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryChangeMapper, ProcessFbEntryChange> implements IProcessFbEntryChangeService {
|
||||
public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryChangeMapper, ProcessFbEntryChange>
|
||||
implements IProcessFbEntryChangeService, WorkCenterService {
|
||||
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
@@ -58,6 +68,15 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/2 15:43
|
||||
@@ -72,7 +91,7 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
processFbEntryChange.setSource((String) businessMap.get("source"));
|
||||
processFbEntryChange.setOperateType((String) businessMap.get("operateType"));
|
||||
processFbEntryChange.setStandardNumber((String) businessMap.get(FieldCommon.STANDARD_NUMBER));
|
||||
save(processFbEntryChange);
|
||||
saveOrUpdate(processFbEntryChange);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -325,7 +344,7 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
@Override
|
||||
public ProcessInfoVO<ProcessFbEntryChange> queryProcessInfoVO(String draftId, String processInstanceId, String taskId, String projectId) {
|
||||
ProcessInfoVO processInfoVO = processHandleService.queryProcessInfoVO(draftId, processInstanceId, taskId, projectId);
|
||||
ProcessFbEntryChange processFbEntryChange = getById(processInfoVO.getBusinessId());
|
||||
ProcessFbEntryChange processFbEntryChange = getById(projectId);
|
||||
Map<String, Object> map = JSON.parseObject(processFbEntryChange.getBusinessJson(), Map.class);
|
||||
|
||||
// 处理字典翻译
|
||||
@@ -340,4 +359,37 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
processInfoVO.setBusinessInfoDTO(processFbEntryChange);
|
||||
return processInfoVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changeToDraft(ProcessAll processAll) {
|
||||
// 删除自己的草稿
|
||||
IProcessHandleService processHandleService = SpringContextUtil.getBean(IProcessHandleService.class);
|
||||
processHandleService.deleteMyDraft(processAll.getTaskId(), processAll.getProjectId(), processAll.getPrcType());
|
||||
String projectId = UUIDUtils.randomUUID20();
|
||||
|
||||
// 查询第一个节点处理人
|
||||
ProcessApprovalRecordService processApprovalRecordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
|
||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId())
|
||||
.orderByAsc(ProcessApprovalRecord::getCreateTime)
|
||||
.last("limit 1"));
|
||||
|
||||
// 处理业务表信息
|
||||
IProcessFbEntryChangeService processFbEntryChangeService = SpringContextUtil.getBean(IProcessFbEntryChangeService.class);
|
||||
ProcessFbEntryChange processFbEntryChange = processFbEntryChangeService.getById(processAll.getProjectId());
|
||||
processFbEntryChange.setId(projectId);
|
||||
processFbEntryChange.setCreateTime(new Date());
|
||||
ISysUserService sysUserService = SpringContextUtil.getBean(ISysUserService.class);
|
||||
SysUser sysUser = sysUserService.getById(processApprovalRecord.getOriginUserId());
|
||||
processFbEntryChange.setCreateBy(sysUser.getUsername());
|
||||
processFbEntryChangeService.save(processFbEntryChange);
|
||||
|
||||
ProcessDraft processDraft = new ProcessDraft();
|
||||
processDraft.setProjectId(projectId); // 业务id
|
||||
processDraft.setPrcType(processAll.getPrcType()); // 流程类型
|
||||
processDraft.setUserId(processApprovalRecord.getOriginUserId()); // 用户id
|
||||
// 保存草稿
|
||||
ProcessDraftService processDraftService = SpringContextUtil.getBean(ProcessDraftService.class);
|
||||
processDraftService.save(processDraft);
|
||||
}
|
||||
}
|
||||
|
||||
+43
-29
@@ -45,7 +45,7 @@ import java.util.*;
|
||||
@Service
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
public class ProcessHandleServiceImpl implements IProcessHandleService{
|
||||
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
@@ -135,6 +135,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
String taskId = basicTaskInfoDTO.getTaskId();
|
||||
isMyTask(taskId);
|
||||
|
||||
// 保存
|
||||
updateProcessAll(processInfoVO);
|
||||
updateApprovalRecord(processInfoVO);
|
||||
|
||||
// 删除自己的草稿
|
||||
deleteMyDraft(taskId, processInfoVO.getBusinessId(), basicProcessInfoDTO.getProcessType());
|
||||
|
||||
@@ -289,6 +293,9 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
public void updateProcessAll(ProcessInfoVO processInfoVO) {
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(basicProcessInfoDTO.getProcessInstanceId());
|
||||
if (Objects.isNull(process)){
|
||||
process = new ProcessAll();
|
||||
}
|
||||
process.setCreateUserId(CurrentUserUtil.getId()); // 流程创建人
|
||||
process.setPrcName(basicProcessInfoDTO.getProcessName()); // 流程名称
|
||||
process.setMes(basicProcessInfoDTO.getProcessDescription()); // 流程说明
|
||||
@@ -308,11 +315,15 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
public void updateApprovalRecord(ProcessInfoVO processInfoVO) {
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
|
||||
ProcessApprovalRecord approvalRecord = processApprovalRecordService.getToDoByTaskId(basicTaskInfoDTO.getTaskId());
|
||||
if (Objects.isNull(approvalRecord)){
|
||||
approvalRecord = new ProcessApprovalRecord();
|
||||
}
|
||||
approvalRecord.setCommitFlag(basicTaskInfoDTO.getCommitFlag()); // 审批意见(1通过,2驳回)
|
||||
approvalRecord.setCommitText(basicTaskInfoDTO.getHandleText()); // 审批内容
|
||||
approvalRecord.setCommitFile(basicTaskInfoDTO.getHandleFile()); // 审批附件
|
||||
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue()); // 完成注记(1进行中,2已完成)
|
||||
approvalRecord.setEndTime(new Date()); // 完成时间
|
||||
approvalRecord.setProjectId(processInfoVO.getBusinessId());
|
||||
processApprovalRecordService.updateById(approvalRecord);
|
||||
}
|
||||
|
||||
@@ -442,39 +453,45 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO();
|
||||
processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO);
|
||||
|
||||
// 流程信息
|
||||
if (StringUtils.isNotBlank(processInstanceId)) {
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
// 先查询草稿表是否存储
|
||||
ProcessDraft processDraft = processDraftService.getById(draftId);
|
||||
if (!Objects.isNull(processDraft)) {
|
||||
// 流程信息
|
||||
basicProcessInfoDTO.setProcessInstanceId(processDraft.getProcessInstanceId()); // 流程实例id
|
||||
basicProcessInfoDTO.setProcessName(processDraft.getPrcName()); // 流程名称
|
||||
basicProcessInfoDTO.setProcessType(processDraft.getPrcType()); // 流程类型
|
||||
basicProcessInfoDTO.setProcessDueDate(processDraft.getProcessDueDate()); // 流程信息-截止日期
|
||||
basicProcessInfoDTO.setProcessDescription(processDraft.getProcessDescription()); // 流程信息
|
||||
|
||||
// 流程审批信息
|
||||
basicTaskInfoDTO.setHandleFile(processDraft.getHandleFile());
|
||||
basicTaskInfoDTO.setHandleText(processDraft.getHandleText());
|
||||
basicTaskInfoDTO.setTaskId(processDraft.getTaskId());
|
||||
processInfoVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}else {
|
||||
// 流程信息
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId));
|
||||
if (!Objects.isNull(processAll)) {
|
||||
basicProcessInfoDTO.setProcessInstanceId(processAll.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessType(processAll.getPrcType());
|
||||
basicProcessInfoDTO.setProcessName(processAll.getPrcName());
|
||||
basicProcessInfoDTO.setProcessDescription(processAll.getMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(processAll.getDueTime());
|
||||
processInfoVO.setBusinessId(processAll.getProjectId());
|
||||
}
|
||||
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getProjectId, projectId)
|
||||
.eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId));
|
||||
if (!Objects.isNull(processApprovalRecord)){
|
||||
basicTaskInfoDTO.setTaskId(processApprovalRecord.getTaskId());
|
||||
basicTaskInfoDTO.setHandleText(processApprovalRecord.getCommitText());
|
||||
basicTaskInfoDTO.setHandleFile(processApprovalRecord.getCommitFile());
|
||||
}
|
||||
}
|
||||
|
||||
// 审批信息
|
||||
if (StringUtils.isNotBlank(draftId)) {
|
||||
ProcessDraft processDraft = processDraftService.getById(draftId);
|
||||
if (!CurrentUserUtil.getId().equals(processDraft.getUserId())) {
|
||||
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||
}
|
||||
if (!Objects.isNull(processDraft)) {
|
||||
basicTaskInfoDTO.setTaskId(processDraft.getTaskId());
|
||||
basicTaskInfoDTO.setHandleText(processDraft.getHandleText());
|
||||
basicTaskInfoDTO.setHandleFile(processDraft.getHandleFile());
|
||||
processInfoVO.setDraftId(draftId);
|
||||
processInfoVO.setBusinessId(processDraft.getProjectId());
|
||||
basicProcessInfoDTO.setProcessType(processDraft.getPrcType());
|
||||
basicProcessInfoDTO.setProcessName(processDraft.getPrcName());
|
||||
basicProcessInfoDTO.setProcessDescription(processDraft.getProcessDescription());
|
||||
basicProcessInfoDTO.setProcessDueDate(processDraft.getProcessDueDate());
|
||||
processInfoVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
}
|
||||
|
||||
processInfoVO.setDraftId(draftId);
|
||||
processInfoVO.setBusinessId(projectId);
|
||||
return processInfoVO;
|
||||
}
|
||||
|
||||
@@ -499,7 +516,6 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
// 审批信息
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO();
|
||||
processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO);
|
||||
|
||||
// 流程信息
|
||||
if (StringUtils.isNotBlank(processInstanceId)) {
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
@@ -509,7 +525,6 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
basicProcessInfoDTO.setProcessName(processAll.getPrcName());
|
||||
basicProcessInfoDTO.setProcessDescription(processAll.getMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(processAll.getDueTime());
|
||||
processInfoVO.setBusinessId(processAll.getProjectId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -596,5 +611,4 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
processNodeLinkService.saveBatch(linkList, linkList.size());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user