add 标准法规入库_变更流程-审批
This commit is contained in:
+21
-4
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.fb.controller;
|
|||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.aspect.annotation.AutoLog;
|
import com.jero.common.aspect.annotation.AutoLog;
|
||||||
import com.jero.common.util.MessageUtils;
|
import com.jero.common.util.MessageUtils;
|
||||||
|
import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO;
|
||||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbEntryChange;
|
import com.jero.modules.activiti.process.fb.entity.ProcessFbEntryChange;
|
||||||
import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService;
|
import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
@@ -58,12 +59,28 @@ public class ProcessFbEntryChangeController extends JeroController<ProcessFbEntr
|
|||||||
return Result.OK(processFbEntryChange);
|
return Result.OK(processFbEntryChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AutoLog(value = "流程处理-启动流程")
|
@AutoLog(value = "标准法规入库_变更流程-发起流程")
|
||||||
@ApiOperation(value = "流程处理-启动流程", notes = "流程处理-启动流程")
|
@ApiOperation(value = "标准法规入库_变更流程-发起流程", notes = "流程处理-发起流程")
|
||||||
@PostMapping(value = "/startProcess")
|
@PostMapping(value = "/startProcess")
|
||||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO processInfoVO) {
|
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO processInfoVO) {
|
||||||
processFbEntryChangeService.startProcess(processInfoVO);
|
processFbEntryChangeService.startProcess(processInfoVO);
|
||||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
return Result.OK();
|
||||||
|
}
|
||||||
|
|
||||||
|
@AutoLog(value = "标准法规入库_变更流程-同意")
|
||||||
|
@ApiOperation(value="标准法规入库_变更流程-同意", notes="标准法规入库_变更流程-同意")
|
||||||
|
@PostMapping("/agree")
|
||||||
|
public Result<T> agree(@Validated @RequestBody ProcessInfoVO processInfoVO) {
|
||||||
|
processFbEntryChangeService.approveTask(processInfoVO, true);
|
||||||
|
return Result.OK();
|
||||||
|
}
|
||||||
|
|
||||||
|
@AutoLog(value = "标准法规入库_变更流程-驳回")
|
||||||
|
@ApiOperation(value="标准法规入库_变更流程-驳回", notes="标准法规入库_变更流程-驳回")
|
||||||
|
@PostMapping("/reject")
|
||||||
|
public Result<T> reject(@Validated @RequestBody ProcessInfoVO processInfoVO) {
|
||||||
|
processFbEntryChangeService.approveTask(processInfoVO, true);
|
||||||
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
@AutoLog(value = "流程处理-保存为草稿")
|
@AutoLog(value = "流程处理-保存为草稿")
|
||||||
@@ -71,7 +88,7 @@ public class ProcessFbEntryChangeController extends JeroController<ProcessFbEntr
|
|||||||
@PostMapping(value = "/saveToDraft")
|
@PostMapping(value = "/saveToDraft")
|
||||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO processInfoVO) {
|
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO processInfoVO) {
|
||||||
processFbEntryChangeService.saveToDraft(processInfoVO);
|
processFbEntryChangeService.saveToDraft(processInfoVO);
|
||||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.jero.modules.activiti.process.fb.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/11/6 14:18
|
||||||
|
* @Description: 流程id
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProcessDTO {
|
||||||
|
|
||||||
|
private String processInstanceId; // 流程实例id
|
||||||
|
|
||||||
|
private String processDefinitionId; // 流程定义id
|
||||||
|
|
||||||
|
private String taskId; // 任务id
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -40,6 +40,13 @@ public interface IProcessFbEntryChangeService extends IService<ProcessFbEntryCha
|
|||||||
**/
|
**/
|
||||||
void startProcess(ProcessInfoVO processInfoVO);
|
void startProcess(ProcessInfoVO processInfoVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/11/6 14:52
|
||||||
|
* @Description: 审批
|
||||||
|
**/
|
||||||
|
void approveTask(ProcessInfoVO processInfoVO, boolean pass);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/11/3 10:58
|
* @Date: 2023/11/3 10:58
|
||||||
|
|||||||
+10
-2
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.activiti.process.fb.service;
|
package com.jero.modules.activiti.process.fb.service;
|
||||||
|
|
||||||
|
import com.jero.modules.activiti.process.fb.dto.ProcessDTO;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -25,9 +26,16 @@ public interface IProcessHandleService {
|
|||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/11/6 11:59
|
* @Date: 2023/11/6 11:59
|
||||||
* @Description: 判断是否存在任务
|
* @Description: 判断是否是自己的任务
|
||||||
**/
|
**/
|
||||||
void isTaskExist(String taskId);
|
void isMyTask(String taskId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/11/6 14:22
|
||||||
|
* @Description: 根据任务id获取流程信息
|
||||||
|
**/
|
||||||
|
ProcessDTO getProcessDTO(String taskId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
|
|||||||
+10
@@ -104,6 +104,16 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
|||||||
processHandleService.startProcess(processInfoVO);
|
processHandleService.startProcess(processInfoVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/11/6 14:52
|
||||||
|
* @Description: 审批
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public void approveTask(ProcessInfoVO processInfoVO, boolean pass) {
|
||||||
|
processHandleService.approveTask(processInfoVO, pass);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/11/3 11:28
|
* @Date: 2023/11/3 11:28
|
||||||
|
|||||||
+52
-6
@@ -3,7 +3,10 @@ package com.jero.modules.activiti.process.fb.service.impl;
|
|||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||||
|
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||||
|
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
|
import com.jero.modules.activiti.process.fb.dto.ProcessDTO;
|
||||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.service.ProcessAllService;
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
@@ -69,6 +72,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
|||||||
updateProcessAll(processInfoVO);
|
updateProcessAll(processInfoVO);
|
||||||
|
|
||||||
// 保存选人信息
|
// 保存选人信息
|
||||||
|
runtimeService.setVariables(processInstanceId, userInfoMap);
|
||||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
|
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
|
||||||
|
|
||||||
// 根据流程实例id和任务处理人查询任务
|
// 根据流程实例id和任务处理人查询任务
|
||||||
@@ -79,8 +83,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
|||||||
|
|
||||||
// 更新审批记录
|
// 更新审批记录
|
||||||
processInfoVO.setTaskId(taskId);
|
processInfoVO.setTaskId(taskId);
|
||||||
processInfoVO.setCommitFlag(1); // 审批意见(1通过,2驳回)
|
processInfoVO.setCommitFlag(CommitFlagEnum.PASS.getValue()); // 审批意见(1通过,2驳回)
|
||||||
processInfoVO.setFinishFlag(2); // 完成注记(1进行中,2已完成)
|
|
||||||
updateApprovalRecord(processInfoVO);
|
updateApprovalRecord(processInfoVO);
|
||||||
|
|
||||||
// 完成任务
|
// 完成任务
|
||||||
@@ -94,16 +97,38 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
|||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void approveTask(ProcessInfoVO processInfoVO, boolean pass) {
|
public void approveTask(ProcessInfoVO processInfoVO, boolean pass) {
|
||||||
|
// 判断是否是自己的任务
|
||||||
|
String taskId = processInfoVO.getTaskId();
|
||||||
|
isMyTask(taskId);
|
||||||
|
ProcessDTO processDTO = getProcessDTO(taskId);
|
||||||
|
String processInstanceId = processDTO.getProcessInstanceId();
|
||||||
|
String processDefinitionId = processDTO.getProcessDefinitionId();
|
||||||
|
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
|
||||||
|
if (!Objects.isNull(userInfoMap) && !userInfoMap.isEmpty()) {
|
||||||
|
// 保存选人信息
|
||||||
|
runtimeService.setVariables(processInstanceId, userInfoMap);
|
||||||
|
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
|
||||||
|
}
|
||||||
|
if (pass) { // 通过
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "pass", true);
|
||||||
|
processInfoVO.setCommitFlag(CommitFlagEnum.PASS.getValue());
|
||||||
|
} else { // 驳回
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "pass", false);
|
||||||
|
processInfoVO.setCommitFlag(CommitFlagEnum.REJECT.getValue());
|
||||||
|
}
|
||||||
|
// 更新审批记录表
|
||||||
|
updateApprovalRecord(processInfoVO);
|
||||||
|
// 完成任务
|
||||||
|
taskService.complete(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/11/6 12:00
|
* @Date: 2023/11/6 12:00
|
||||||
* @Description: 判断是否存在任务
|
* @Description: 判断是否是自己的任务
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void isTaskExist(String taskId) {
|
public void isMyTask(String taskId) {
|
||||||
if (StringUtils.isBlank(taskId)) {
|
if (StringUtils.isBlank(taskId)) {
|
||||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "taskId");
|
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "taskId");
|
||||||
}
|
}
|
||||||
@@ -111,6 +136,27 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
|||||||
if (Objects.isNull(task)) {
|
if (Objects.isNull(task)) {
|
||||||
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||||
}
|
}
|
||||||
|
if (!CurrentUserUtil.getId().equals(task.getAssignee())) {
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/11/6 14:23
|
||||||
|
* @Description: 根据任务id获取流程信息
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public ProcessDTO getProcessDTO(String taskId) {
|
||||||
|
ProcessDTO processDTO = new ProcessDTO();
|
||||||
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||||
|
String processInstanceId = task.getProcessInstanceId();
|
||||||
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||||
|
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||||
|
processDTO.setTaskId(taskId);
|
||||||
|
processDTO.setProcessInstanceId(processInstanceId);
|
||||||
|
processDTO.setProcessDefinitionId(processDefinitionId);
|
||||||
|
return processDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -141,7 +187,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
|||||||
approvalRecord.setCommitFlag(processInfoVO.getCommitFlag()); // 审批意见(1通过,2驳回)
|
approvalRecord.setCommitFlag(processInfoVO.getCommitFlag()); // 审批意见(1通过,2驳回)
|
||||||
approvalRecord.setCommitText(processInfoVO.getHandleText()); // 审批内容
|
approvalRecord.setCommitText(processInfoVO.getHandleText()); // 审批内容
|
||||||
approvalRecord.setCommitFile(processInfoVO.getHandleFile()); // 审批附件
|
approvalRecord.setCommitFile(processInfoVO.getHandleFile()); // 审批附件
|
||||||
approvalRecord.setFinishFlag(processInfoVO.getFinishFlag()); // 完成注记(1进行中,2已完成)
|
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue()); // 完成注记(1进行中,2已完成)
|
||||||
approvalRecord.setEndTime(new Date()); // 完成时间
|
approvalRecord.setEndTime(new Date()); // 完成时间
|
||||||
processApprovalRecordService.updateById(approvalRecord);
|
processApprovalRecordService.updateById(approvalRecord);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user