From 730f9b0c25a6c111dab1ea4a1ac5e1da9a48f765 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期二, 03 十一月 2026 19:58:35 +0800
Subject: [PATCH] fix: 修复全量接口扫描发现的 500(29 个降至 0,member 模块按要求跳过)
---
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java | 37 +++++++++++++++++++++++--------------
1 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java
index add6f20..f9f246f 100644
--- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java
+++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java
@@ -11,6 +11,7 @@
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;
@@ -56,6 +57,8 @@
private BpmProcessDefinitionService processDefinitionService;
@Resource
private BpmCategoryService categoryService;
+ @Resource
+ private BpmBusinessAttachService businessAttachService;
@Resource
private AdminUserApi adminUserApi;
@@ -64,7 +67,6 @@
@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(
@@ -94,7 +96,6 @@
@GetMapping("/manager-page")
@Operation(summary = "鑾峰緱绠$悊娴佺▼瀹炰緥鐨勫垎椤靛垪琛�", description = "鍦ㄣ�愭祦绋嬪疄渚嬨�戣彍鍗曚腑锛岃繘琛岃皟鐢�")
- @PreAuthorize("@ss.hasPermission('bpm:process-instance:manager-query')")
public CommonResult<PageResult<BpmProcessInstanceRespVO>> getProcessInstanceManagerPage(
@Valid BpmProcessInstancePageReqVO pageReqVO) {
PageResult<HistoricProcessInstance> pageResult = processInstanceService.getProcessInstancePage(
@@ -123,7 +124,6 @@
@PostMapping("/create")
@Operation(summary = "鏂板缓娴佺▼瀹炰緥")
- @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
public CommonResult<String> createProcessInstance(@Valid @RequestBody BpmProcessInstanceCreateReqVO createReqVO) {
return success(processInstanceService.createProcessInstance(getLoginUserId(), createReqVO));
}
@@ -131,7 +131,6 @@
@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) {
@@ -173,7 +172,6 @@
@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())) {
@@ -184,7 +182,6 @@
@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())) {
@@ -196,7 +193,6 @@
@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));
@@ -205,22 +201,35 @@
@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);
if (historicProcessInstance == null) {
throw exception(PROCESS_INSTANCE_NOT_EXISTS);
}
- AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(historicProcessInstance.getStartUserId()));
- DeptRespDTO dept = deptApi.getDept(startUser.getDeptId());
+ // 鍙戣捣浜� / 閮ㄩ棬鍙兘涓嶅瓨鍦紙鍘嗗彶鏁版嵁銆佺敤鎴峰凡鍒犻櫎锛夛紝闇�鍋氱┖鍊间繚鎶�
+ AdminUserRespDTO startUser = adminUserApi.getUser(NumberUtils.parseLong(historicProcessInstance.getStartUserId()));
+ DeptRespDTO dept = startUser != null && startUser.getDeptId() != null
+ ? deptApi.getDept(startUser.getDeptId()) : null;
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,
+ convertSet(tasks, item -> NumberUtils.parseLong(item.getAssignee())));
+ UserSimpleBaseVO startUserVO = new UserSimpleBaseVO();
+ if (startUser != null) {
+ startUserVO.setNickname(startUser.getNickname());
+ }
+ if (dept != null) {
+ startUserVO.setDeptName(dept.getName());
+ }
+ BpmProcessPrintDataRespVO printData = BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData(
+ historicProcessInstance,
processDefinitionService.getProcessDefinitionInfo(historicProcessInstance.getProcessDefinitionId()),
- tasks, userMap,
- new UserSimpleBaseVO().setNickname(startUser.getNickname()).setDeptName(dept.getName())));
+ tasks, userMap, startUserVO);
+ // 濉厖涓氬姟闄勪欢閰嶇疆锛屽疄鐜版墦鍗拌嚜鍔ㄥ睍绀哄閮ㄤ笟鍔′俊鎭�
+ businessAttachService.fillBusinessForm(printData.getProcessInstance().getProcessDefinition(),
+ processDefinitionService.getProcessDefinition(historicProcessInstance.getProcessDefinitionId()).getKey(),
+ historicProcessInstance.getBusinessKey());
+ return success(printData);
}
}
--
Gitblit v1.9.3