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.aspect.annotation.AutoLog;
|
||||
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.service.IProcessFbEntryChangeService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
@@ -58,12 +59,28 @@ public class ProcessFbEntryChangeController extends JeroController<ProcessFbEntr
|
||||
return Result.OK(processFbEntryChange);
|
||||
}
|
||||
|
||||
@AutoLog(value = "流程处理-启动流程")
|
||||
@ApiOperation(value = "流程处理-启动流程", notes = "流程处理-启动流程")
|
||||
@AutoLog(value = "标准法规入库_变更流程-发起流程")
|
||||
@ApiOperation(value = "标准法规入库_变更流程-发起流程", notes = "流程处理-发起流程")
|
||||
@PostMapping(value = "/startProcess")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO 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 = "流程处理-保存为草稿")
|
||||
@@ -71,7 +88,7 @@ public class ProcessFbEntryChangeController extends JeroController<ProcessFbEntr
|
||||
@PostMapping(value = "/saveToDraft")
|
||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO 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);
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/6 14:52
|
||||
* @Description: 审批
|
||||
**/
|
||||
void approveTask(ProcessInfoVO processInfoVO, boolean pass);
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/3 10:58
|
||||
|
||||
+10
-2
@@ -1,5 +1,6 @@
|
||||
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;
|
||||
|
||||
/**
|
||||
@@ -25,9 +26,16 @@ public interface IProcessHandleService {
|
||||
/**
|
||||
* @Author: liao
|
||||
* @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
|
||||
|
||||
+10
@@ -104,6 +104,16 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
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
|
||||
* @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.modules.activiti.entity.ProcessAll;
|
||||
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.process.fb.dto.ProcessDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
@@ -69,6 +72,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
updateProcessAll(processInfoVO);
|
||||
|
||||
// 保存选人信息
|
||||
runtimeService.setVariables(processInstanceId, userInfoMap);
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
|
||||
|
||||
// 根据流程实例id和任务处理人查询任务
|
||||
@@ -79,8 +83,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
|
||||
// 更新审批记录
|
||||
processInfoVO.setTaskId(taskId);
|
||||
processInfoVO.setCommitFlag(1); // 审批意见(1通过,2驳回)
|
||||
processInfoVO.setFinishFlag(2); // 完成注记(1进行中,2已完成)
|
||||
processInfoVO.setCommitFlag(CommitFlagEnum.PASS.getValue()); // 审批意见(1通过,2驳回)
|
||||
updateApprovalRecord(processInfoVO);
|
||||
|
||||
// 完成任务
|
||||
@@ -94,16 +97,38 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
**/
|
||||
@Override
|
||||
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
|
||||
* @Date: 2023/11/6 12:00
|
||||
* @Description: 判断是否存在任务
|
||||
* @Description: 判断是否是自己的任务
|
||||
**/
|
||||
@Override
|
||||
public void isTaskExist(String taskId) {
|
||||
public void isMyTask(String taskId) {
|
||||
if (StringUtils.isBlank(taskId)) {
|
||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "taskId");
|
||||
}
|
||||
@@ -111,6 +136,27 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
if (Objects.isNull(task)) {
|
||||
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.setCommitText(processInfoVO.getHandleText()); // 审批内容
|
||||
approvalRecord.setCommitFile(processInfoVO.getHandleFile()); // 审批附件
|
||||
approvalRecord.setFinishFlag(processInfoVO.getFinishFlag()); // 完成注记(1进行中,2已完成)
|
||||
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue()); // 完成注记(1进行中,2已完成)
|
||||
approvalRecord.setEndTime(new Date()); // 完成时间
|
||||
processApprovalRecordService.updateById(approvalRecord);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user