Appearance
POST /dm-store/productLine/delete
Content-Type: application/json
触发按钮:productLinedeleteArr
入参
传递对象:Long[]
| 字段 | 类型 | 必填 | 多选 | 校验规则 | 说明 |
|---|---|---|---|---|---|
| ids | Long[] | 否 | 否 | - | 待删除物料主数据 id 集合 |
出参
传递对象:ResultData
无
前端校验规则
权限校验
└── 删除按钮权限
├── 批量删除按钮:v-auth: 'information:productLine:delet:popup'
└── 行删除按钮:v-auth: 'information:productLine:delet:popup'
提交拦截校验
└── deleteProductLine / deleteProductLineArr
├── 批量删除:selectionData.length === 0 时按钮禁用
└── 命中 this.$confirm 确认后才允许执行删除后端逻辑
业务流程:查询待删除产品线 -> 校验是否存在库存占用 -> 逻辑删除产品线
├── 查询待删除产品线
│ └── 查询产品线:list :252
│ └── 条件
│ ├── id in 入参 ids
│ └── isDelete=0
├── 校验是否存在库存占用
│ ├── 查询关联库存台账:StockMainService.findListByParam :256
│ │ ├── 条件
│ │ │ ├── isDelete=0
│ │ │ └── productLineNo in 待删除产品线编号
│ │ └── 查询库存台账:list :1643
│ └── 存在库存台账则终止删除
└── 逻辑删除产品线
└── 更新删除状态:update :262-268
├── 条件
│ ├── id in 入参 ids
│ └── isDelete=0
└── 状态变化
└── isDelete=1后端校验规则
占用/冲突校验
└── 删除前校验产品线是否已被库存使用:delete :248-258
├── 生效条件: 根据待删除产品线 ID 查到未删除的产品线数据后,提取产品线编号进行校验
├── 条件表达式: stockMainService.findListByParam 返回非空
└── ExceptionCode.EX90152涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| store.product_line | ProductLineMapper.LambdaUpdateWrapper.update | 更新 is_delete、update_user、update_time |
| store.stock_main | stockMainService.findListByParam | stockMainService |