diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/press_config_template.xlsx b/casic-web/src/main/resources/config/temp/press_config_template.xlsx deleted file mode 100644 index 5809f6e..0000000 --- a/casic-web/src/main/resources/config/temp/press_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/press_config_template.xlsx b/casic-web/src/main/resources/config/temp/press_config_template.xlsx deleted file mode 100644 index 5809f6e..0000000 --- a/casic-web/src/main/resources/config/temp/press_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx index d4e3d79..3e543cd 100644 --- a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx +++ b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/press_config_template.xlsx b/casic-web/src/main/resources/config/temp/press_config_template.xlsx deleted file mode 100644 index 5809f6e..0000000 --- a/casic-web/src/main/resources/config/temp/press_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx index d4e3d79..3e543cd 100644 --- a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx +++ b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx b/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx deleted file mode 100644 index cca284e..0000000 --- a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/press_config_template.xlsx b/casic-web/src/main/resources/config/temp/press_config_template.xlsx deleted file mode 100644 index 5809f6e..0000000 --- a/casic-web/src/main/resources/config/temp/press_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx index d4e3d79..3e543cd 100644 --- a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx +++ b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx b/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx deleted file mode 100644 index cca284e..0000000 --- a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx b/casic-web/src/main/resources/config/temp/tube_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/press_config_template.xlsx b/casic-web/src/main/resources/config/temp/press_config_template.xlsx deleted file mode 100644 index 5809f6e..0000000 --- a/casic-web/src/main/resources/config/temp/press_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx index d4e3d79..3e543cd 100644 --- a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx +++ b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx b/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx deleted file mode 100644 index cca284e..0000000 --- a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx b/casic-web/src/main/resources/config/temp/tube_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx b/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx deleted file mode 100644 index 372e40e..0000000 --- a/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/press_config_template.xlsx b/casic-web/src/main/resources/config/temp/press_config_template.xlsx deleted file mode 100644 index 5809f6e..0000000 --- a/casic-web/src/main/resources/config/temp/press_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx index d4e3d79..3e543cd 100644 --- a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx +++ b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx b/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx deleted file mode 100644 index cca284e..0000000 --- a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx b/casic-web/src/main/resources/config/temp/tube_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx b/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx deleted file mode 100644 index 372e40e..0000000 --- a/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/wellcover_config_template.xlsx b/casic-web/src/main/resources/config/temp/wellcover_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/wellcover_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java index 6530f14..23fd711 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/SluicewellProperties.java @@ -5,7 +5,7 @@ @Data @Component -@ConfigurationProperties(prefix = "smartcity.sluicewell.coordinate-convert") +@ConfigurationProperties(prefix = "casic.sluicewell.coordinate-convert") public class SluicewellProperties { private String coordinate; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index b33ab34..f119c46 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -57,14 +57,14 @@ @ApiOperation("新增告警规则") @PostMapping("/add") - public Object add(@RequestBody @Valid AlarmRule alarmRule) { + public ReturnDTO add(@RequestBody @Valid AlarmRule alarmRule) { try { alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); } - return ResponseData.success(); + return ReturnUtil.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index c943564..1c9fcda 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -150,9 +150,9 @@ //判断唯一 mapper.put("点位编号", "wellCode"); mapper.put("点位名称", "wellName"); - mapper.put("井深", "deep"); - mapper.put("区", "qu"); - mapper.put("街道", "area"); +// mapper.put("井深", "deep"); +// mapper.put("区", "qu"); +// mapper.put("街道", "area"); mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index aa23468..380f2ca 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -25,5 +27,19 @@ List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") Long deptid, @Param("bfzt") String bfzt); + @Select("SELECT\n" + + "\tbd.ID AS deviceId,\n" + + "\tbi.ID AS wellId,\n" + + "\tbi.WELL_CODE AS wellCode,\n" + + "\tbd.DEVCODE AS devCode \n" + + "FROM\n" + + "\t`bus_device` bd\n" + + "\tLEFT JOIN bus_device_well bw ON bd.ID = bw.DEVICE_ID \n" + + "\tAND bw.VALID = 1\n" + + "\tLEFT JOIN bus_well_info bi ON bi.ID = bw.WELL_ID \n" + + "\tAND bi.VALID = 1 \n" + + "WHERE\n" + + "\tbd.DEVCODE = #{devCode}") + List getWellRelationDto( @Param("devCode") String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java new file mode 100644 index 0000000..dbb815d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/WellRelationDto.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +/** + * 设备相关model + */ +@Data +public class WellRelationDto { + private Long wellId; + private Long deviceId; + private String wellCode; + private String devCode; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java new file mode 100644 index 0000000..2dbb792 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/NoiseAlarmEnum.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.enums; + +/** + * Created by admin on 2017/4/6. + */ +public enum NoiseAlarmEnum { + + NO_DATA("设备异常", -1), + NORMAL("正常", 0), + NoiseFail("噪声探头采集失败", 1), + NoiseError("噪声探头数据异常", 2), + NoiseUnknown("噪声未知异常", 3), + OVER_THRESH("噪声超限", 4); + + + // 成员变量 + private String name; + private int index; + + // 构造方法 + private NoiseAlarmEnum(String name, int index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public int getIndex() { + return index; + } + + //覆盖方法 + @Override + public String toString() { + return this.name; + } + + public static NoiseAlarmEnum getByIndex(String index) { + try { + for (NoiseAlarmEnum temp : values()) { + if (temp.index == Integer.parseInt(index)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index eba561b..9206e91 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -10,7 +10,7 @@ /** *

- * + * *

* * @author zt @@ -59,21 +59,41 @@ @ApiModelProperty("告警详情") private String alarmMsg; + public AlarmRecords() { + } + + public AlarmRecords(Long deviceId, String devcode, + String wellCode, String alarmType, + String alarmContent, String alarmValue, + Integer alarmLevel, Date alarmTime, + String status, String alarmMsg) { + this.deviceId = deviceId; + this.devcode = devcode; + this.wellCode = wellCode; + this.alarmType = alarmType; + this.alarmContent = alarmContent; + this.alarmValue = alarmValue; + this.alarmLevel = alarmLevel; + this.alarmTime = alarmTime; + this.status = status; + this.alarmMsg = alarmMsg; + } + @Override public String toString() { return "AlarmRecords{" + - "id=" + id + - ", deviceId=" + deviceId + - ", devcode=" + devcode + - ", wellCode=" + wellCode + - ", alarmType=" + alarmType + - ", alarmContent=" + alarmContent + - ", alarmValue=" + alarmValue + - ", alarmLevel=" + alarmLevel + - ", alarmTime=" + alarmTime + - ", status=" + status + - ", jobId=" + jobId + - ", alarmMsg=" + alarmMsg + - "}"; + "id=" + id + + ", deviceId=" + deviceId + + ", devcode=" + devcode + + ", wellCode=" + wellCode + + ", alarmType=" + alarmType + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", alarmLevel=" + alarmLevel + + ", alarmTime=" + alarmTime + + ", status=" + status + + ", jobId=" + jobId + + ", alarmMsg=" + alarmMsg + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 3cee084..4e32cdc 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -28,19 +29,19 @@ @ApiModelProperty(notes ="主键") @TableId(value = "ID", type = IdType.AUTO) private Long id; - + @ExcelProperty("点位编号") @ApiModelProperty( notes = "点位编号",required = true) private String wellCode; - + @ExcelProperty("点位名称") @ApiModelProperty(notes ="点位名称",required = true) private String wellName; @ApiModelProperty(notes ="井深") private Float deep; - + @ExcelProperty("经度") @ApiModelProperty(notes ="第三方坐标系X",required = true) private String coordinateX; - + @ExcelProperty("纬度") @ApiModelProperty(notes ="第三方坐标Y",required = true) private String coordinateY; @@ -59,12 +60,15 @@ @ApiModelProperty(notes ="区域") private String area; + @ExcelProperty("详细地址") @ApiModelProperty(notes ="位置",required = true) private String position; + @ExcelProperty("权属单位代码") @ApiModelProperty(notes ="部门编号(权属单位)",required = true) private String deptid; + @ExcelProperty("点位维护单位代码") @ApiModelProperty(notes ="责任部门(维护部门)") private Long responsibleDept; @@ -74,7 +78,8 @@ @ApiModelProperty(notes ="备注") private String notes; - @ApiModelProperty(value ="井类型",required = true) + @ExcelProperty("点位类型") + @ApiModelProperty(value ="点位类型",required = true) private String wellType; @ApiModelProperty(notes ="责任人") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java index 9dae90d..63a7202 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/Noise.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -22,34 +23,28 @@ private static final long serialVersionUID = 1L; - /** - * 主键 - */ + + @ApiModelProperty(value = "主键") @TableId("ID") private Long id; - /** - * 设备编号 - */ + + @ApiModelProperty(value = "设备编号") @TableField("DEVCODE") private String devcode; - /** - * 噪声值 - */ + + @ApiModelProperty(value = "噪声值") @TableField("DDATA") private String ddata; - /** - * 原始数据 - */ + + @ApiModelProperty(value = "原始数据") @TableField("RAWDATA") private String rawData; - /** - * 采集时间 - */ + + @ApiModelProperty(value = "采集时间") @TableField("UPTIME") private Date uptime; - /** - * 记录时间 - */ + + @ApiModelProperty(value = "记录时间") @TableField("LOGTIME") private Date logtime; @TableField("DESCN") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java index 8e593ce..fb4b91f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordsService.java @@ -5,7 +5,7 @@ /** *

- * 服务类 + * 服务类 *

* * @author zt @@ -13,4 +13,16 @@ */ public interface IAlarmRecordsService extends IService { + + void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index 75ea7d3..9c9b641 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,6 +12,19 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + /** + * 更新阈值 + * @param devCode + * @param highValue + * @param lowValue + */ void updateRule(String devCode,Float highValue,Float lowValue); + /** + * 通过编号获取报警阈值 + * @param devCode + * @return + */ + Float getAlarmThresh(String devCode); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 63abbdc..120044a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,6 @@ List selectDataScopePage(DataScope dataScope, Page page, String keywords, String wellType, String deptid, String bfzt); + WellRelationDto getWellRelationDto(String devCode); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java index e18c90d..105e577 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordsServiceImpl.java @@ -4,11 +4,12 @@ import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.service.IAlarmRecordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.util.DateUtils; import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author zt @@ -17,4 +18,32 @@ @Service public class AlarmRecordsServiceImpl extends ServiceImpl implements IAlarmRecordsService { + + @Override + public void saveAlarmRecord(Long deviceId, + String devcode, + String wellCode, + String alarmType, + String alarmContent, + String alarmValue, + String alarmLevel, + String alarmTime, + String status, + String alarmMsg) { + try { + this.baseMapper.insert(new AlarmRecords(deviceId, + devcode, + wellCode, + alarmType, + alarmContent, + alarmValue, + null, + DateUtils.sdf4.parse(DateUtils.DateFormat(alarmTime)), + status, + alarmMsg)); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 6d3813a..f3aa861 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -50,4 +50,13 @@ deviceRuleEntityWrapper.eq("DEVCODE", devCode); return this.baseMapper.selectList(deviceRuleEntityWrapper); } + + @Override + public Float getAlarmThresh(String devCode) { + List alarmRuleList = getDeviceRuleListByDevCode(devCode); + if (null != alarmRuleList && alarmRuleList.size() > 0) { + return alarmRuleList.get(0).getHighvalue(); + } + return null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index 663e9eb..a45fa5c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dao.BusWellInfoMapper; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.WellRelationDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Dept; @@ -129,15 +130,6 @@ ); break; } -// -// //其他相关性校验 -// String areaId = this.baseMapper.getAreaId(well.getQu(), well.getArea()); -// if (StrUtil.isNotEmpty(areaId)) { -// well.setArea(areaId); -// } else { -// list.add("第" + index[0] + "行,区与街道名不对应!"); -// break; -// } if (sluicewellTypeMap.containsKey(well.getWellType())) { well.setWellType(sluicewellTypeMap.get(well.getWellType())); @@ -146,7 +138,7 @@ break; } - if (!idList.contains(well.getDeptid())) { + if (!idList.contains(Long.valueOf(well.getDeptid()))) { list.add("第" + index[0] + "行,权属单位代码不存在!"); } if (!idList.contains(well.getResponsibleDept())) { @@ -204,4 +196,9 @@ return list; } + @Override + public WellRelationDto getWellRelationDto(String devCode) { + List wellRelationDtoList = this.baseMapper.getWellRelationDto(devCode); + return null!=wellRelationDtoList&&wellRelationDtoList.size()>0?wellRelationDtoList.get(0):null; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java index 3d01bf9..f057982 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/NoiseServiceImpl.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.NoiseMapper; +import com.casic.missiles.modular.system.dto.WellRelationDto; +import com.casic.missiles.modular.system.enums.NoiseAlarmEnum; import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.service.INoiseService; import com.casic.missiles.modular.system.util.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,13 +32,19 @@ public class NoiseServiceImpl extends ServiceImpl implements INoiseService { private static final Logger logger = LoggerFactory.getLogger(NoiseServiceImpl.class); private static final String[] mType = {"Data", "Event", "SetResponse", "GetResponse", "StartupRequest"}; - + @Autowired + private IAlarmRuleService alarmRuleService; + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Autowired + private IBusWellInfoService busWellInfoService; @Override public void processData(String recordValue) { JSONObject json = JSONObject.parseObject(recordValue); String devCode = json.get("devCode").toString(); logger.info("--------RECEIVE:设备编号:" + devCode + ",上传数据:" + json.toString() + "-------"); JSONObject jsonObject = (JSONObject) json.get("mBody"); + WellRelationDto wellRelationDto = busWellInfoService.getWellRelationDto(devCode); if (mType[0].equals(json.get("mType")) || mType[3].equals(json.get("mType"))) {//存储上报数据 String cell = null!=jsonObject.get("cell")?jsonObject.get("cell").toString():""; String pci = null!=jsonObject.get("pci")?jsonObject.get("pci").toString():""; @@ -41,6 +53,7 @@ JSONArray jsonArray = (JSONArray) jsonObject.get("datas"); for (int i = 0; i < jsonArray.size(); i++) { try { + //存储数据 String val = ((JSONObject) jsonArray.get(i)).get("noiseVal").toString(); String freq = ((JSONObject) jsonArray.get(i)).get("noiseFreq").toString(); String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString(); @@ -49,6 +62,16 @@ freq = String.format("%.2f", Double.valueOf(freq)); this.baseMapper.insert(new Noise(devCode, val, noiseSampleValues, DateUtils.sdf4.parse(DateUtils.DateFormat(upTime)), new Date(), cell, pci, rsrp, snr)); + + //是否超阈值报警 + Float thresh = alarmRuleService.getAlarmThresh(devCode); + if(null!=thresh&&Float.valueOf(val)>=thresh){ + + alarmRecordsService.saveAlarmRecord(wellRelationDto!=null?wellRelationDto.getDeviceId():null, + devCode,wellRelationDto!=null?wellRelationDto.getWellCode():"", + "1", NoiseAlarmEnum.OVER_THRESH.getName(),val,thresh+"",upTime,"1", + NoiseAlarmEnum.OVER_THRESH.getName()); + } } catch (Exception e) { e.printStackTrace(); logger.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx b/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/H2SconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/LGCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/busConcentrator.xlsx b/casic-web/src/main/resources/config/export/busConcentrator.xlsx deleted file mode 100644 index a0baa2b..0000000 --- a/casic-web/src/main/resources/config/export/busConcentrator.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digData.xlsx b/casic-web/src/main/resources/config/export/digData.xlsx deleted file mode 100644 index 616167a..0000000 --- a/casic-web/src/main/resources/config/export/digData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx b/casic-web/src/main/resources/config/export/digconfigTemp.xlsx deleted file mode 100644 index a392352..0000000 --- a/casic-web/src/main/resources/config/export/digconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasData.xlsx b/casic-web/src/main/resources/config/export/gasData.xlsx deleted file mode 100644 index 708ad3b..0000000 --- a/casic-web/src/main/resources/config/export/gasData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx b/casic-web/src/main/resources/config/export/gasLiquidData.xlsx deleted file mode 100644 index cc8ef65..0000000 --- a/casic-web/src/main/resources/config/export/gasLiquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/harmfulData.xlsx b/casic-web/src/main/resources/config/export/harmfulData.xlsx deleted file mode 100644 index 111226a..0000000 --- a/casic-web/src/main/resources/config/export/harmfulData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadData.xlsx b/casic-web/src/main/resources/config/export/kadData.xlsx deleted file mode 100644 index 7ec68b5..0000000 --- a/casic-web/src/main/resources/config/export/kadData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx b/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/kadconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/liquidData.xlsx b/casic-web/src/main/resources/config/export/liquidData.xlsx deleted file mode 100644 index 252c4ff..0000000 --- a/casic-web/src/main/resources/config/export/liquidData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx b/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/methaneconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressData.xlsx b/casic-web/src/main/resources/config/export/pressData.xlsx deleted file mode 100644 index 94088f3..0000000 --- a/casic-web/src/main/resources/config/export/pressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx b/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx deleted file mode 100644 index c735ef2..0000000 --- a/casic-web/src/main/resources/config/export/pressconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx b/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx deleted file mode 100644 index a64b6bc..0000000 --- a/casic-web/src/main/resources/config/export/tempHumiconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/tempPressData.xlsx b/casic-web/src/main/resources/config/export/tempPressData.xlsx deleted file mode 100644 index 24e0b0f..0000000 --- a/casic-web/src/main/resources/config/export/tempPressData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx deleted file mode 100644 index 522b30d..0000000 --- a/casic-web/src/main/resources/config/export/wasteGasconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverData.xlsx b/casic-web/src/main/resources/config/export/wellCoverData.xlsx deleted file mode 100644 index 46c7474..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverData.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx b/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx deleted file mode 100644 index 1ce7ee5..0000000 --- a/casic-web/src/main/resources/config/export/wellCoverconfigTemp.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx b/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx deleted file mode 100644 index ee26bd4..0000000 --- a/casic-web/src/main/resources/config/temp/busConcentrator_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx b/casic-web/src/main/resources/config/temp/dig_config_template.xlsx deleted file mode 100644 index 2ddc235..0000000 --- a/casic-web/src/main/resources/config/temp/dig_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx b/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/h2s_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx b/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx deleted file mode 100644 index f118688..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecEmpty.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx b/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx deleted file mode 100644 index 4df3416..0000000 --- a/casic-web/src/main/resources/config/temp/jobRecTemplate.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx b/casic-web/src/main/resources/config/temp/kad_config_template.xlsx deleted file mode 100644 index 0f25ef3..0000000 --- a/casic-web/src/main/resources/config/temp/kad_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx b/casic-web/src/main/resources/config/temp/methane_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/methane_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx b/casic-web/src/main/resources/config/temp/pipeline_template.xlsx deleted file mode 100644 index 0b38edc..0000000 --- a/casic-web/src/main/resources/config/temp/pipeline_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/press_config_template.xlsx b/casic-web/src/main/resources/config/temp/press_config_template.xlsx deleted file mode 100644 index 5809f6e..0000000 --- a/casic-web/src/main/resources/config/temp/press_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx index d4e3d79..3e543cd 100644 --- a/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx +++ b/casic-web/src/main/resources/config/temp/sluicewell_template.xlsx Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx b/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx deleted file mode 100644 index cca284e..0000000 --- a/casic-web/src/main/resources/config/temp/tempHumi_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx b/casic-web/src/main/resources/config/temp/tube_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/tube_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx b/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx deleted file mode 100644 index 372e40e..0000000 --- a/casic-web/src/main/resources/config/temp/wasteGas_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/wellcover_config_template.xlsx b/casic-web/src/main/resources/config/temp/wellcover_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/wellcover_config_template.xlsx +++ /dev/null Binary files differ diff --git a/casic-web/src/main/resources/config/temp/wellliquid_config_template.xlsx b/casic-web/src/main/resources/config/temp/wellliquid_config_template.xlsx deleted file mode 100644 index 830059b..0000000 --- a/casic-web/src/main/resources/config/temp/wellliquid_config_template.xlsx +++ /dev/null Binary files differ