Browse Source

状态设备增加inAlarm;

zhc
review512jwy@163.com 3 weeks ago
parent
commit
525ab5e21a
  1. 3
      dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DeviceInfoMapperExt.java
  2. 26
      dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
  3. 3
      dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java
  4. 10
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java
  5. 4
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java

3
dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DeviceInfoMapperExt.java

@ -13,6 +13,7 @@ import com.dongjian.dashboard.back.vo.data.DeviceBaStatusData;
import com.dongjian.dashboard.back.vo.data.DeviceMeasureData; import com.dongjian.dashboard.back.vo.data.DeviceMeasureData;
import com.dongjian.dashboard.back.vo.device.DeviceVO; import com.dongjian.dashboard.back.vo.device.DeviceVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -38,4 +39,6 @@ public interface DeviceInfoMapperExt extends DeviceInfoMapper {
List<DeviceAlarmData> getDevice4AlarmData(AlarmDataSearchParam pageSearchParam); List<DeviceAlarmData> getDevice4AlarmData(AlarmDataSearchParam pageSearchParam);
List<DeviceAlarmData> getDevice4AlarmDataByGroup(AlarmDataSearchParam pageSearchParam); List<DeviceAlarmData> getDevice4AlarmDataByGroup(AlarmDataSearchParam pageSearchParam);
List<String> selectAlertingDeviceIds(@Param("deviceIds") List<String> deviceIds);
} }

26
dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml

@ -295,6 +295,12 @@
,device_info.id desc ,device_info.id desc
</sql> </sql>
<sql id="Where_In_Alarm">
(alert_history.handle_status != 3 AND alert_history.handle_status != 4)
OR
(alert_history.handle_status = 4 AND alert_history.retain_alert = 1)
</sql>
<select id="getDevice4AlarmData" resultType="com.dongjian.dashboard.back.vo.data.DeviceAlarmData"> <select id="getDevice4AlarmData" resultType="com.dongjian.dashboard.back.vo.data.DeviceAlarmData">
select select
<include refid="deviceDataSelect"/> <include refid="deviceDataSelect"/>
@ -341,10 +347,7 @@
<include refid="deviceDataCommonWhere"/> <include refid="deviceDataCommonWhere"/>
<choose> <choose>
<when test="searchType == 1"> <when test="searchType == 1">
AND ( AND (<include refid="Where_In_Alarm"/>)
(alert_history.handle_status != 3 AND alert_history.handle_status != 4)
OR (alert_history.handle_status = 4 AND alert_history.retain_alert = 1)
)
</when> </when>
<when test="searchType == 2"> <when test="searchType == 2">
@ -408,10 +411,7 @@
<include refid="deviceDataCommonWhere"/> <include refid="deviceDataCommonWhere"/>
<choose> <choose>
<when test="searchType == 1"> <when test="searchType == 1">
AND ( AND (<include refid="Where_In_Alarm"/>)
(alert_history.handle_status != 3 AND alert_history.handle_status != 4)
OR (alert_history.handle_status = 4 AND alert_history.retain_alert = 1)
)
</when> </when>
<when test="searchType == 2"> <when test="searchType == 2">
@ -426,6 +426,16 @@
<include refid="alertHistoryOrder"/> <include refid="alertHistoryOrder"/>
</select> </select>
<select id="selectAlertingDeviceIds" resultType="java.lang.String">
SELECT DISTINCT LOWER(device_id) AS device_id
FROM alert_history
WHERE device_id IN
<foreach collection="deviceIds" item="deviceId" open="(" close=")" separator=",">
#{deviceId}
</foreach>
AND (<include refid="Where_In_Alarm"/>)
</select>
<!-- 公共字段 --> <!-- 公共字段 -->
<sql id="commonDeviceSelectFields"> <sql id="commonDeviceSelectFields">
device_info.id, device_info.id,

3
dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java

@ -32,4 +32,7 @@ public class DeviceBaStatusData extends BaseData{
@Schema(description = "last stop time", example = "1720000000000", hidden = true) @Schema(description = "last stop time", example = "1720000000000", hidden = true)
private String latestTs; private String latestTs;
@Schema(description = "0=正常,1=告警", example = "1")
private Integer inAlarm;
} }

10
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java

@ -761,11 +761,11 @@ public class CommonOpt {
return null; return null;
} }
return switch (status111) { return switch (status111) {
case "0" -> "正常"; case "0" -> "NML";
case "128" -> "サ一ビス停止"; case "128" -> "MSK";
case "64" -> "オーバーライド"; case "64" -> "OVR";
case "32" -> "障害"; case "32" -> "TBL";
case "16" -> "アラ一ム発生中"; case "16" -> "ALM";
default -> null; default -> null;
}; };
} }

4
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java

@ -103,6 +103,8 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
List<String> deviceIds = resultList.stream() List<String> deviceIds = resultList.stream()
.map(DeviceBaStatusData::getDeviceId) .map(DeviceBaStatusData::getDeviceId)
.toList(); .toList();
//查询是否告警
List<String> inAlarmDeviceIds = deviceInfoMapperExt.selectAlertingDeviceIds(deviceIds);
// 查询 111状态 数据 // 查询 111状态 数据
Map<String, String> deviceId85To111Map = commonOpt.buildDeviceId85To111Map(deviceIds); Map<String, String> deviceId85To111Map = commonOpt.buildDeviceId85To111Map(deviceIds);
@ -173,6 +175,8 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(diff)); data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(diff));
} }
} }
data.setInAlarm(inAlarmDeviceIds.contains(deviceId) ? 1 : 0);
} }
} }

Loading…
Cancel
Save