# 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. 提供导出字段列表接口供前端使用