Appearance
POST /dm-store/partMain/delete
Content-Type: application/json
触发按钮:partMaindeleteArr
入参
传递对象:Long[]
| 字段 | 类型 | 必填 | 多选 | 校验规则 | 说明 |
|---|---|---|---|---|---|
| ids | Long[] | 否 | 否 | - | 待删除物料主数据 id 集合 |
实际入参
ts
[
2249
]出参
传递对象:ResultData
json
{
"code": 200,
"msg": "success"
}前端校验规则
text
前端校验
├── 权限校验
│ ├── 批量删除按钮
│ │ ├── v-auth: 'information:partMain:delete:popup'
│ │ └── disabled: selectionData.length === 0
│ └── 行删除按钮
│ └── code: 'information:partMain:delete:popup'
└── 提交拦截校验
├── deletePartMainArr
│ └── 删除前需通过确认弹窗;取消后中断删除
└── deletePartMain
└── 删除前需通过确认弹窗;取消后中断删除后端逻辑
text
业务流程:筛选待删物料 -> 校验库存占用 -> 逻辑删除物料主数据 -> 清理关联附件
├── 筛选待删物料
│ └── 查询待删且未删除物料:list :470-473
│ └── 条件
│ ├── id in ids
│ └── isDelete=0
├── 校验库存占用
│ └── 查询库存台账:StockMainService.findListByParam :477
│ ├── StockMainServiceImpl.findListByParam :1624-1643
│ └── 条件
│ ├── partNo in 待删物料编号
│ └── isDelete=0
├── 逻辑删除物料主数据
│ └── 逻辑删除:update :483-489
└── 清理关联附件
├── 查询物料附件:FileClient.listFile :492
│ ├── FileController.listFile :104-105
│ └── FileServiceImpl.selectFiles :134-147
│ └── 条件
│ ├── businesskey=DEVICEMATE_PART_MAIN
│ ├── targetId in ids
│ └── isDelete=0
└── 逻辑删除附件:FileClient.deleteFiles :496
├── FileController.deleteFiles :224-227
└── FileServiceImpl.deleteFiles :188-196后端校验规则
text
后端校验
└── 占用/冲突/前置条件校验
└── 校验待删物料是否已存在库存台账:StockMainService.findListByParam :477-480
└── ExceptionCode.EX90154涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| store.part_main | PartMainMapper.LambdaUpdateWrapper.update | 更新 is_delete、update_user、update_time |
| store.stock_main | stockMainService.findListByParam | stockMainService |
| 附件数据 | fileClient.listFile | 批量查询附件并补充图片地址 |
| 附件数据 | fileClient.deleteFiles | 删除旧附件文件 |