From 564cd1b75fd4e43e682ab8eec0c398b764e12a21 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期一, 11 十月 2021 14:17:14 +0800 Subject: [PATCH] 更新告警接口 --- src/main/java/com/whyc/service/BatteryAlarmService.java | 86 +++++++++++++++++++++++++++++------------- 1 files changed, 59 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/whyc/service/BatteryAlarmService.java b/src/main/java/com/whyc/service/BatteryAlarmService.java index 3dc8d3e..fb97fe2 100644 --- a/src/main/java/com/whyc/service/BatteryAlarmService.java +++ b/src/main/java/com/whyc/service/BatteryAlarmService.java @@ -1,5 +1,7 @@ package com.whyc.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.constant.AlarmConstant; import com.whyc.constant.BatteryConstant; import com.whyc.constant.DeviceConstant; @@ -15,10 +17,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service public class BatteryAlarmService { @@ -60,8 +59,8 @@ //瀹归噺浣庡憡璀︽満鎴垮崰姣� //String capLowStationRateStr = (String) MathUtil.divide(stationNum,totalStationNum,3); - resultMap.put("浣庡憡璀︽暟",alarmLow); - resultMap.put("楂樺憡璀︽暟",alarmHigh); + resultMap.put("鍗曚綋瀹归噺浣庡憡璀�",alarmLow); + resultMap.put("鍗曚綋瀹归噺楂樺憡璀�",alarmHigh); //resultMap.put("鍛婅鎬绘暟",totalAlarmNum); //resultMap.put("鍛婅鍗犳瘮",capLowRateStr); @@ -91,8 +90,8 @@ List<Integer> alarmSignalIds = Arrays.asList( AlarmConstant.ALM_SIGNAL_ID_OnlineVolHigh,AlarmConstant.ALM_SIGNAL_ID_OnlineVolLow, AlarmConstant.ALM_SIGNAL_ID_GroupVolHigh,AlarmConstant.ALM_SIGNAL_ID_GroupVolLow); - String mapName1 = "楂樺憡璀︽暟閲�"; - String mapName2 = "浣庡憡璀︽暟閲�"; + String mapName1 = "楂樺憡璀�"; + String mapName2 = "浣庡憡璀�"; Map<String, Map> doubleAnalysis = getDoubleAnalysis(userId, alarmIds, alarmSignalIds, alarmNames, mapName1, mapName2); @@ -102,8 +101,13 @@ public Response<Map> getBTSEquipStatus(int userId) { Response<Map> response = new Response(); - Map<String, Object> resultMap = new HashMap<>(); - try { + Map<String, Integer> resultMap = new HashMap<>(); + resultMap.put("鍦ㄧ嚎娴厖鏁伴噺",0); + resultMap.put("棰勫厖鐢垫暟閲�",0); + resultMap.put("鏍稿娴嬭瘯鏁伴噺",0); + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺",0); + resultMap.put("閫氳鏁呴殰鏁伴噺",0); + /*try { List<FBS9100State> statusList = fbs9100StateMapper.getStatus(userId); for (int i = 0; i < statusList.size(); i++) { switch (statusList.get(i).getWorkState()){ @@ -127,8 +131,36 @@ e.printStackTrace(); response.setCode(0); return response; + }*/ + QueryWrapper<FBS9100State> wrapper = Wrappers.query(); + wrapper.select("record_datetime","dev_workstate"); + List<FBS9100State> fbs9100StateList = fbs9100StateMapper.selectList(wrapper); + //棣栧厛鏌ョ湅鏄惁閫氳鏁呴殰,鏃堕棿澶т簬1鍒嗛挓涓洪�氳鏁呴殰 + for (int i = 0; i < fbs9100StateList.size(); i++) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.MINUTE,-1); + Date time = instance.getTime(); + if(time.compareTo(fbs9100StateList.get(i).getRecordDatetime())>0){ + resultMap.put("閫氳鏁呴殰鏁伴噺",resultMap.get("閫氳鏁呴殰鏁伴噺")+1); + }else{ + switch (fbs9100StateList.get(i).getDevWorkState()){ + case DeviceConstant.DEV_ONLINE_CHARGE: + resultMap.put("鍦ㄧ嚎娴厖鏁伴噺",resultMap.get("鍦ㄧ嚎娴厖鏁伴噺")+1); + break; + case DeviceConstant.DEV_PRE_CHARGE: + resultMap.put("棰勫厖鐢垫暟閲�",resultMap.get("棰勫厖鐢垫暟閲�")+1); + break; + case DeviceConstant.DEV_NUCLEAR_CAP: + resultMap.put("鏍稿鏁伴噺",resultMap.get("鏍稿娴嬭瘯鏁伴噺")+1); + break; + case DeviceConstant.DEV_RES_TEST: + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺",resultMap.get("鍐呴樆娴嬭瘯鏁伴噺")+1); + break; + } + } } - return response; + + return new Response<Map>().set(1,resultMap); } @@ -160,8 +192,8 @@ //鏀剧數鐢垫祦浣庡憡璀︽満鎴垮崰姣� //String disChargeLowStationRateStr = (String) MathUtil.divide(disChargeStationNum,totalStationNum,3); - resultMap.put("浣庡憡璀︽暟閲�", dischargeLowAlarmNum); //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low - resultMap.put("楂樺憡璀︽暟閲�", dischargeHighAlarmNum); //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low + resultMap.put("鏀剧數鐢垫祦浣庡憡璀�", dischargeLowAlarmNum); //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low + resultMap.put("鏀剧數鐢垫祦楂樺憡璀�", dischargeHighAlarmNum); //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low //resultMap.put("鍛婅鏈烘埧鎬绘暟", disChargeStationNum); //鍛婅鏈烘埧鎬绘暟 //resultMap.put("鍛婅鏈烘埧鏁版瘮渚�", disChargeLowRateStr); //鍛婅鏈烘埧鏁版瘮渚� //resultMap.put("鍛婅鎬绘暟", totalAlarmNum); //鍛婅鎬绘暟 @@ -205,8 +237,8 @@ //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣� //String dischargeStationRateStr = (String) MathUtil.divide(dischargeTotalAlarmStations,totalStationNum,3); - disCharge.put("楂樺憡璀︽暟閲�",dischargeHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id:ChargeCurrHigh 5 high; 6 low - disCharge.put("浣庡憡璀︽暟閲�",dischargeLowAlarmsNum); + disCharge.put("鏀剧數鐢垫祦楂樺憡璀�",dischargeHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id:ChargeCurrHigh 5 high; 6 low + disCharge.put("鏀剧數鐢垫祦浣庡憡璀�",dischargeLowAlarmsNum); //disCharge.put("鍛婅鎬绘暟",totalStationAlarmNum); //鍛婅鎬绘暟 //disCharge.put("鍛婅鎬绘暟姣斾緥", dischargeRateStr); //鍛婅鎬绘暟姣斾緥 //disCharge.put("鍛婅鏈烘埧鎬绘暟", dischargeTotalAlarmStations); //鍛婅鏈烘埧鎬绘暟 @@ -227,8 +259,8 @@ //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣� //String chargeStationRateStr = (String) MathUtil.divide(chargeTotalAlarmStations,totalStationNum,3); - reCharge.put("楂樺憡璀︽暟閲�", chargeHighAlarmsNum); //楂樺憡璀︽暟閲� - reCharge.put("浣庡憡璀︽暟閲�", chargeLowAlarmsNum); //楂樺憡璀︽暟閲� + reCharge.put("鍏呯數鐢垫祦楂樺憡璀�", chargeHighAlarmsNum); //楂樺憡璀︽暟閲� + reCharge.put("鍏呯數鐢垫祦浣庡憡璀�", chargeLowAlarmsNum); //楂樺憡璀︽暟閲� //reCharge.put("鍛婅鎬绘暟", totalStationAlarmNum); //鍛婅鎬绘暟 //reCharge.put("鍛婅鎬绘暟姣斾緥", chargeRateStr); //鍛婅鎬绘暟姣斾緥 //reCharge.put("鍛婅鏈烘埧鎬绘暟", chargeTotalAlarmStations); //鍛婅鏈烘埧鎬绘暟 @@ -279,8 +311,8 @@ //String volStationRateStr = (String) MathUtil.divide(volTotalAlarmStations,totalStationNum,3); - monVolMap.put("楂樺憡璀︽暟閲�", volHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id 9 - monVolMap.put("浣庡憡璀︽暟閲�", volLowAlarmsNum); //浣庡憡璀︽暟閲� alm_signal_id 10 + monVolMap.put("鍗曚綋鐢靛帇楂樺憡璀�", volHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id 9 + monVolMap.put("鍗曚綋鐢靛帇浣庡憡璀�", volLowAlarmsNum); //浣庡憡璀︽暟閲� alm_signal_id 10 //monVolMap.put("鍛婅鎬绘暟", volTotalAlarmNum); //鍛婅鎬绘暟 //monVolMap.put("鍛婅鎬绘暟姣斾緥", volRateStr); //鍛婅鎬绘暟姣斾緥 //monVolMap.put("鍛婅鏈烘埧鎬绘暟", volTotalAlarmStations); //鍛婅鏈烘埧鎬绘暟 @@ -307,8 +339,8 @@ //鍐呴樆鍛婅鏈烘埧鍗犳瘮 //String resStationRateStr = (String) MathUtil.divide(resTotalAlarmStations,totalStationNum,3); - monResMap.put("楂樺憡璀︽暟閲�", resHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id 13 - monResMap.put("浣庡憡璀︽暟閲�", resLowAlarmsNum); //浣庡憡璀︽暟閲� alm_signal_id 14 + monResMap.put("鍗曚綋鍐呴樆楂樺憡璀�", resHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id 13 + monResMap.put("鍗曚綋鍐呴樆浣庡憡璀�", resLowAlarmsNum); //浣庡憡璀︽暟閲� alm_signal_id 14 //monResMap.put("鍛婅鎬绘暟", resTotalAlarmNum); //鍛婅鎬绘暟 //monResMap.put("鍛婅鎬绘暟姣斾緥", resRateStr); //鍛婅鎬绘暟姣斾緥 //monResMap.put("鍛婅鏈烘埧鎬绘暟", resTotalAlarmStations); //鍛婅鏈烘埧鎬绘暟 @@ -333,8 +365,8 @@ //娓╁害鍛婅鏈烘埧鍗犳瘮 //String tempStationRateStr = (String) MathUtil.divide(tempTotalAlarmStations,totalStationNum,3); - monTemMap.put("楂樺憡璀︽暟閲�", tempHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id 13 - monTemMap.put("浣庡憡璀︽暟閲�", tempLowAlarmsNum); //浣庡憡璀︽暟閲� alm_signal_id 14 + monTemMap.put("鍗曚綋娓╁害楂樺憡璀�", tempHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id 13 + monTemMap.put("鍗曚綋娓╁害浣庡憡璀�", tempLowAlarmsNum); //浣庡憡璀︽暟閲� alm_signal_id 14 //monTemMap.put("鍛婅鎬绘暟", tempTotalAlarmNum); //鍛婅鎬绘暟 //monTemMap.put("鍛婅鎬绘暟姣斾緥", tempRateStr); //鍛婅鎬绘暟姣斾緥 //monTemMap.put("鍛婅鏈烘埧鎬绘暟", tempTotalAlarmStations); //鍛婅鏈烘埧鎬绘暟 @@ -397,9 +429,9 @@ for (int i = 0; i < alarmIds.size(); i++) { Map<String, Object> resMap = new HashMap<>(); //鍛婅1鏁伴噺 - Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i)); + Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i*2)); //鍛婅2鏁伴噺 - Integer alarmNum2 = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i)+1); + Integer alarmNum2 = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i*2)+1); //鍛婅鎬绘暟 //Integer totalAlarmNum =alarmNum+alarmNum2; @@ -418,8 +450,8 @@ //鍛婅鏈烘埧鍗犳瘮 //String stationRate = (String) MathUtil.divide(alarmStationNum,totalStationNum,3); - resMap.put(mapName1,alarmNum); //鍛婅1鏁伴噺 - resMap.put(mapName2,alarmNum2); //鍛婅2鏁伴噺 + resMap.put(alarmNames.get(i)+mapName1,alarmNum); //鍛婅1鏁伴噺 + resMap.put(alarmNames.get(i)+mapName2,alarmNum2); //鍛婅2鏁伴噺 //resMap.put("鍛婅鎬绘暟", totalAlarmNum); //鍛婅鎬绘暟 //resMap.put("鍛婅鎬绘暟姣斾緥", rate); //鍛婅鎬绘暟姣斾緥 //resMap.put("鍛婅鏈烘埧鎬绘暟", alarmStationNum); //鍛婅鏈烘埧鎬绘暟 -- Gitblit v1.9.1