新增 流程提醒审批功能
This commit is contained in:
parent
c96ee7ef7c
commit
e4b9d9c6ac
@ -6,17 +6,24 @@ import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
|||||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print.BpmProcessInstancePrintDataReqVO;
|
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print.BpmProcessInstancePrintDataReqVO;
|
||||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print.BpmProcessInstancePrintDataRespVO;
|
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print.BpmProcessInstancePrintDataRespVO;
|
||||||
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.*;
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.*;
|
||||||
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
|
||||||
|
import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
|
||||||
|
import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService;
|
||||||
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import org.flowable.engine.runtime.ProcessInstance;
|
||||||
|
import org.flowable.task.api.Task;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
@ -31,6 +38,15 @@ public class BpmProcessInstanceController {
|
|||||||
@Resource
|
@Resource
|
||||||
private BpmProcessInstanceService processInstanceService;
|
private BpmProcessInstanceService processInstanceService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private BpmTaskService bpmTaskService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AdminUserApi adminUserApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private BpmMessageService messageService;
|
||||||
|
|
||||||
@GetMapping("/my-page")
|
@GetMapping("/my-page")
|
||||||
@Operation(summary = "获得我的实例分页列表", description = "在【我的流程】菜单中,进行调用")
|
@Operation(summary = "获得我的实例分页列表", description = "在【我的流程】菜单中,进行调用")
|
||||||
@PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
|
@PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
|
||||||
@ -57,6 +73,28 @@ public class BpmProcessInstanceController {
|
|||||||
return success(processInstanceService.getProcessInstanceVO(id));
|
return success(processInstanceService.getProcessInstanceVO(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/urge-approve")
|
||||||
|
@Operation(summary = "审批提醒", description = "在【流程详细】界面中,进行调用")
|
||||||
|
@Parameter(name = "id", description = "流程实例的编号", required = true)
|
||||||
|
@PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
|
||||||
|
@DataPermission(enable = false)
|
||||||
|
public CommonResult<Boolean> urgeApprove(@RequestParam("id") String id) {
|
||||||
|
|
||||||
|
//获得流程实例
|
||||||
|
ProcessInstance processInstance = processInstanceService.getProcessInstance(id);
|
||||||
|
if (processInstance != null) {
|
||||||
|
// 获得任务列表
|
||||||
|
List<BpmTaskRespVO> BpmTaskRespVOs = bpmTaskService.getTaskListByProcessInstanceId(id);
|
||||||
|
AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(processInstance.getStartUserId())).getCheckedData();
|
||||||
|
Task task = bpmTaskService.getTasksByProcessInstanceId(id).get(0);
|
||||||
|
//发送信息通知
|
||||||
|
messageService.sendMessageWhenTaskAssigned(
|
||||||
|
BpmTaskConvert.INSTANCE.convert(processInstance, startUser, task, BpmTaskRespVOs));
|
||||||
|
}
|
||||||
|
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
@DeleteMapping("/cancel")
|
@DeleteMapping("/cancel")
|
||||||
@Operation(summary = "取消流程实例", description = "撤回发起的流程")
|
@Operation(summary = "取消流程实例", description = "撤回发起的流程")
|
||||||
@PreAuthorize("@ss.hasPermission('bpm:process-instance:cancel')")
|
@PreAuthorize("@ss.hasPermission('bpm:process-instance:cancel')")
|
||||||
|
Loading…
Reference in New Issue
Block a user