Skip to content

GET /dm-store/store/transfer/del

触发按钮:delTransferAjax

入参

传递对象:Long[]

字段类型必填多选校验规则说明
idsLong[]-待删除物料主数据 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描述
transfersTransfersMapper.LambdaUpdateWrapper.update更新 is_delete、update_user、update_time