Appearance
GET /dm-store/transfer/personal/cancel
触发按钮:无
入参
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
└── 取消按钮
└── v-auth: 'personalInventory:transfers:cancel:popup'
条件校验逻辑
└── cancel
└── 仅在 row.orderStatus === 10 时生效(disabledFn: row.orderStatus !== 10)
提交拦截校验
└── cancel
└── this.$confirm 未确认时中断提交后端逻辑
业务流程:定位待取消的个人调拨单 -> 回退明细对应的个人冻结库存 -> 更新单据为取消状态 -> 取消审批流程
├── 查询调拨单:getOne :311-313
│ └── 条件: transferOrderNo=orderNo 且 isDelete=0
├── 判断单据是否可取消
│ └── 仅允许发起状态取消 :317-318
├── 查询调拨明细:PersonalTransferOrderDetailService.list :322-324
│ └── 条件: transferOrderNo=order.transferOrderNo 且 isDelete=0
├── 恢复个人冻结库存:PersonalTransferOrdersServiceImpl.recoveryPersonStore :293-305
│ ├── 查询个人库存:PersonalPartStoreService.getById :298
│ └── 更新个人冻结库存:PersonalPartStoreService.updateById :304
├── 更新单据为取消状态:updateById :341
└── 取消审批流程:BaseFlowService.cancelProcess :196-198
└── flowClient.cancelProcess :197后端校验规则
数据存在性校验
├── 校验调拨单是否存在:cancelOrder :311-316
│ └── ExceptionCode.EX100007
└── 校验个人库存记录是否存在:recoveryPersonStore :298-300
└── ExceptionCode.EX90123
状态类校验
└── 校验调拨单仅在发起状态可取消:cancelOrder :317-319
└── ExceptionCode.EX500028涉及数据库表
无