Appearance
GET /dm-store/store/transfer/del
触发按钮:delTransferAjax
入参
传递对象:Long[]
| 字段 | 类型 | 必填 | 多选 | 校验规则 | 说明 |
|---|---|---|---|---|---|
| ids | Long[] | 否 | 否 | - | 待删除物料主数据 id 集合 |
出参
传递对象:ResultData
无
前端校验规则
权限校验
└── 删除按钮权限
└── v-auth: 'inventory:transfers:delet:popup'
提交拦截校验
└── delTransferAjax
└── selectionData.length > 1 时直接拦截,并提示 warning(removingSingle)后端逻辑
业务流程:定位调拨单并校验可删除性 -> 查询关联调拨明细 -> 调拨中时恢复冻结库存 -> 删除明细与调拨单
├── 查询调拨单:getById :128
├── 校验删除条件
│ └── 已完成调拨不允许删除 :133-135
├── 查询关联调拨明细:StoreTransferOrderTailService.list :137-139
│ └── 条件: transferOrderNo=调拨单号 且 isDelete=0
├── 调拨中时恢复冻结库存
│ ├── 生成库存恢复清单:addStockMain :142
│ └── 恢复冻结库存:StoreTransferOrderTailService.recoveryBlocked :188
│ ├── 查询库存主账:StockMainService.getOne :680-683
│ ├── 查询库存明细:StockDetailService.list :688-689
│ └── 回退冻结数量
│ ├── 普通件:StockDetailService.updateById :697-698
│ ├── 序列件:StockDetailService.updateById :707-708
│ └── 箱号件:StockDetailService.updateById :718-719
└── 删除调拨明细与主单
├── 删除调拨明细:StoreTransferOrderTailService.removeByIds :152
└── 删除调拨单:removeById :155后端校验规则
数据存在性校验
├── 校验调拨单是否存在:delOrdersById :128-130
│ └── ExceptionCode.EX100010
└── 校验恢复冻结所需库存数据存在:recoveryBlocked :680-716
└── ExceptionCode.EX90114
状态类校验
├── 校验调拨单已完成时不可删除:delOrdersById :133-135
│ └── ExceptionCode.EX800045
└── 校验库存管控类型合法:recoveryBlocked :720-721
└── ExceptionCode.EX90104涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| transfers | TransfersMapper.LambdaUpdateWrapper.update | 更新 is_delete、update_user、update_time |