diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/DeviceTypeEnum.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/DeviceTypeEnum.java index ee89a42..1bb09df 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/DeviceTypeEnum.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/DeviceTypeEnum.java @@ -21,7 +21,7 @@ public enum DeviceTypeEnum { TOWER_RAKE_MONITOR(117, "组塔倾角监测"), TOWER_WATER_MONITOR(118, "组塔拉力监测"), - LEAD_STRAIN_MONITOR(120, "牵张引线拉力监测"); + LEAD_STRAIN_MONITOR(124, "牵张引线拉力监测"); private final Integer code; diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/ProjectTypeEnum.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/ProjectTypeEnum.java index e8f58b6..b064419 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/ProjectTypeEnum.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/ProjectTypeEnum.java @@ -20,4 +20,18 @@ public enum ProjectTypeEnum { private final Integer code; private final String label; + + + /** + * 根据code获取枚举 + * @param code 枚举code + */ + public static ProjectTypeEnum getByCode(Integer code) { + for (ProjectTypeEnum item : ProjectTypeEnum.values()) { + if (item.getCode().equals(code)) { + return item; + } + } + return null; + } } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java index df52b2d..5ec699f 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java @@ -3,7 +3,9 @@ package com.bonus.base.mapper; import com.bonus.base.config.DeviceTypeEnum; import com.bonus.base.domain.TbDevice; import com.bonus.screen.vo.DeviceViewVo; +import com.bonus.screen.vo.DeviceWarnRecordVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -73,5 +75,5 @@ public interface TbDeviceMapper { DeviceTypeEnum towerWaterMonitor, DeviceTypeEnum leadStrainMonitor); - + List getDeviceModelDetailsPage(@Param("deviceTypeCode") Integer deviceTypeCode); } \ No newline at end of file diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java index 2ff19cf..fd7f27b 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java @@ -3,6 +3,8 @@ package com.bonus.base.mapper; import com.bonus.base.domain.TbArea; import com.bonus.base.domain.TbData; import com.bonus.base.domain.TbProDepart; +import org.apache.ibatis.annotations.Mapper; + import java.util.List; /** @@ -11,6 +13,7 @@ import java.util.List; * @author makejava * @since 2024-09-09 11:09:31 */ +@Mapper public interface TbProDepartMapper { /** diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java index 22f9391..81ced46 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java @@ -72,7 +72,17 @@ public interface TbProjectMapper { */ ProjectViewVo getProjectView(@Param("powerCode") Integer powerCode, @Param("lineCode") Integer lineCode); - + /** + * 查询工程区域分布列表--by大屏 + */ List getProjectListGroupArea(); + + + /** + * 根据工程类型 / 所属区域 获取工程分布列表--by大屏 + * @param projectTypeCode 工程类型code + * @param areaId 区域ID + */ + List getProjectListGroupAreaByTypeCode(@Param("projectTypeCode") Integer projectTypeCode, @Param("areaId") Integer areaId); } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/controller/ProjectViewController.java b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/controller/ProjectViewController.java index 26a2ce7..80e1c93 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/controller/ProjectViewController.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/controller/ProjectViewController.java @@ -1,6 +1,7 @@ package com.bonus.screen.controller; import com.bonus.base.config.ProjectTypeEnum; +import com.bonus.base.service.TbUserPostService; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; @@ -10,8 +11,10 @@ import com.bonus.screen.vo.ProjectViewVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import java.util.List; /** @@ -26,6 +29,8 @@ public class ProjectViewController extends BaseController { @Autowired private ProjectViewServiceImpl projectViewService; + @Resource + private TbUserPostService tbUserPostService; @GetMapping("/getProjectModelData") @@ -55,4 +60,23 @@ public class ProjectViewController extends BaseController { return getDataTable(list); } + @GetMapping("/getDeviceModelDetailsPage") + public TableDataInfo getDeviceModelDetailsPage(Integer deviceTypeCode) { + startPage(); + List list = projectViewService.getDeviceModelDetailsPage(deviceTypeCode); + return getDataTable(list); + } + + @GetMapping("/getProjectListGroupAreaByTypeCode") + public AjaxResult getProjectListGroupAreaByTypeCode(Integer projectTypeCode, Integer areaId) { + return success(projectViewService.getProjectListGroupAreaByTypeCode(projectTypeCode, areaId)); + } + + @GetMapping("/getAreaList") + public AjaxResult getAreaList() { + return success(projectViewService.getAreaList()); + } + + + } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/service/impl/ProjectViewServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/service/impl/ProjectViewServiceImpl.java index 1da5b95..9559637 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/service/impl/ProjectViewServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/service/impl/ProjectViewServiceImpl.java @@ -3,7 +3,9 @@ package com.bonus.screen.service.impl; import com.bonus.base.config.DeviceTypeEnum; import com.bonus.base.config.ProjectTypeEnum; import com.bonus.base.mapper.TbDeviceMapper; +import com.bonus.base.mapper.TbProDepartMapper; import com.bonus.base.mapper.TbProjectMapper; +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.screen.mapper.TbDeviceDataRecord; import com.bonus.screen.vo.DeviceViewVo; import com.bonus.screen.vo.DeviceWarnRecordVo; @@ -32,6 +34,8 @@ public class ProjectViewServiceImpl { @Autowired private TbDeviceDataRecord tbDeviceDataRecord; + @Autowired + private TbProDepartMapper tbProDepartMapper; public ProjectViewVo getProjectView() { return tbProjectMapper.getProjectView( @@ -59,15 +63,42 @@ public class ProjectViewServiceImpl { return tbDeviceDataRecord.getDeviceWarnRecord(deviceWarnRecordVo); } + + /** + * TODO:待完善 + * @return 区域工程分布列表 + */ public List getProjectListGroupArea() { List projectAreaList = tbProjectMapper.getProjectListGroupArea(); if (projectAreaList != null && !projectAreaList.isEmpty()) { - Map> collect = projectAreaList.stream().collect( - Collectors.groupingBy(ProjectAreaGroupVo::getAreaId) - ); + // 过滤重复的区域 + Map areaMap = projectAreaList.stream().collect(Collectors.toMap(ProjectAreaGroupVo::getAreaId, ProjectAreaGroupVo::getAreaName)); + // 循环工程列表,把工程存入相应的区域列表内 + projectAreaList.forEach(record -> { + + }); } - - return projectAreaList; } + + + public AjaxResult getProjectListGroupAreaByTypeCode(Integer projectTypeCode, Integer areaId) { + if (projectTypeCode != null) { + if (ProjectTypeEnum.getByCode(projectTypeCode) == null) { + // 工程类型CODE未在枚举类中定义 + return AjaxResult.error("工程类型CODE未在枚举类中定义"); + } + } + List projectAreaGroupVoList = tbProjectMapper.getProjectListGroupAreaByTypeCode(projectTypeCode, areaId); + return AjaxResult.success(projectAreaGroupVoList); + } + + public AjaxResult getAreaList() { + return AjaxResult.success(tbProDepartMapper.getAreaList(null)); + } + + + public List getDeviceModelDetailsPage(Integer code) { + return tbDeviceMapper.getDeviceModelDetailsPage(code); + } } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/DeviceWarnRecordVo.java b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/DeviceWarnRecordVo.java index 870a0ed..3fb7995 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/DeviceWarnRecordVo.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/DeviceWarnRecordVo.java @@ -27,6 +27,9 @@ public class DeviceWarnRecordVo implements Serializable { @ApiModelProperty(value = "设备状态") private Integer deviceStatus; + @ApiModelProperty(value = "设备状态名称") + private String deviceStatusName; + @ApiModelProperty(value = "设备类型Code") private String deviceTypeCode; @@ -36,6 +39,12 @@ public class DeviceWarnRecordVo implements Serializable { @ApiModelProperty(value = "工程名称") private String projectName; + @ApiModelProperty(value = "边缘代理设备名称") + private String bdDeviceName; + + @ApiModelProperty(value = "设备使用人姓名") + private String devUserName; + @ApiModelProperty(value = "告警内容") private String warnContent; diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/ProjectAreaGroupVo.java b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/ProjectAreaGroupVo.java index 7aed4a2..05c8524 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/ProjectAreaGroupVo.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/screen/vo/ProjectAreaGroupVo.java @@ -1,9 +1,8 @@ package com.bonus.screen.vo; +import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import java.io.Serializable; import java.util.List; @@ -38,4 +37,19 @@ public class ProjectAreaGroupVo implements Serializable { @ApiModelProperty(value = "工程名称") private String projectName; + /** + * 经度 + */ + private String lon; + + /** + * 维度 + */ + private String lat; + + /** + * 工程状态 (字典表配置) + */ + private String proStatus; + } diff --git a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml index 2c2ad5e..86fd456 100644 --- a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml +++ b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml @@ -46,7 +46,6 @@ #{devStatus,jdbcType=INTEGER}, #{devWarn,jdbcType=INTEGER}, #{delFlag,jdbcType=INTEGER}, #{logoUrl,jdbcType=VARCHAR}) - insert into tb_device @@ -66,7 +65,9 @@ config_id, + dev_status, + dev_warn, @@ -76,6 +77,9 @@ + + #{id,jdbcType=BIGINT}, + #{devType,jdbcType=VARCHAR}, @@ -300,4 +304,24 @@ and dev_type = #{devType} + + \ No newline at end of file diff --git a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbProjectMapper.xml b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbProjectMapper.xml index e529ae3..8328659 100644 --- a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbProjectMapper.xml +++ b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbProjectMapper.xml @@ -184,5 +184,27 @@ LEFT JOIN tb_project p ON a.id = p.area_id; + +