Skip to content

POST /dm-device/deviceIssues/batchDelete

Content-Type: application/json

触发按钮:deviceIssuesDeleteAjax

入参

出参

传递对象:ResultData

前端校验规则

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

后端逻辑

text
业务流程:整理删除目标后校验占用关系并逻辑删除设备问题
├── 整理删除目标
│   └── DeviceIssuesClassificationServiceImpl.batchDelete :400-416
├── 校验问题是否被维修工单占用
│   ├── 定位待删问题:getById :378
│   ├── 查询占用工单:RepairWorkOrdersService.list :382-385
│   └── 存在占用工单则终止删除 :386-387
└── 逻辑删除设备问题
    └── update :390-393

后端校验规则

text
后端校验
├── 数据存在性校验
│   └── 校验待删除设备问题是否存在:deleteById :378-380
│       └── ExceptionCode.EX502010
├── 占用冲突校验
│   └── 校验设备问题未被维修工单占用:deleteById :382-387
│       └── ExceptionCode.EX1000109
└── 批量数量约束
    └── 去重去空后删除数量不得超过100条:batchDelete :405-412
        └── ExceptionCode.EX200090

涉及数据库表