diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java index 438c8fc..5152005 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleDeviceController.java @@ -80,5 +80,22 @@ }); return ReturnUtil.success(iAlarmRuleDeviceService.removeByIds(idsDTO.getIds())); } + + @ApiOperation("同步特殊报警规则") + @PostMapping("/syncAlarmRule") + @ResponseBody + public ReturnDTO syncAlarmRule() { + return ReturnUtil.success(iAlarmRuleDeviceService.syncAlarmRule()); + } + + @ApiOperation("新增特殊报警规则自动加载报警规则列表") + @PostMapping("/getRuleList") + @ResponseBody + public ReturnDTO getRuleList(String devCode) { + Assert.isFalse(Objects.isNull(devCode), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iAlarmRuleDeviceService.getRuleList(devCode)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 5c5aa0a..215cc71 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -48,6 +48,8 @@ void updateWellStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + void updatePipeStatus(@Param("tagNumber") String tagNumber,@Param("onLineStatus") String onLineStatus); + Page pop(Page page, @Param("deptIdStr") String deptIdStr); List allList(@Param("request") AlarmRecordDTO request, @Param("deptIdStr") String deptIdStr); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java index 365ff07..07ae845 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleDeviceMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警规则(单个设备设置) Mapper 接口 @@ -19,4 +22,8 @@ public interface AlarmRuleDeviceMapper extends BaseMapper { Page listPage(Page page, @Param("request") AlarmRuleDeviceDTO request); + + List syncAlarmRule(); + + List getRuleList(@Param("devcode") String devcode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ba20a30..a00ca6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -353,6 +353,7 @@ LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL where rd.id=#{id} + limit 1 @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@ @@ -394,6 +395,7 @@ LEFT JOIN bus_manufacturer bm ON bm.id = bp.MANUFACTURER_ID where rd.STATUS = 0 and rd.id = #{id} + limit 1 + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java new file mode 100644 index 0000000..31f18e2 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleSpecialDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRuleSpecialDTO { + + @ApiModelProperty("设备编号") + private String devCode; + + @ApiModelProperty("报警等级id") + private Long alarmLevelId; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("报警类型id") + private Long alarmTypeId; + + @ApiModelProperty("报警类型名称") + private String alarmTypeName; + + @ApiModelProperty("报警阈值") + private String alarmThreshold; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index 038dc01..ab54bce 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -76,6 +76,8 @@ void updateWellStatus(String tagNumber, String onLineStatus); + void updatePipeStatus(String tagNumber, String onLineStatus); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java index 4010f80..51bc7b7 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmRule; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; @@ -23,4 +24,8 @@ List listByCode(String devCode); + boolean syncAlarmRule(); + + List getRuleList(String devcode); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 2ac51dc..6c99ff9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; @@ -10,9 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -58,7 +55,6 @@ private final AbstractPermissionContext permissionContext; private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; - private final AbstractDeptService abstractDeptService; private final AbstractDictService abstractDictService; private final IAlarmLevelControlService iAlarmLevelControlService; private final IMessageLogService iMessageLogService; @@ -72,6 +68,7 @@ @Override public Page pageList(Page page, AlarmRecordDTO request) { + page.setOptimizeCountSql(false); Page alarmRecordsPage = this.baseMapper.pageList(page, request, commonServer.getDeptScopeIds(request.getDeptId())); List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { @@ -79,6 +76,7 @@ alarmRecords.setDeptName(ObjectUtil.isNotEmpty(alarmRecords.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecords.getDeptid()) : ""); }); return alarmRecordsPage; +// return new PageResult<>(alarmRecordsPage.getRecords(), alarmRecordsPage.getTotal()); } @Override @@ -139,7 +137,7 @@ AlarmRecordDetailDTO detailDTO = this.baseMapper.historyAlarmDetail(id); detailDTO.setRealAlarmName(DictEnum.REAL_ALARM.equals(detailDTO.getRealAlarm()) ? "是" : "否"); detailDTO.setCancelDuration(TimeConverter(detailDTO.getCancelDuration())); - detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid())?commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()):""); + detailDTO.setDeptName(ObjectUtil.isNotEmpty(detailDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(detailDTO.getDeptid()) : ""); // detailDTO.setAddress(detailDTO.getLedgerNumber().concat("|").concat(ObjectUtil.isNotEmpty(detailDTO.getLedgerName()) ? detailDTO.getLedgerName() : detailDTO.getLedgerNumber())); detailDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", detailDTO.getAlarmCategory())); return detailDTO; @@ -429,9 +427,9 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). - concat(DictEnum.PROCESS_STATUS.equals(processStatus)?"现场处置完毕":"待处置"), alarmRecords.getLedgerNumber())); + concat(DictEnum.PROCESS_STATUS.equals(processStatus) ? "现场处置完毕" : "待处置"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { alarmRecords.setProcessStatus(ApprovalStatusEnum.CONFIRMED.getCode()); alarmRecords.setProcessTime(new Date()); @@ -463,7 +461,7 @@ List alarmRecordExportDTOList = this.baseMapper.allList(request, commonServer.getDeptScopeIds(request.getDeptId())); alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); - alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()):""); + alarmRecordExportDTO.setDeptName(ObjectUtil.isNotEmpty(alarmRecordExportDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()) : ""); alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory())); }); return alarmRecordExportDTOList; @@ -606,7 +604,7 @@ msg.put("alarmId", alarmIds); msg.put("tagNumber", busWellDTOList.get(0).getTagNumber()); msg.put("tagName", busWellDTOList.get(0).getLedgerName()); - msg.put("alarmTime", upTime); + msg.put("alarmTime", CommonUtil.DateFormat(upTime)); msg.put("status", "未读"); msg.put("value", data); msg.put("typeName", typeName); @@ -689,6 +687,11 @@ this.baseMapper.updateWellStatus(tagNumber, onLineStatus); } + @Override + public void updatePipeStatus(String tagNumber, String onLineStatus) { + this.baseMapper.updatePipeStatus(tagNumber, onLineStatus); + } + /** * 更新离线异常 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java index f59542d..4d76d6e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper; import com.casic.missiles.modular.alarm.dto.AlarmRuleDeviceDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRuleSpecialDTO; import com.casic.missiles.modular.alarm.entity.AlarmLevelControl; import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice; import com.casic.missiles.modular.alarm.service.IAlarmLevelControlService; @@ -12,6 +14,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,6 +31,8 @@ private final IAlarmLevelControlService iAlarmLevelControlService; + private final AbstractPermissionContext permissionContext; + @Override public Page listPage(Page page, AlarmRuleDeviceDTO request) { @@ -46,7 +51,33 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); - queryWrapper.orderByDesc( "ALARM_THRESHOLD"); + queryWrapper.orderByDesc("ALARM_THRESHOLD"); return this.list(queryWrapper); } + + @Override + public boolean syncAlarmRule() { + List alarmRuleSpecialDTOList = this.baseMapper.syncAlarmRule(); + if (null != alarmRuleSpecialDTOList) { + String createName = permissionContext.getAuthService().getLoginUser().getName(); + List alarmRuleDeviceList = new ArrayList<>(); + for (AlarmRuleSpecialDTO alarmRuleSpecialDTO : alarmRuleSpecialDTOList) { + AlarmRuleDevice alarmRuleDevice = new AlarmRuleDevice(); + alarmRuleDevice.setDevcode(alarmRuleSpecialDTO.getDevCode()); + alarmRuleDevice.setAlarmLevelId(alarmRuleSpecialDTO.getAlarmLevelId()); + alarmRuleDevice.setAlarmTypeId(alarmRuleSpecialDTO.getAlarmTypeId()); + alarmRuleDevice.setAlarmThreshold(alarmRuleSpecialDTO.getAlarmThreshold()); + alarmRuleDevice.setCreateUser(createName); + alarmRuleDeviceList.add(alarmRuleDevice); + } + this.saveBatch(alarmRuleDeviceList); + } + return true; + } + + @Override + public List getRuleList(String devcode) { + + return this.baseMapper.getRuleList(devcode); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java index 765ae5c..37e4a9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java @@ -79,7 +79,6 @@ @Cacheable(value = "alarmRuleCache", key = "#devCode") @Override public List getByDevCode(String devCode) { - //toDo:缓存取 List alarmRuleResponseDTOS = new ArrayList<>(); List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode); //若不存在单个设备规则,则按照产品统一获取报警规则 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java index 41b78bb..e2ac858 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/OverViewServiceImpl.java @@ -46,7 +46,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptIds(), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); }); return alarmPositionResponseDTOList; } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index a62fc94..619b7c9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -183,7 +183,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新监测井状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index c1c2154..6e57cc9 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -215,6 +215,10 @@ //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, CH4L + "," + CH4R); + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 728e208..da44c66 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -171,7 +171,7 @@ for (AlarmRuleResponseDTO alarmRuleResponseDTO : alarmRuleResponseDTOList) { if (CommonUtil.isNumber(alarmRuleResponseDTO.getAlarmThreshold()) && Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { - alarmFlag =true; + alarmFlag = true; //写入报警 //1、判断报警是否已存在 if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { @@ -187,7 +187,10 @@ } //6.更新电量及状态 (1:正常,2:报警) alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", cell, gas); - + //7.更新管线状态 (1:正常,2:报警) + if (busWellDTOList != null && busWellDTOList.size() > 0) { + alarmRecordsService.updatePipeStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); + } } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",存储数据:" + jsonArray.get(i).toString() + "失败-------"); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index cccd7b1..aea3e88 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -58,6 +58,12 @@ 2.0.0 compile + + com.casic + casic-admin-core + 2.0.0.alpha + compile + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java index ec04131..399e294 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusGridController.java @@ -1,8 +1,15 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.IBusGridService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** @@ -13,9 +20,23 @@ * @author zt * @since 2024-07-16 */ +@Api(tags = "网格管理模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/busGrid") public class BusGridController { + private final IBusGridService iBusGridService; + /** + * 全量同步网格 + * + * @return + */ + @PostMapping("/synAllGrids") + @ResponseBody + public ReturnDTO synAllGrids() { + + return ReturnUtil.success(iBusGridService.synAllGrids()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java index 91916f5..4eda0fb 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusLedgerController.java @@ -92,6 +92,7 @@ * * @return */ + @ApiOperation("全量同步部门") @PostMapping("/synAllDept") @ResponseBody public ReturnDTO synAllDept() { @@ -105,6 +106,7 @@ * * @return */ + @ApiOperation("全量同步台账") @PostMapping("/synAllLedger") @ResponseBody public ReturnDTO synAllLedger() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java index 70c9f44..d12dfb2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/CtUserController.java @@ -1,20 +1,44 @@ package com.casic.missiles.modular.device.controller; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** *

- * 用户表 前端控制器 + * 同步用户表 前端控制器 *

* * @author zt * @since 2024-11-25 */ +@Api(tags = "用户同步模块") +@RequiredArgsConstructor @RestController @RequestMapping("/system/ctUser") public class CtUserController { + private final ICtUserService iCtUserService; + /** + * 全量同步账号 + * + * @return + */ + @ApiOperation("全量同步人员") + @PostMapping("/synAllUsers") + @ResponseBody + public ReturnDTO synAllUsers() { + + return ReturnUtil.success(iCtUserService.synAllUsers()); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java index 25a203a..8f732e9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BdcRegionAreaMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.BdcRegionArea; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,10 @@ @Mapper public interface BdcRegionAreaMapper extends BaseMapper { + + + @Select("SELECT ra.*, bt.trajectory FROM `bdc_region_area` ra LEFT JOIN bdc_region_trajectory bt " + + "on ra.region_area_id = bt.business_id where ra.del_flag=0 and ra.bussiness_type = 1") + List getBdcRegionAreaList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 47e7512..5ee5291 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -65,4 +65,12 @@ @Lang(InConditionDriver.class) @Select("SELECT max(LOGTIME) as logTime ,DEVCODE as devcode FROM `data_monitor_pipe_other` where DEVCODE in (#{devcodes}) and LOGTIME >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DEVCODE" ) List getMonitorPipeOtherData(@Param("devcodes") List devcodes); + + @Select("SELECT ALARM_THRESHOLD FROM `alarm_rule_device` where DEVCODE = #{devcode} order by ALARM_THRESHOLD asc " ) + List getSpecialDeviceRule(@Param("devcode") String devcode); + + @Select(" select ar.ALARM_THRESHOLD from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + + " where bd.DEVCODE= #{devcode} and bd.VALID=1 " + + ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD asc") + List getDeviceTypeRule(@Param("devcode") String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java index 0866c33..fe34aa2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusGridMapper.java @@ -1,9 +1,12 @@ package com.casic.missiles.modular.device.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.dto.SyncUserDTO; import com.casic.missiles.modular.device.entity.BusGrid; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** *

* 网格管理 Mapper 接口 @@ -15,4 +18,6 @@ @Mapper public interface BusGridMapper extends BaseMapper { + List getSyncUserDTOList(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java index 687fe02..e0547bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/CtUserMapper.java @@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.device.entity.CtUser; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -15,4 +18,7 @@ @Mapper public interface CtUserMapper extends BaseMapper { + @Select("SELECT USER_ID FROM `ct_role_user` WHERE ROLE_ID='6a050c90c1e648ee8d2034baea6856df'") + List getCtUserGroupIds(); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index 60f32a3..99ef10b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -156,9 +156,9 @@ and ar.ALARM_TIME #{request.endTime} - AND ( + ORDER BY ar.ALARM_TIME DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml index 0f603c4..4788357 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusGridMapper.xml @@ -18,5 +18,23 @@ ID, GRID_CODE, DEPTID, PRINCIPAL, TELEPHONE, PRESS_TYPE, PIPE_LENGTH, TS - + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml index a716a72..aa6c790 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerMapper.xml @@ -70,19 +70,15 @@