Appearance
POST /dm-store/process/delete
Content-Type: application/json
触发按钮:processdeleteArr
入参
传递对象:Long[]
| 字段 | 类型 | 必填 | 多选 | 校验规则 | 说明 |
|---|---|---|---|---|---|
| ids | Long[] | 否 | 否 | - | 待删除物料主数据 id 集合 |
出参
传递对象:ResultData
无
前端校验规则
权限校验
├── 批量删除按钮
│ └── v-auth: 'information:process:delet:popup'
└── 行删除按钮
└── code: 'information:process:delet:popup'
提交拦截校验
├── 批量删除
│ ├── selectionData.length === 0 时按钮禁用
│ ├── 需先通过确认弹窗
│ └── 取消确认后中断删除
└── 单条删除
├── 需先通过确认弹窗
└── 取消确认后中断删除后端逻辑
业务流程:校验制程是否被线体引用 -> 拦截已被引用的数据删除 -> 批量标记制程为已删除
├── 校验制程引用关系
│ ├── 查询关联线体:LineMapper.searchList :247
│ └── 条件
│ ├── line.is_delete = 0
│ └── process.id in processIds
├── 判断是否允许删除
│ └── 已存在线体引用时终止删除 :249
└── 批量逻辑删除制程
└── 更新删除状态:ProcessServiceImpl.update :253-259
├── 条件
│ ├── id in ids
│ └── isDelete = 0
└── 状态变化
└── isDelete -> 1后端校验规则
占用/冲突/前置条件校验
└── 生效条件: 删除制程时,lineMapper.searchList 非空;校验制程是否已被线别数据引用,命中则禁止删除:delete :245-250
└── ExceptionCode.EX90151涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| store.process | ProcessMapper.LambdaUpdateWrapper.update | 更新 is_delete、update_user、update_time |