Skip to content

POST /dm-device/repairWorkOrders/page

Content-Type: application/json

触发按钮:pageAjax

入参

传递对象:RepairWorkOrdersQueryVo

字段类型必填多选校验规则说明
fieldString--
orderString--
factoryNoString--
IdsSet<Long>-id集合
workOrderNoString-工单单号
deviceCodeString-设备识别码
deviceNoString-设备代号
lineNoString-线体代号
urgencyDegreeInteger-紧急程度
orderStatusInteger-工单状态
signInTimeStartDate-签到时间-开始
signInTimeEndDate-签到时间-结束
repairTimeStartDate-维修时间-开始
repairTimeEndDate-维修时间-结束
deptListList<String>-部门代号
excutorNoString--
queryDataString-app维修工单搜索检索条件
statusSetSet--
productLineSetSet<String>-产品线集合
lineVoListSet<String>-线体集合
isStatInteger-是否统计类接口 1、是 其他、否
deviceTypeNamesList<String>-设备种类集合
deviceClassifysList<Integer>--
deviceTypeNosList<String>--
deviceTypeVoListList<DeviceTypeVo>--
deviceNosList<String>--
secondsDiffint--
issueCodeString--
issueNameString--
issueClassifyLong--
deviceClassifyInteger--
deviceTypeNameString--
deviceTypeNoString--

出参

传递对象:ResultData,前端实际消费的是 data 中的 rows / total。<rows + total>

json
{
  "id": "",
  "partNo": "",
  "partCode": "",
  "partName": "",
  "bigCategory": "",
  "...": "..."
}

前端校验规则

表单校验
├── workOrderNo
│   └── 输入值自动 trim
├── deviceCode
│   └── 输入值自动 trim
├── productLineSet
│   └── 仅支持多选
├── reportTime
│   ├── 仅支持日期范围
│   └── 值格式:yyyy-MM-dd
├── signInTime
│   ├── 仅支持日期范围
│   └── 值格式:yyyy-MM-dd
└── repairTime
    ├── 仅支持日期范围
    └── 值格式:yyyy-MM-dd

后端逻辑

业务流程:按权限限定可见范围 -> 分页查询维修工单 -> 补充设备图片 -> 标记待确认工单 -> 补充问题与措施信息

├── 按权限限定可见范围
│   ├── 统计查询时判断是否具备全量查看权限:UserClient.queryUserReportFlag :117
│   │   ├── UserServiceImpl.queryUserReportFlag :402-407
│   │   └── UserMapper.queryUserReportFlag :275-279
│   └── 无全量权限时按当前用户部门过滤
│       ├── 查询当前用户可见部门:DeptClient.queryDeptByCurrentUser :1114
│       │   └── DepartmentServiceImpl.queryDeptByCurrentUser :288-295
│       └── 部门范围
│           ├── 先取用户归属部门
│           └── 无归属部门时放开到当前工厂全部部门
├── 分页查询维修工单
│   ├── RepairWorkOrdersMapper.selectPage :133
│   └── 查询范围
│       ├── repair_work_orders 关联 device_main、device_type :5-24
│       ├── 仅查询未删除工单 :25-28
│       ├── 按当前工厂、部门范围过滤 :29-33,76-80
│       └── 支持工单号、设备编码、设备代号、线体、紧急程度、工单状态、时间区间、执行人、产品线、ID 集合检索 :34-102
├── 补充设备图片
│   ├── 批量查询设备附件:FileClient.listFile :144
│   │   ├── FileController.listFile :103-105
│   │   └── FileServiceImpl.selectFiles :134-147
│   └── 按 deviceId 关联设备首张图片
├── 标记待确认工单
│   └── 条件
│       ├── 工单状态 = 3
│       └── designatedConfirmNo = 当前用户 :158-166
└── 补充问题与措施信息
    ├── 查询工单详情:RepairWorkOrdersServiceImpl.getRepairWorkOrdersById :169
    │   └── RepairWorkOrdersMapper.selectRepairWorkOrdersById :111-135
    └── 回填字段
        ├── 问题分类 / 问题描述 / 问题代码
        └── 最终结论、临时措施、长久措施及责任/完成时间

后端校验规则

条件业务约束
└── 分页查询按报表权限限制部门查询范围(生效条件:isStat=1 且 queryUserReportFlag 返回空、空串或非"1";或 isStat≠1。条件表达式:vo.setDeptList(getDeptList())):pages :115-127
    └── 部门范围取当前登录人部门及下级部门:getDeptList :1113-1125

涉及数据库表

库名.表名mapper.statement描述
repair_work_ordersRepairWorkOrdersMapper.selectPage按筛选条件分页查询order数据
远程服务数据userClient.queryUserReportFlaguserClient
repair_work_orders_mapperrepairWorkOrdersMapper.selectPagerepairWorkOrdersMapper
附件数据fileClient.listFile批量查询附件并补充图片地址