Skip to content

POST /dm-device/deviceType/batchDelete

Content-Type: application/json

触发按钮:batchDeleteDeviceByIdAjax

入参

出参

传递对象:ResultData

前端校验规则

前端校验
├── 权限校验
│   └── 批量删除按钮权限
│       └── v-auth: 'information:deviceType:delete:popup'
└── 提交拦截校验
    └── batchDeleteDeviceByIdAjax
        └── selectionData.length === 0 时按钮禁用,无法触发批量删除

后端逻辑

业务流程:遍历待删设备类型 -> 校验设备台账占用 -> 软删除设备类型 -> 级联软删除关联子数据
├── 逐个执行删除:DeviceTypeService.deleteById :751-752
├── 校验设备台账占用:DeviceCheckDelService.delCheck :699
├── 软删除设备类型:update :703-707
└── 级联软删除关联子数据
    ├── 软删除备件耗材:update :711-714
    ├── 软删除仪表配置:update :716-719
    ├── 软删除安全提示:update :721-724
    └── 软删除规格参数:update :726-729

后端校验规则

后端校验
├── 前置条件校验
│   ├── 校验删除ID集合不能为空 :737-740
│   │   └── ExceptionCode.EX200090
│   └── 校验单次删除数量不得超过100条 :741-749
│       └── ExceptionCode.EX200090
├── 数据存在性校验
│   └── 校验设备类型是否存在:deleteById :692-695
│       └── ExceptionCode.EX502010
└── 占用校验
    └── 校验设备类型未被设备台账引用:deleteById :697-700
        └── ExceptionCode.EX1000023

涉及数据库表