| | |
| | | return response.set(1, false, "发生异常:" + e.getCause()); |
| | | } |
| | | } |
| | | |
| | | //山西晋源特定接口 |
| | | public Response getBTSEquipStatus2JY(int type){ |
| | | |
| | | Response response = new Response(); |
| | | try { |
| | | Map<String, Integer> resultMap = new HashMap<>(); |
| | | resultMap.put("在线浮充数量", 0); |
| | | resultMap.put("预充电数量", 0); |
| | | resultMap.put("核容测试数量", 0); |
| | | resultMap.put("内阻测试数量", 0); |
| | | resultMap.put("通讯故障数量", 0); |
| | | |
| | | List<Fbs9100State> fbs9100StateList = mapper.getListWithoutZJDYBTSE2JY(type); |
| | | |
| | | Map<String, List<Fbs9100State>> deviceMap = fbs9100StateList.stream().collect(Collectors.groupingBy(Fbs9100State::getDevIp)); |
| | | Set<String> deviceSet = deviceMap.keySet(); |
| | | Calendar instance = Calendar.getInstance(); |
| | | instance.add(Calendar.MINUTE, -1); |
| | | Date time = instance.getTime(); |
| | | for (String deviceIp : deviceSet) { |
| | | List<Fbs9100State> fbs9100States = deviceMap.get(deviceIp); |
| | | List<Integer> workStateList = fbs9100States.stream().map(Fbs9100State::getDevWorkstate).collect(Collectors.toList()); |
| | | Map<Integer, List<Integer>> workStateMap = workStateList.stream().collect(Collectors.groupingBy(Integer::intValue)); |
| | | Set<Integer> workStateSet = workStateMap.keySet(); |
| | | boolean commError = false; |
| | | for (Fbs9100State state : fbs9100States) { |
| | | //if (time.compareTo(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(state.getRecordDatetime())) > 0) { |
| | | if (time.compareTo(ThreadLocalUtil.parse(state.getRecordDatetime(),1)) > 0) { |
| | | resultMap.put("通讯故障数量", resultMap.get("通讯故障数量") + 1); |
| | | commError = true; |
| | | break; |
| | | } |
| | | } |
| | | //不存在通讯故障,则需要再判断优先级覆盖 |
| | | if(!commError){ |
| | | if(workStateSet.contains(DeviceConstant.DEV_NUCLEAR_CAP)) { |
| | | resultMap.put("核容测试数量", resultMap.get("核容测试数量") + 1); |
| | | } |
| | | else if(workStateSet.contains(DeviceConstant.DEV_PRE_CHARGE)) { |
| | | resultMap.put("预充电数量", resultMap.get("预充电数量") + 1); |
| | | } |
| | | else if(workStateSet.contains(DeviceConstant.DEV_RES_TEST)) { |
| | | resultMap.put("内阻测试数量", resultMap.get("内阻测试数量") + 1); |
| | | } |
| | | else if(workStateSet.contains(DeviceConstant.DEV_ONLINE_CHARGE)) { |
| | | resultMap.put("在线浮充数量", resultMap.get("在线浮充数量") + 1); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | /*//首先查看是否通讯故障,时间大于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(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(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.setII(1, true, resultMap, ""); |
| | | } catch (Exception e) { |
| | | return response.set(1, false, "发生异常:" + e.getCause()); |
| | | } |
| | | } |
| | | |
| | | |
| | | public List<Fbs9100State> getStateList(int userId) { |
| | | List<Fbs9100State> list = mapper.getStateList(userId); |
| | | return list; |