Skip to content

POST /dm-store/productLine/delete

Content-Type: application/json

触发按钮:productLinedeleteArr

入参

传递对象:Long[]

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