feat(flow): 用户面四查询(todo/done/cc/my)支持 appKey 按应用筛选
build / build-push (push) Successful in 48s

工作台四页签加「按应用筛选」:controller 收可选 appKey,经 FlowQueryService
透传到分页查询;口径=办件定义归属 flw_def.app_key(join flw_instance→flw_def,
均多对一,不影响已办「一个办件一行」的去重与分页)。appKey 空串按不过滤处理
(emptyToNull),避免清筛选后误成空列表。FlwCcRepository 抄送派生查询相应改
@Query 以支持 join 过滤;FlowEngineIT 两处调用补 null 实参。

门禁:mvn compile/test-compile ✓ + 非 DB 单测 44 例 ✓;本机无 MySQL(3306
未监听),新 JPQL 未在真实库执行,FlowEngineIT/OapiFlowContractIT 待有库环境补跑
This commit is contained in:
chenxing
2026-10-12 11:26:11 +08:00
parent b4856a480d
commit c896fbb90b
6 changed files with 51 additions and 25 deletions
@@ -45,33 +45,37 @@ public class FlowUserController {
@GetMapping("/my")
public BasePageResult<FlowModels.InstanceItem> my(BoaUser user,
@RequestParam(value = "status", required = false) Integer status,
@RequestParam(value = "appKey", required = false) String appKey,
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "size", required = false) Integer size) {
return queryService.pageMy(requireSchId(user), user.getId(), status, page, size);
return queryService.pageMy(requireSchId(user), user.getId(), status, appKey, page, size);
}
/** 我的待办(主路径,走 assignee 索引) */
@GetMapping("/todo")
public BasePageResult<FlowModels.TaskItem> todo(BoaUser user,
@RequestParam(value = "appKey", required = false) String appKey,
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "size", required = false) Integer size) {
return queryService.pageTodo(requireSchId(user), user.getId(), page, size);
return queryService.pageTodo(requireSchId(user), user.getId(), appKey, page, size);
}
/** 我的已办 */
@GetMapping("/done")
public BasePageResult<FlowModels.TaskItem> done(BoaUser user,
@RequestParam(value = "appKey", required = false) String appKey,
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "size", required = false) Integer size) {
return queryService.pageDone(requireSchId(user), user.getId(), page, size);
return queryService.pageDone(requireSchId(user), user.getId(), appKey, page, size);
}
/** 我的抄送(NOTIFY 节点落库;知会不占待办,独立页签) */
@GetMapping("/cc/my")
public BasePageResult<FlowModels.CcItem> ccMy(BoaUser user,
@RequestParam(value = "appKey", required = false) String appKey,
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "size", required = false) Integer size) {
return queryService.pageCc(requireSchId(user), user.getId(), page, size);
return queryService.pageCc(requireSchId(user), user.getId(), appKey, page, size);
}
/** 办件详情(提交人/办理人/本校管理员可见) */