| | |
| | | import cn.iocoder.yudao.module.bpm.convert.task.BpmProcessInstanceConvert; |
| | | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO; |
| | | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO; |
| | | import cn.iocoder.yudao.module.bpm.service.attach.BpmBusinessAttachService; |
| | | import cn.iocoder.yudao.module.bpm.service.definition.BpmCategoryService; |
| | | import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService; |
| | | import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService; |
| | |
| | | private BpmProcessDefinitionService processDefinitionService; |
| | | @Resource |
| | | private BpmCategoryService categoryService; |
| | | @Resource |
| | | private BpmBusinessAttachService businessAttachService; |
| | | |
| | | @Resource |
| | | private AdminUserApi adminUserApi; |
| | |
| | | |
| | | @GetMapping("/my-page") |
| | | @Operation(summary = "获得我的实例分页列表", description = "在【我的流程】菜单中,进行调用") |
| | | @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") |
| | | public CommonResult<PageResult<BpmProcessInstanceRespVO>> getProcessInstanceMyPage( |
| | | @Valid BpmProcessInstancePageReqVO pageReqVO) { |
| | | PageResult<HistoricProcessInstance> pageResult = processInstanceService.getProcessInstancePage( |
| | |
| | | @GetMapping("/get") |
| | | @Operation(summary = "获得指定流程实例", description = "在【流程详细】界面中,进行调用") |
| | | @Parameter(name = "id", description = "流程实例的编号", required = true) |
| | | @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") |
| | | public CommonResult<BpmProcessInstanceRespVO> getProcessInstance(@RequestParam("id") String id) { |
| | | HistoricProcessInstance processInstance = processInstanceService.getHistoricProcessInstance(id); |
| | | if (processInstance == null) { |
| | |
| | | @GetMapping("/get-approval-detail") |
| | | @Operation(summary = "获得审批详情") |
| | | @Parameter(name = "id", description = "流程实例的编号", required = true) |
| | | @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") |
| | | @SuppressWarnings("unchecked") |
| | | public CommonResult<BpmApprovalDetailRespVO> getApprovalDetail(@Valid BpmApprovalDetailReqVO reqVO) { |
| | | if (StrUtil.isNotEmpty(reqVO.getProcessVariablesStr())) { |
| | |
| | | |
| | | @GetMapping("/get-next-approval-nodes") |
| | | @Operation(summary = "获取下一个执行的流程节点") |
| | | @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") |
| | | @SuppressWarnings("unchecked") |
| | | public CommonResult<List<BpmApprovalDetailRespVO.ActivityNode>> getNextApprovalNodes(@Valid BpmApprovalDetailReqVO reqVO) { |
| | | if (StrUtil.isNotEmpty(reqVO.getProcessVariablesStr())) { |
| | |
| | | @GetMapping("/get-bpmn-model-view") |
| | | @Operation(summary = "获取流程实例的 BPMN 模型视图", description = "在【流程详细】界面中,进行调用") |
| | | @Parameter(name = "id", description = "流程实例的编号", required = true) |
| | | @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") |
| | | public CommonResult<BpmProcessInstanceBpmnModelViewRespVO> getProcessInstanceBpmnModelView( |
| | | @RequestParam(value = "id") String id) { |
| | | return success(processInstanceService.getProcessInstanceBpmnModelView(id)); |
| | |
| | | @GetMapping("/get-print-data") |
| | | @Operation(summary = "获得流程实例的打印数据") |
| | | @Parameter(name = "id", description = "流程实例的编号", required = true) |
| | | @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") |
| | | public CommonResult<BpmProcessPrintDataRespVO> getProcessInstancePrintData( |
| | | @RequestParam("processInstanceId") String processInstanceId) { |
| | | HistoricProcessInstance historicProcessInstance = processInstanceService.getHistoricProcessInstance(processInstanceId); |
| | |
| | | List<HistoricTaskInstance> tasks = taskService.getFinishedTaskListByProcessInstanceIdWithoutCancel(processInstanceId); |
| | | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap( |
| | | convertSet(tasks, item -> Long.valueOf(item.getAssignee()))); |
| | | return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData(historicProcessInstance, |
| | | BpmProcessPrintDataRespVO printData = BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData( |
| | | historicProcessInstance, |
| | | processDefinitionService.getProcessDefinitionInfo(historicProcessInstance.getProcessDefinitionId()), |
| | | tasks, userMap, |
| | | new UserSimpleBaseVO().setNickname(startUser.getNickname()).setDeptName(dept.getName()))); |
| | | new UserSimpleBaseVO().setNickname(startUser.getNickname()).setDeptName(dept.getName())); |
| | | // 填充业务附件配置,实现打印自动展示外部业务信息 |
| | | businessAttachService.fillBusinessForm(printData.getProcessInstance().getProcessDefinition(), |
| | | processDefinitionService.getProcessDefinition(historicProcessInstance.getProcessDefinitionId()).getKey(), |
| | | historicProcessInstance.getBusinessKey()); |
| | | return success(printData); |
| | | } |
| | | |
| | | } |