5 天以前 d21f05eca68a518409357afab2eff61c2d43db6b
docs(wm): 添加仓储单据BPM审批与设备联动实施进度文档

- 记录WM仓储单据BPM审批功能需求分析
- 详细描述阶段1三大单据补齐BPM审批闭环的现状分析
- 列出设备入库、废旧物资出入库、物资退货等业务流程改造方案
- 规划阶段2设备台账联动设备仓的实施方案
- 说明阶段3独立设备入库单的开发计划
- 提供数据库表结构变更和代码改造的具体步骤
已添加1个文件
53 ■■■■■ 文件已修改
docs/wm_bpm_progress.md 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/wm_bpm_progress.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
# WM ä»“储单据 BPM å®¡æ‰¹ + è®¾å¤‡è”动 - å®žæ–½è¿›åº¦
> è®°å½•日期:2026-09-07
> çŠ¶æ€ï¼šé˜¶æ®µ1 åˆ†æžå®Œæˆï¼Œå°šæœªæ”¹ç ï¼›é˜¶æ®µ2/3 å°šæœªå¼€å§‹
## éœ€æ±‚
1. è®¾å¤‡å…¥åº“、废旧物资出入库(杂项出入库)、物资退货(供应商退货)等全类型单据,实现线上创建、审批、查询,**全部接入真实 BPM å®¡æ‰¹**。
2. è®¾å¤‡ç®¡ç†ï¼ˆè®¾å¤‡å°è´¦ï¼‰åˆ›å»ºæ—¶è‡ªåŠ¨å…¥åº“è®¾å¤‡ä»“ï¼Œä¸Žåº“å­˜è”åŠ¨ã€‚
3. è®¾å¤‡**复用物料主数据模型**(已确认)。
## é˜¶æ®µ1:三大单据补齐 BPM å®¡æ‰¹é—­çޝ â€”— åˆ†æžå®Œæˆï¼Œæœªæ”¹ç 
### å·²ç¡®è®¤çŽ°çŠ¶ï¼ˆå¯ç›´æŽ¥é‡‡ä¿¡ï¼‰
- `MesOrderStatusConstants`:PREPARE=0, APPROVING=2, APPROVED=3, FINISHED=4, CANCELLED=5。
- çŠ¶æ€æžšä¸¾ï¼š
  - `MesWmMiscReceiptStatusEnum` / `MesWmMiscIssueStatusEnum`:只有 PREPARE/APPROVED/FINISHED/CANCELED,**缺 APPROVING,需新增**。
  - `MesWmReturnVendorStatusEnum`:已有 APPROVING(待拣货)。
- ä¸‰ä¸ª DO(`MesWmMiscReceiptDO`/`MesWmMiscIssueDO`/`MesWmReturnVendorDO`):均无 `processInstanceId` å­—段,需新增。
- ä¸‰ä¸ª Service/Impl:miscreceipt、miscissue çš„ `submit*` ç›´æŽ¥ PREPARE→APPROVED(无 BPM);returnvendor å·²æœ‰ APPROVING→(stock)→APPROVED→(finish)→FINISHED。三者均已有完整库存流水 `MesWmTransactionService.createTransactionList`,库存只在 finish ä¸­æ‰§è¡Œã€‚
- Controller:miscreceipt æœ‰ `/submit`(仅 id)/`/finish`/`/cancel`,无 submit-approval/process-list。
### æ ‡å‡† BPM æ¨¡æ¿ï¼ˆå¤ç”¨ï¼‰
- `MesWmItemReceiptController`:`/submit-approval?id=&processDefinitionKey=`。
- `MesWmItemReceiptService.submitItemReceiptApproval(id, key)` + `updateItemReceiptAuditStatus(id, bpmResult)`(APPROVE→APPROVED, REJECT→PREPARE, CANCEL→CANCELED)。
- `MesWmItemReceiptStatusListener`:监听 `BpmProcessInstanceStatusEvent`,分类 `item_receipt_approve`。
### ä¸‹ä¸€æ­¥è¦æ”¹ï¼ˆæœªå¼€å§‹ï¼‰
1. æžšä¸¾ï¼šmiscreceipt/miscissue å„加 `APPROVING(MesOrderStatusConstants.APPROVING, "审批中")`。
2. DO:三个 DO å„加 `processInstanceId`。
3. Service æŽ¥å£ + Impl:各加 `submit<Biz>Approval(id, key)`、`update<Biz>AuditStatus(id, bpmResult)`、`get<Biz>ApprovalProcessDefinitionList()`;改 `submit<Biz>` ä¸å†ä¼ªé€ å·²å®¡æ‰¹ã€‚
4. Controller:各加 `get-approval-process-list`、`submit-approval`。
5. RespVO:各加 `processInstanceId`(前端据此判"未提交审批")。
6. æ–°å¢ž 3 ä¸ªç›‘听器:`MesWmMiscReceiptStatusListener`/`MesWmMiscIssueStatusListener`/`MesWmReturnVendorStatusListener`,分类 `misc_receipt_approve`/`misc_issue_approve`/`return_vendor_approve`。
7. æ•°æ®åº“:三个表各加 `process_instance_id VARCHAR(64)`(遵守 sql-syntax/sql-script è§„范)。
## é˜¶æ®µ2:设备台账联动设备仓(未开始改码)
- å…³é”®äº‹å®žï¼š`MdmItemApi.createItem(MdmItemCreateReqDTO)` å¯å»ºç‰©æ–™ï¼ˆå¿…å¡« code/name/categoryId/unitMeasureId/itemType);`MesDvMachineryDO` æ—  item_id;内置设备仓 id=5 / åº“区 SYS-EQUIP-LOC-01(id=11) / åº“位 SYS-EQUIP-BIN-01(id=10)。
- æ–¹æ¡ˆï¼š`createMachinery` åŠ äº‹åŠ¡ â†’ å»º MDM ç‰©æ–™ â†’ æ’设备台账(item_id) â†’ è‡ªåŠ¨ç”Ÿæˆæ¡ç  â†’ `MesWmTransactionService` å…¥è®¾å¤‡ä»“(IN, qty=1)。更新/删除/导入路径同步。
## é˜¶æ®µ3:独立设备入库单(未开始)
- æ–°å¢ž `mes_wm_equipment_receipt` ä¸»è¡¨+明细表、DO/Mapper/Service/VO/Controller/枚举/业务常量,BPM é—­çŽ¯ï¼Œå®Œæˆå…¥åº“å†™è®¾å¤‡ä»“ã€‚
## æ³¨æ„
- å‰ç«¯ `mom-pro2-before` åªè¯»ï¼Œåªè¾“出 `docs/` è”调方案文档。
- è·¨æ¨¡å—改动后:`mvn compile -pl yudao-module-mes -am -q`。
- è¯¦æƒ…见计划文件:`C:\Users\云\.claude\plans\optimized-honking-pearl.md`