瀏覽代碼

通用事项:根据流程实例id查询对象信息

dongpo 1 年之前
父節點
當前提交
40443925b9

+ 12 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/universal/OaUniversalController.java

@@ -121,9 +121,19 @@ public class OaUniversalController {
         return success(respVO, "查询对象成功");
     }
 
+    @GetMapping("/getByProcInstId")
+    @Operation(summary = "根据流程实例id获得通用事项审批流程信息")
+    @Parameter(name = "procInstId", description = "流程实例id", required = true, example = "9528a78d-457e-11ef-853c-4c034fce6445")
+    @ApiOperationSupport(order = 10)
+    // @PreAuthorize("@ss.hasPermission('bpm:oa-universal:query-proc-inst-id')")
+    public CommonResult<OaUniversalRespVO> getOaUniversalByProcInstId(@RequestParam("procInstId") String procInstId) {
+        OaUniversalRespVO respVO = oaUniversalService.getOaUniversalByProcInstId(procInstId);
+        return success(respVO, "查询对象成功");
+    }
+
     @GetMapping("/page")
     @Operation(summary = "获得通用事项审批流程信息分页")
-    @ApiOperationSupport(order = 10)
+    @ApiOperationSupport(order = 11)
     // @PreAuthorize("@ss.hasPermission('bpm:oa-universal:query-page')")
     public CommonResult<PageResult<OaUniversalRespVO>> getOaUniversalPage(@Valid OaUniversalPageReqVO pageReqVO) {
         return success(oaUniversalService.getOaUniversalPage(pageReqVO), "查询列表成功");
@@ -131,7 +141,7 @@ public class OaUniversalController {
 
     @GetMapping("/export-excel")
     @Operation(summary = "导出通用事项审批流程信息 Excel")
-    @ApiOperationSupport(order = 11)
+    @ApiOperationSupport(order = 12)
     // @PreAuthorize("@ss.hasPermission('bpm:oa-universal:export')")
     @ApiAccessLog(operateType = EXPORT)
     public void exportOaUniversalExcel(@Valid OaUniversalPageReqVO pageReqVO,

+ 2 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/universal/OaUniversalService.java

@@ -32,6 +32,8 @@ public interface OaUniversalService {
 
     OaUniversalRespVO getOaUniversal(Long id);
 
+    OaUniversalRespVO getOaUniversalByProcInstId(String procInstId);
+
     PageResult<OaUniversalRespVO> getOaUniversalPage(OaUniversalPageReqVO pageReqVO);
 
     PageResult<OaUniversalRespVO> exportOaUniversalExcel(OaUniversalPageReqVO pageReqVO);

+ 42 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/universal/OaUniversalServiceImpl.java

@@ -459,6 +459,48 @@ public class OaUniversalServiceImpl implements OaUniversalService {
         return oaUniversalRespVO;
     }
 
+    @Override
+    public OaUniversalRespVO getOaUniversalByProcInstId(String procInstId) {
+        OaUniversalDO oaUniversalDO = oaUniversalMapper.selectOne(OaUniversalDO::getProcInstId, procInstId);
+        OaUniversalRespVO oaUniversalRespVO = BeanUtils.toBean(oaUniversalDO, OaUniversalRespVO.class);
+        if (oaUniversalDO.getDeptId() != null) {
+            DeptRespDTO dept = deptApi.getDept(oaUniversalDO.getDeptId());
+            if (dept != null) {
+                oaUniversalRespVO.setDeptName(dept.getName());
+            }
+        }
+
+        // 附件列表
+        List<FileDTO> fileList = fileApi.getFileDTOListByBiz(oaUniversalDO.getUniversalId());
+        oaUniversalRespVO.setFileList(fileList);
+
+        // 审批记录
+        if (StrUtil.isNotBlank(oaUniversalDO.getProcInstId())) {
+            List<BpmTaskRespVO> auditRecordList = bpmTaskService.getAuditRecordListByProcessInstanceId(oaUniversalDO.getProcInstId());
+            oaUniversalRespVO.setAuditRecordList(auditRecordList);
+        }
+
+        // 审批人
+        String startUserSelectAssignees = oaUniversalDO.getStartUserSelectAssignees();
+        if (StrUtil.isNotEmpty(startUserSelectAssignees)) {
+            List<Long> userIdList = Arrays.stream(startUserSelectAssignees.split(","))
+                    .map(Long::valueOf).collect(Collectors.toList());
+            List<AdminUserRespDTO> userList = adminUserApi.getUserList(userIdList);
+            List<AdminUserRespDTO> auditUserList = new ArrayList<>();
+            for (Long userId : userIdList) {
+                for (AdminUserRespDTO adminUserRespDTO : userList) {
+                    if (Objects.equals(userId, adminUserRespDTO.getId())) {
+                        auditUserList.add(adminUserRespDTO);
+                        break;
+                    }
+                }
+            }
+            oaUniversalRespVO.setAuditUserList(auditUserList);
+        }
+
+        return oaUniversalRespVO;
+    }
+
     @Override
     public PageResult<OaUniversalRespVO> getOaUniversalPage(OaUniversalPageReqVO pageReqVO) {
         PageResult<OaUniversalDO> oaUniversalDOPageResult = oaUniversalMapper.selectPage(pageReqVO);