Skip to content

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

涉及数据库表