2.5 KiB
2.5 KiB
移机工单 MCP 查询工具设计
对应 AI-Proj 需求:REQ-20260917-0010。
工具
relocation.order.list.query:对齐老系统POST /relocationOrder/pageList,提供稳定分页和结构化状态文案。relocation.order.detail.query:按主键或移机工单号返回主单、移机明细、人员、已办流程和结单凭证。
两个工具均为 workorder/read,只读访问 m2 数据源。
数据来源
| 数据 | 表 | 关联方式 |
|---|---|---|
| 主单 | relocation_order |
id / order_no |
| 移机明细 | relocation_order_details |
order_no |
| 已办流程 | order_process |
order_no,并限定 order_type=4、schedule_state=2 |
| 当前及流程人员 | install_order_user |
install_order_no / install_order_process_id,并限定 type=2 |
| 结单凭证 | warehouse_in_out_pic |
aggregate_id=结单流程.id、in_out_allocation_type=15 |
附件仅返回 id/fileName/bucket/objectKey,服务不生成公开 URL。
列表契约
支持工单号、所属代理、项目、申请人、移机人员、协同人员、状态及申请/审核/调度/完成日期范围。
日期格式固定为 yyyy-MM-dd,结束日期按次日零点开区间实现“包含当天”。分页默认 1/20,每页上限
100,固定按 id DESC,避免旧接口未显式排序导致翻页漂移。
状态:0 待提交、1 待审核、2 被驳回、3 调度中、4 作业中、5 已完成、6 已取消。
详情契约
id 与 relocationOrderNo 至少传一个;同时传入时作为同一主查询的 AND 条件,必须命中同一记录。
不存在和无权访问均抛出 NOT_FOUND_OR_FORBIDDEN。
返回:
record:主单及状态文案;relocationDetails:设备、源/目标位置、卫生间类型、执行状态与备注;maintenanceUsers/cooperateUsers:当前人员;processes:非抄送的已办流程,按操作时间、ID 正序,并附流程对应人员;completionCertificates:所有结单流程关联凭证。
行级权限
列表和详情均复用 PermissionService.applyRelocationOrderRowFilter:
- 总部身份查看全部;
- 普通代理查看本代理、授权代管代理、授权代管物业范围;
- 销售非负责人查看自己创建及授权代管代理名下物业;
- 当前用户参与过
order_process且order_type=4的工单可见; - 当前用户出现在
install_order_user且type=2的工单可见,覆盖调度后尚未生成流程记录的作业人员。
代理身份未绑定代理商时失败关闭。