Appearance
POST /dm-device/deviceIssues/add
Content-Type: application/json
触发按钮:deviceIssuesAddAjax
入参
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
├── 新增按钮权限
│ └── v-auth: 'information:classification:add:popup'
├── 表单校验
│ ├── issueClassify(问题分类)
│ │ └── required: true, trigger: change
│ └── description(故障现象)
│ └── required: true, trigger: change
└── 提交拦截校验
└── approvalAction
└── this.$refs.form.validate 校验未通过时,不触发 addAction 提交后端逻辑
业务流程:校验问题唯一性 -> 生成问题编码 -> 保存问题分类记录
├── 校验问题唯一性
│ ├── 查询未删除的同分类同描述问题:list :180-183
│ ├── 条件:
│ │ ├── issueClassify
│ │ ├── description
│ │ └── isDelete=0
│ └── 已存在则终止新增
├── 生成问题编码
│ ├── RedisKey: device:issueCode :187
│ ├── 生成序列:RedisService.getCommonAutoincrementNo :292-299
│ ├── 编码规则
│ │ └── EX + 6 位流水 :187
│ └── 绑定问题编码
└── 保存问题分类记录
└── 新增问题分类主记录:save :191后端校验规则
业务唯一性校验
└── 校验问题分类+问题描述是否重复:addIssuesClassification :180-185
└── ExceptionCode.EX1000110涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| classification | ClassificationMapper.insert | 新增classification数据 |