feat(mcp): 新增仓库单据处理人改派写工具 warehouse.order.handler.update(REQ-20261107-0002)

- 平台首个 kind=write 工具,研发/运维专用 scope 门禁,无行级权限
- 按单号改派出库/入库/调拨/划转单当前待办处理人:UPDATE 流程物理表
  warehouse_out_audit_process / warehouse_in_audit_process / warehouse_allocati_process
  的 schedule_state=1 待办行 user_id/user_name,补 modify_id/modify_time
- 调拨/划转按 warehouse_allocation.op_type(0/2) 一致性校验;并行待办行全部改派
- 新处理人按手机号查 m0 user(soft_delete=0 精确匹配);服务身份 Token 拒绝
- 新增 WarehouseAllocatiProcess 实体+Mapper,WarehouseAllocation 补 orderState 列
- 525 tests 全绿(+10)
This commit is contained in:
my_local_kimi_dev2
2026-11-07 16:28:22 +08:00
parent 1a7a761a66
commit 52ffe8eac2
10 changed files with 771 additions and 2 deletions
@@ -1201,6 +1201,30 @@
---
## 52. warehouse.order.handler.update
仓库单据当前待办处理人改派(**写工具,平台首个 kind=write**,REQ-20261107-0002),研发/运维专用。
- 分类:admin | 类型:写(readOnlyHint=false / destructiveHint=true)
- 入参:`orderType`(out 出库 / in 入库 / allocation 调拨 / transfer 划转,必填)、
`orderNo`(单号精确匹配,必填)、`newHandlerMobile`(新处理人手机号,m0 `user.mobile`
精确匹配且 `soft_delete=0`,必填)、`memo`(改派原因,可选)。
- 机制:UPDATE 流程物理表 `warehouse_out_audit_process` / `warehouse_in_audit_process` /
`warehouse_allocati_process`(注意拼写少一个 on)中 `schedule_state=1 AND soft_delete=0`
的待办行 `user_id`/`user_name`,并补 `modify_id`(调用方)/`modify_time`;
并行多条待办行全部改派。不动主表、不重推审批流、不发消息通知。
- 校验:调拨要求 `op_type=0`、划转要求 `op_type=2`,不一致 INVALID_ARGUMENT;
无待办行(已完成/已撤销/作废)NOT_FOUND_OR_FORBIDDEN 并附 orderStateText;
手机号无有效用户 INVALID_ARGUMENT;服务身份 Token PERMISSION_DENIED(改派人须可追溯)。
- 权限:**无行级权限**,任何单据都可改,访问控制完全靠 scope 绑定——只绑"研发专用" scope,
不绑 1/2/3/5。审计由 GuardedToolCallback 自动落 svc `audit_log`,工具内另打 before/after 日志。
- 返回:`orderType/orderNo/orderId/orderState/orderStateText/changedRows`
(processId + 新旧 userId/userName)`/changedCount/requestId`。
详细设计见 [warehouse-order-handler-update-mcp-design](warehouse-order-handler-update-mcp-design.md)。
---
## 附录:在线查看工具清单
```bash