GxtEquipment功能描述和接口描述.md 8.0 KB

GxtEquipmentController 设备管理功能描述和接口描述

一、功能概述

GxtEquipmentController 是一个用于设备管理的 RESTful 控制器,主要用于管理风机设备信息。它提供了完整的设备管理功能,包括设备的增删改查、数据导入导出、品牌机型筛选、维保中心场站筛选等功能。

该控制器主要涉及以下几个核心业务场景:

  1. 设备信息的查询、新增、修改、删除
  2. 设备数据的导入和导出
  3. 品牌、机型、维保中心、场站等筛选条件的获取
  4. 设备唯一性校验(根据风机编号、维保中心和场站判断)
  5. 数据权限控制

二、核心功能详解

1. 设备信息管理

  • 提供设备信息的增删改查功能
  • 支持按条件查询设备列表
  • 支持分页查询和数据导出
  • 支持设备信息的导入和导出

2. 设备唯一性校验

  • 在新增和修改设备时,系统会根据风机编号、维保中心和场站三个字段组合判断设备唯一性
  • 如果存在相同设备,则不允许新增或提示冲突

3. 筛选条件管理

  • 提供品牌列表获取(去重)
  • 提供根据品牌获取机型列表(去重)
  • 提供维保中心列表获取(去重)
  • 提供根据维保中心获取场站列表(去重)
  • 提供所有机型列表获取(去重)

4. 数据导入导出

  • 支持设备数据的Excel导入,可选择是否支持更新已有数据
  • 支持设备数据的Excel导出,可选择导出字段
  • 提供导入模板下载功能

5. 数据权限控制

  • 基于用户角色的数据范围进行自定义权限控制
  • 支持多种数据权限模式:全部数据、自定义数据、部门数据、部门及以下数据、仅本人数据

三、接口详细描述

1. 查询设备管理列表

  • 接口地址: /gxt/equipment/list
  • 请求方法: GET
  • 功能描述: 查询设备管理列表,支持分页和条件查询
  • 请求参数:
    • GxtEquipment 对象(包含查询条件)
  • 返回结果: TableDataInfo(分页数据)

2. 驾驶舱获取设备数据筛选树状图

  • 接口地址: /gxt/equipment/listAll
  • 请求方法: GET
  • 功能描述: 获取所有设备数据,用于驾驶舱筛选树状图展示
  • 请求参数:
    • GxtEquipment 对象(包含查询条件)
  • 返回结果: TableDataInfo(完整数据列表)

3. 获取所有品牌列表(去重)

  • 接口地址: /gxt/equipment/brands
  • 请求方法: GET
  • 功能描述: 获取所有品牌列表,去除重复项并按字母排序
  • 请求参数: 无
  • 返回结果: AjaxResult(包含品牌列表)

4. 根据品牌获取机型列表(去重)

  • 接口地址: /gxt/equipment/models/{brand}
  • 请求方法: GET
  • 功能描述: 根据指定品牌获取对应的机型列表,去除重复项并按字母排序
  • 请求参数:
    • brand (String): 品牌名称(路径参数)
  • 返回结果: AjaxResult(包含机型列表)

5. 获取所有维保中心列表(去重)

  • 接口地址: /gxt/equipment/maintenanceCenters
  • 请求方法: GET
  • 功能描述: 获取所有维保中心列表,去除重复项并按字母排序
  • 请求参数: 无
  • 返回结果: AjaxResult(包含维保中心列表)

6. 根据维保中心获取场站列表(去重)

  • 接口地址: /gxt/equipment/stations/{maintenanceCenter}
  • 请求方法: GET
  • 功能描述: 根据指定维保中心获取对应的场站列表,去除重复项并按字母排序
  • 请求参数:
    • maintenanceCenter (String): 维保中心名称(路径参数)
  • 返回结果: AjaxResult(包含场站列表)

7. 获取所有机型列表(去重)

  • 接口地址: /gxt/equipment/models
  • 请求方法: GET
  • 功能描述: 获取所有机型列表,去除重复项并按字母排序
  • 请求参数: 无
  • 返回结果: AjaxResult(包含机型列表)

8. 导出设备管理列表

  • 接口地址: /gxt/equipment/export
  • 请求方法: POST
  • 功能描述: 导出设备管理数据到Excel文件
  • 请求参数:
    • GxtEquipment 对象(包含导出条件)
    • exportFields (String): 导出字段列表(可选)
  • 返回结果: HttpServletResponse(Excel文件流)

9. 获取设备管理导出字段列表

  • 接口地址: /gxt/equipment/exportFields
  • 请求方法: GET
  • 功能描述: 获取设备管理导出字段列表
  • 请求参数: 无
  • 返回结果: AjaxResult(包含导出字段信息)

10. 获取设备管理详细信息

  • 接口地址: /gxt/equipment/{equipmentId}
  • 请求方法: GET
  • 功能描述: 根据设备ID获取设备详细信息
  • 请求参数:
    • equipmentId (Long): 设备ID(路径参数)
  • 返回结果: AjaxResult(包含GxtEquipment对象)

11. 新增设备管理

  • 接口地址: /gxt/equipment
  • 请求方法: POST
  • 功能描述: 新增设备管理记录
  • 请求参数:
    • GxtEquipment 对象(包含新增数据)
  • 返回结果: AjaxResult(新增结果)

12. 修改设备管理

  • 接口地址: /gxt/equipment
  • 请求方法: PUT
  • 功能描述: 修改设备管理记录
  • 请求参数:
    • GxtEquipment 对象(包含修改数据)
  • 返回结果: AjaxResult(修改结果)

13. 删除设备管理

  • 接口地址: /gxt/equipment/{equipmentIds}
  • 请求方法: DELETE
  • 功能描述: 删除设备管理记录
  • 请求参数:
    • equipmentIds (Long[]): 设备ID数组(路径参数)
  • 返回结果: AjaxResult(删除结果)

14. 导入设备管理数据

  • 接口地址: /gxt/equipment/importData
  • 请求方法: POST
  • 功能描述: 通过Excel文件导入设备管理数据
  • 请求参数:
    • file (MultipartFile): 上传的Excel文件
    • updateSupport (Boolean): 是否支持更新已有数据
  • 返回结果: AjaxResult(导入结果信息)

15. 下载设备管理导入模板

  • 接口地址: /gxt/equipment/importTemplate
  • 请求方法: POST
  • 功能描述: 下载设备管理数据导入模板
  • 请求参数: 无
  • 返回结果: HttpServletResponse(Excel模板文件流)

四、数据处理逻辑

1. 设备唯一性校验

在新增和修改设备时,系统会根据以下三个字段的组合判断设备唯一性:

  • equipmentCode(风机编号)
  • maintenanceCenter(维保中心)
  • station(场站)

如果存在相同组合的设备,则不允许新增或提示冲突。

2. 部门信息处理

在导入设备数据时,系统会自动根据维保中心和场站名称查找对应的部门信息,并设置相应的部门ID:

  • maintenanceCenterId(维保中心ID)
  • stationId(场站ID)

3. 责任人信息处理

在导入设备数据时,系统会根据责任人姓名查找对应的系统用户,如果找到唯一用户则自动设置责任人ID。

4. 数据权限控制

系统基于用户角色的数据范围进行自定义权限控制,支持以下几种数据权限模式:

  • 全部数据权限:可查看所有设备数据
  • 自定义数据权限:只能查看指定部门的设备数据
  • 部门数据权限:只能查看本部门的设备数据
  • 部门及以下数据权限:只能查看本部门及下属部门的设备数据
  • 仅本人数据权限:只能查看自己负责的设备数据

五、异常处理

所有接口都具备完善的异常处理机制:

  • 对于业务异常(如设备重复、数据验证失败等),返回相应的错误信息
  • 对于系统异常,记录日志并返回通用错误提示
  • 确保系统的稳定性和用户体验

六、导入导出功能说明

导入功能

  1. 支持Excel文件导入设备数据
  2. 可选择是否支持更新已有数据
  3. 导入时会自动校验数据有效性
  4. 导入时会自动处理部门信息和责任人信息
  5. 提供详细的导入结果反馈

导出功能

  1. 支持Excel文件导出设备数据
  2. 可选择导出字段
  3. 提供导出字段列表接口供前端使用