src/main/java/com/whyc/controller/BatteryAlarmController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/controller/BatteryDataController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/controller/BatteryRTController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/BatteryDataMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/BatteryEndurance.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/BatteryRTState.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BatteryDataService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BatteryRTService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/util/CommonUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/BatteryDataMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/BatteryAlarmController.java
@@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @@ -18,7 +19,7 @@ */ @RestController @RequestMapping("batteryAlarm") @Api(tags = "电池告警") @Api(tags = "电池告警统计") public class BatteryAlarmController { @Autowired @@ -26,68 +27,43 @@ @GetMapping("monCapacity") @ApiOperation(value = "单体容量告警低统计") public Response<Map> getMonCapacityLowAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); public Response<Map> getMonCapacityLowAnalysis(@RequestParam Integer userId) { return service.getMonCapacityLowAnalysis(userId); } /** * 内阻测试数量、故障数量 * * @param request * @return */ @GetMapping("onlinegroupVolAnalysis") @ApiOperation(value = "在线电压和组端电压") public Response<Map> getOnlineAndGroupVolAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); @ApiOperation(value = "在线电压和组端电压告警") public Response<Map> getOnlineAndGroupVolAnalysis(@RequestParam Integer userId) { return service.getOnlineAndGroupVolAnalysis(userId); } /** * BTS 设备状态 * * @param request * @return */ @GetMapping("btsStatus") @ApiOperation(value = "BTS设备状态") public Response<Map> getBTSEquipStatus(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); public Response<Map> getBTSEquipStatus(@RequestParam Integer userId) { return service.getBTSEquipStatus(userId); } @GetMapping("dischargeAnalysis") @ApiOperation(value = "放电电流") public Response<Map> getDischargeAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); @ApiOperation(value = "放电电流告警") public Response<Map> getDischargeAnalysis(@RequestParam Integer userId) { return service.getDischargeAnalysis(userId); } @GetMapping("chargeAnalysis") @ApiOperation(value = "放电和 充电电流") public Response<Map> getChargeAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); @ApiOperation(value = "放电和充电电流告警") public Response<Map> getChargeAnalysis(@RequestParam Integer userId) { return service.getChargeAnalysis(userId); } @GetMapping("monVRTAnalysis") @ApiOperation(value = "单体电压、内阻和温度状态") public Response<Map> getMonVRTAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); @ApiOperation(value = "单体电压/内阻/温度告警") public Response<Map> getMonVRTAnalysis(@RequestParam Integer userId) { return service.getMonVRTAnalysis(userId); } src/main/java/com/whyc/controller/BatteryDataController.java
New file @@ -0,0 +1,37 @@ package com.whyc.controller; import com.whyc.dto.Response; import com.whyc.service.BatteryDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** * 电池数据统计 */ @RestController @RequestMapping("batteryData") @Api(tags = "电池数据统计") public class BatteryDataController { @Autowired private BatteryDataService service; @GetMapping("endurance") @ApiOperation(value="设备续航") public Response getEndurance(@RequestParam Integer userId){ return service.getEndurance(userId); } @GetMapping("batteryCap") @ApiOperation(value = "电池组容量") public Response getBatteryCap(@RequestParam Integer userId){ return service.getBatteryCap(userId); } } src/main/java/com/whyc/controller/BatteryRTController.java
@@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @@ -19,7 +20,7 @@ */ @RestController @RequestMapping("battery") @Api(tags = "电池实时") @Api(tags = "电池实时统计") public class BatteryRTController { @Autowired @@ -34,8 +35,7 @@ */ @GetMapping("status") @ApiOperation(value = "电池状态") public Response<Map> getStatus(HttpServletRequest request){ int userId = CommonUtil.getUser(request).getId(); public Response<Map> getStatus(@RequestParam Integer userId){ Response<Map> response = service.getStatus(userId); return response; } src/main/java/com/whyc/mapper/BatteryDataMapper.java
New file @@ -0,0 +1,10 @@ package com.whyc.mapper; import com.whyc.pojo.BatteryEndurance; import java.util.List; public interface BatteryDataMapper { List<BatteryEndurance> endurance(Integer userId); } src/main/java/com/whyc/pojo/BatteryEndurance.java
New file @@ -0,0 +1,40 @@ package com.whyc.pojo; import io.swagger.annotations.ApiOperation; import org.apache.ibatis.type.Alias; /** * 电池续航,以设备/站点为单位 */ @Alias("BatteryEndurance") public class BatteryEndurance { private Integer deviceId; private Integer stationId; /**续航实际时长*/ private double enduranceActualTime; public Integer getDeviceId() { return deviceId; } public void setDeviceId(Integer deviceId) { this.deviceId = deviceId; } public Integer getStationId() { return stationId; } public void setStationId(Integer stationId) { this.stationId = stationId; } public double getEnduranceActualTime() { return enduranceActualTime; } public void setEnduranceActualTime(double enduranceActualTime) { this.enduranceActualTime = enduranceActualTime; } } src/main/java/com/whyc/pojo/BatteryRTState.java
New file @@ -0,0 +1,50 @@ package com.whyc.pojo; import java.beans.Transient; /** * 电池状态 */ public class BatteryRTState { private Integer batteryGroupId; /**电池状态*/ private Integer batteryState; /**电池实际容量*/ private Float batteryRealCap; /**单体电池容量标准*/ private Float monCapStd; public Integer getBatteryGroupId() { return batteryGroupId; } public void setBatteryGroupId(Integer batteryGroupId) { this.batteryGroupId = batteryGroupId; } public Integer getBatteryState() { return batteryState; } public void setBatteryState(Integer batteryState) { this.batteryState = batteryState; } public Float getBatteryRealCap() { return batteryRealCap; } public void setBatteryRealCap(Float batteryRealCap) { this.batteryRealCap = batteryRealCap; } @Transient public Float getMonCapStd() { return monCapStd; } public void setMonCapStd(Float monCapStd) { this.monCapStd = monCapStd; } } src/main/java/com/whyc/service/BatteryDataService.java
New file @@ -0,0 +1,84 @@ package com.whyc.service; import com.whyc.dto.Response; import com.whyc.mapper.BatteryDataMapper; import com.whyc.pojo.BatteryEndurance; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; @Service public class BatteryDataService { @Resource private BatteryDataMapper mapper; public Response getEndurance(Integer userId) { List<BatteryEndurance> enduranceList = mapper.endurance(userId); List<Integer> times = Arrays.asList(1, 2, 3); Map resultMap = enduranceAnalysis(enduranceList,times); return new Response<Map>().set(1,resultMap); } /**按时间阶段统计续航*/ private static Map enduranceAnalysis(List<BatteryEndurance> enduranceList, List<Integer> times) { Map<String,Integer> map = new HashMap<>(); for (int i = 0; i < enduranceList.size(); i++) { //每一个具体的续航进行分组 if(enduranceList.get(i).getEnduranceActualTime()<times.get(0)){ map.put("续航"+times.get(0)+"小时内",Optional.ofNullable(map.get("续航"+times.get(0)+"小时内")).orElse(0)+1); } else if(enduranceList.get(i).getEnduranceActualTime()>times.get(times.size()-1)){ map.put("续航"+times.get(times.size()-1)+"小时以上",Optional.ofNullable(map.get("续航"+times.get(times.size()-1)+"小时以上")).orElse(0)+1); }else { for (int j = 0; j < times.size(); j++) { if (enduranceList.get(i).getEnduranceActualTime() <= times.get(j)) { map.put("续航" + times.get(j - 1) + "小时到" + times.get(j) + "小时", Optional.ofNullable(map.get("续航" + times.get(j - 1) + "小时到" + times.get(j) + "小时")).orElse(0) + 1); break; } } } } //排序 TreeMap<String, Integer> maps = new TreeMap<>(new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }); maps.putAll(map); map.clear(); return maps; } public Response getBatteryCap(Integer userId) { return null; } public static void main(String[] args) { BatteryEndurance endurance = new BatteryEndurance(); endurance.setEnduranceActualTime(1.5); BatteryEndurance endurance2 = new BatteryEndurance(); endurance2.setEnduranceActualTime(1.5); BatteryEndurance endurance3 = new BatteryEndurance(); endurance3.setEnduranceActualTime(2.5); BatteryEndurance endurance4 = new BatteryEndurance(); endurance4.setEnduranceActualTime(3.5); List<BatteryEndurance> batteryEnduranceList = Arrays.asList(endurance, endurance2, endurance3, endurance4); List<Integer> timeList = Arrays.asList(1, 2, 3); Map map = enduranceAnalysis(batteryEnduranceList, timeList); } } src/main/java/com/whyc/service/BatteryRTService.java
@@ -31,6 +31,9 @@ switch (item.getBatteryStatus()){ case BatteryConstant.STATUS_NONE: break; case BatteryConstant.STATUS_CHARGE_FLOAT: resultMap.put("浮充",item.getCount()); break; case BatteryConstant.STATUS_CHARGE: resultMap.put("充电",item.getCount()); break; src/main/java/com/whyc/util/CommonUtil.java
@@ -15,7 +15,7 @@ //调试专用! User user = new User(); user.setId(1002); user.setId(1001); return user; } } src/main/resources/mapper/BatteryDataMapper.xml
New file @@ -0,0 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.whyc.mapper.BatteryDataMapper" > <resultMap id="BatteryEnduranceResult" type="BatteryEndurance"> <result property="enduranceActualTime" column="endurance_actual_timelong" /> </resultMap> <select id="endurance" resultMap="BatteryEnduranceResult"> SELECT DISTINCT endurance_actual_timelong FROM web_site.tb_batt_endurance WHERE tb_batt_endurance.stationid IN ( SELECT DISTINCT db_battinf.tb_battinf.stationid FROM db_battinf.tb_battinf LEFT OUTER JOIN db_user.tb_user_battgroup_baojigroup_battgroup ON db_user.tb_user_battgroup_baojigroup_battgroup.stationid = db_battinf.tb_battinf.stationid LEFT OUTER JOIN db_user.tb_user_battgroup_baojigroup_usr ON db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id LEFT OUTER JOIN db_user.tb_user_inf ON tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid WHERE db_user.tb_user_inf.uid =#{userId} AND db_battinf.tb_battinf.station_install = 1 ) </select> </mapper>