From fa54da2e02b58708a6bfa4cae3aa3f6f1cd9a60e Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期六, 13 三月 2021 16:38:48 +0800 Subject: [PATCH] 修复接口 --- src/main/java/com/whyc/service/BatteryAlarmService.java | 122 +++++++++++++++------------------------- 1 files changed, 47 insertions(+), 75 deletions(-) diff --git a/src/main/java/com/whyc/service/BatteryAlarmService.java b/src/main/java/com/whyc/service/BatteryAlarmService.java index c951f1c..7691036 100644 --- a/src/main/java/com/whyc/service/BatteryAlarmService.java +++ b/src/main/java/com/whyc/service/BatteryAlarmService.java @@ -1,6 +1,7 @@ package com.whyc.service; import com.whyc.constant.AlarmConstant; +import com.whyc.constant.BatteryConstant; import com.whyc.constant.DeviceConstant; import com.whyc.dto.BatteryAlarmDto; import com.whyc.dto.Response; @@ -14,6 +15,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; @@ -80,57 +82,18 @@ * @param userId * @return */ - //TODO public Response<Map> getOnlineAndGroupVolAnalysis(int userId) { - HashMap<String, Object> resultMap = new HashMap<>(); - Map<String, Object> disCharge = new HashMap<>();//鏀剧數鐢垫祦 Alarm_curr_Discharge =119004 - Map<String, Object> reCharge = new HashMap<>();//鍏呯數鐢垫祦 Alarm_curr_Charge =119003 + List<Integer> alarmIds = Arrays.asList(AlarmConstant.Alarm_vol_Online,AlarmConstant.Alarm_vol_Group); + List<String> alarmNames =Arrays.asList("鍦ㄧ嚎鐢靛帇","缁勭鐢靛帇"); + 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 = "浣庡憡璀︽暟閲�"; - //鏀剧數鐢垫祦楂樺憡璀︽暟閲� - Integer dischargeHighAlarmsNum = mapper.getAlarmHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_DisChargeCurrHigh); + Map<String, Map> doubleAnalysis = getDoubleAnalysis(userId, alarmIds, alarmSignalIds, alarmNames, mapName1, mapName2); - //鍛婅鎬绘暟 - Integer totalStationAlarmNum =mapper.getTotalAlarms(userId); - - //鏀剧數鐢垫祦楂樺憡璀︽満鎴挎暟 - int dischargeTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.ALM_SIGNAL_ID_DisChargeCurrHigh); - - //鎬绘満鎴挎暟 - int totalStationNum = infoMapper.getStationCount(userId); - - //鏀剧數鐢垫祦楂樺憡璀﹀崰姣� - String dischargeRateStr = MathUtil.divide(dischargeHighAlarmsNum,totalStationAlarmNum); - //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣� - String dischargeStationRateStr = MathUtil.divide(dischargeTotalAlarmStations,totalStationNum); - - disCharge.put("楂樺憡璀︽暟閲�",dischargeHighAlarmsNum); //楂樺憡璀︽暟閲� alm_signal_id:ChargeCurrHigh 5 high; 6 low - disCharge.put("鍛婅鎬绘暟",totalStationAlarmNum); //鍛婅鎬绘暟 - disCharge.put("鍛婅鎬绘暟姣斾緥", dischargeRateStr); //鍛婅鎬绘暟姣斾緥 - disCharge.put("鍛婅鏈烘埧鎬绘暟", dischargeTotalAlarmStations); //鍛婅鏈烘埧鎬绘暟 - disCharge.put("鍛婅鏈烘埧鏁版瘮渚�",dischargeStationRateStr); //鍛婅鏈烘埧鏁版瘮渚� - resultMap.put("disCharge", disCharge); - - /*=====鍏呯數鐢垫祦楂�======*/ - - //鏀剧數鐢垫祦楂樺憡璀︽暟閲� - Integer chargeHighAlarmsNum = mapper.getAlarmHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_ChargeCurrHigh); - - //鏀剧數鐢垫祦楂樺憡璀︽満鎴挎暟 - int chargeTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.ALM_SIGNAL_ID_ChargeCurrHigh); - - //鏀剧數鐢垫祦楂樺憡璀﹀崰姣� - String chargeRateStr = MathUtil.divide(chargeHighAlarmsNum,totalStationAlarmNum); - //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣� - String chargeStationRateStr = MathUtil.divide(chargeTotalAlarmStations,totalStationNum); - - reCharge.put("楂樺憡璀︽暟閲�", chargeHighAlarmsNum); //楂樺憡璀︽暟閲� - reCharge.put("鍛婅鎬绘暟", totalStationAlarmNum); //鍛婅鎬绘暟 - reCharge.put("鍛婅鎬绘暟姣斾緥", chargeRateStr); //鍛婅鎬绘暟姣斾緥 - reCharge.put("鍛婅鏈烘埧鎬绘暟", chargeTotalAlarmStations); //鍛婅鏈烘埧鎬绘暟 - reCharge.put("鍛婅鏈烘埧鏁版瘮渚�", chargeStationRateStr); //鍛婅鏈烘埧鏁版瘮渚� - resultMap.put("reCharge", reCharge); - - return new Response<Map>().set(1,resultMap); + return new Response<Map>().set(1,doubleAnalysis); } public Response<Map> getBTSEquipStatus(int userId) { @@ -376,10 +339,10 @@ * 鍗曚釜鍛婅-閫氳繃鍛婅鏍囪瘑id * @param userId * @param alarmSignalId - * @param key1 + * @param alarmName * @return */ - public Map<String,Object> getSingleAnalysisOfSignal(int userId,int alarmSignalId,String alarmName){ + private Map<String,Object> getSingleAnalysisOfSignal(int userId,int alarmSignalId,String alarmName){ Map<String, Object> resMap = new HashMap<>(); //鍛婅鏁伴噺 @@ -410,40 +373,49 @@ /** * 2涓憡璀�-閫氳繃鍛婅id,鍛婅鏍囪瘑id * @param userId - * @param alarmSignalId - * @param key1 + * @param alarmIds 鍛婅id鍒楄〃 + * @param alarmSignalIds 鍛婅鏍囪瘑id鍒楄〃,涓篅alarmIds鐨勪袱鍊� + * @param alarmNames 鍛婅鍚嶇О,鏄崟浣撶數鍘�/鍗曚綋xxx + * @param mapName1 map鐨勫悕1 + * @param mapName2 map鐨勫悕2 * @return */ - public Map<String,Object> getDoubleAnalysis(int userId,int alarmId,int alarmSignalId, - String alarmName1,String alarmName2,String mapName1,String mapName2){ + private Map<String,Map> getDoubleAnalysis(int userId,List<Integer> alarmIds,List<Integer> alarmSignalIds, + List<String> alarmNames,String mapName1,String mapName2){ Map<String,Map> res = new HashMap<>(); - Map<String, Object> resMap1 = new HashMap<>(); - Map<String, Object> resMap2 = new HashMap<>(); + for (int i = 0; i < alarmIds.size(); i++) { + Map<String, Object> resMap = new HashMap<>(); + //鍛婅1鏁伴噺 + Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i)); + //鍛婅2鏁伴噺 + Integer alarmNum2 = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i)+1); - //鍛婅鏁伴噺 - Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalId); + //鍛婅鎬绘暟 + Integer totalAlarmNum =alarmNum+alarmNum2; - //鍛婅鎬绘暟 - Integer totalAlarmNum =mapper.getTotalAlarms(userId); + //鎬诲憡璀︽暟 + Integer totalAlarms = mapper.getTotalAlarms(userId); - //鍛婅鏈烘埧鏁� - int alarmStationNum = mapper.getTotalAlarmStations(userId,alarmSignalId); + //鍛婅鏈烘埧鏁� + int alarmStationNum = mapper.getTotalAlarmStations(userId,alarmIds.get(i)); - //鎬绘満鎴挎暟 - int totalStationNum = infoMapper.getStationCount(userId); + //鎬绘満鎴挎暟 + int totalStationNum = infoMapper.getStationCount(userId); - //鍛婅鍗犳瘮 - String rate = MathUtil.divide(alarmNum,totalAlarmNum); - //鍛婅鏈烘埧鍗犳瘮 - String stationRate = MathUtil.divide(alarmStationNum,totalStationNum); + //鍛婅鍗犳瘮 + String rate = MathUtil.divide(totalAlarmNum,totalAlarms); + //鍛婅鏈烘埧鍗犳瘮 + String stationRate = MathUtil.divide(alarmStationNum,totalStationNum); - resMap1.put(alarmName1,alarmNum); //鍛婅鏁伴噺 - resMap1.put("鍛婅鎬绘暟", totalAlarmNum); //鍛婅鎬绘暟 - resMap1.put("鍛婅鎬绘暟姣斾緥", rate); //鍛婅鎬绘暟姣斾緥 - resMap1.put("鍛婅鏈烘埧鎬绘暟", totalStationNum); //鍛婅鏈烘埧鎬绘暟 - resMap1.put("鍛婅鏈烘埧鏁版瘮渚�", stationRate); //鍛婅鏈烘埧鏁版瘮渚� - - return null; + resMap.put(mapName1,alarmNum); //鍛婅1鏁伴噺 + resMap.put(mapName2,alarmNum2); //鍛婅2鏁伴噺 + resMap.put("鍛婅鎬绘暟", totalAlarmNum); //鍛婅鎬绘暟 + resMap.put("鍛婅鎬绘暟姣斾緥", rate); //鍛婅鎬绘暟姣斾緥 + resMap.put("鍛婅鏈烘埧鎬绘暟", alarmStationNum); //鍛婅鏈烘埧鎬绘暟 + resMap.put("鍛婅鏈烘埧鏁版瘮渚�", stationRate); //鍛婅鏈烘埧鏁版瘮渚� + res.put(alarmNames.get(i),resMap); + } + return res; } } -- Gitblit v1.9.1