1/device/detail/gongdianChart。供电图表数据需修复
2/地图实时数据接口优化
This commit is contained in:
		| @@ -113,7 +113,8 @@ public class DeviceDetailServiceImpl implements IDeviceDetailService { | |||||||
|         if (taiyangnengIds == null) { |         if (taiyangnengIds == null) { | ||||||
|             return new ArrayList<>(); |             return new ArrayList<>(); | ||||||
|         } |         } | ||||||
|         ArrayList<Object> deviceLogAllCurves = iDeviceService.getDeviceLogAllCurves(Long.parseLong(taiyangnengIds), queryLogVo.getStartTime(), queryLogVo.getEndTime()); |         ArrayList<Object> deviceLogAllCurves = | ||||||
|  |                 iDeviceService.getDeviceLogAllCurves(Long.parseLong(taiyangnengIds), queryLogVo.getStartTime(), queryLogVo.getEndTime()); | ||||||
|         return deviceLogAllCurves; |         return deviceLogAllCurves; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -131,93 +131,118 @@ public class GisDeviceServiceImpl implements IGisDeviceService { | |||||||
|         List<ThingsModel> taiyangnengModels = thingsModelService.selectThingsModelList(thingsModel1); |         List<ThingsModel> taiyangnengModels = thingsModelService.selectThingsModelList(thingsModel1); | ||||||
|         taiyangnengModels.sort(Comparator.comparing(ThingsModel::getModelOrder)); |         taiyangnengModels.sort(Comparator.comparing(ThingsModel::getModelOrder)); | ||||||
|         if (StringUtils.isNotEmpty(taiyangnengIds)) { |         if (StringUtils.isNotEmpty(taiyangnengIds)) { | ||||||
|             Device taiyangnengDevice = deviceMapper.selectDeviceByDeviceId(Long.parseLong(taiyangnengIds)); | //            Device taiyangnengDevice = deviceMapper.selectDeviceByDeviceId(Long.parseLong(taiyangnengIds)); | ||||||
|             List<DeviceLog> deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ |             CommonResult<HaiWeiDeviceInfoVo> cache = haiWeiService.getCache(Long.parseLong(taiyangnengIds)); | ||||||
|                 setSerialNumber(taiyangnengDevice.getSerialNumber()); |             if(cache != null){ | ||||||
|                 setBeginTime(DateUtil.beginOfDay(DateUtil.offsetDay(dateTime, -1)).toString()); |                 HaiWeiDeviceInfoVo checkedData = cache.getCheckedData(); | ||||||
|                 setEndTime(DateUtil.endOfDay(dateTime).toString()); |                 if(checkedData != null){ | ||||||
|             }}); |                     List<HaiWeiPropertyVo> propertyList = checkedData.getPropertyList(); | ||||||
|             Map<String, List<DeviceLog>> taiyangnengCollect = deviceLogs.stream().sorted(Comparator |                     for (HaiWeiPropertyVo haiWeiPropertyVo : propertyList) { | ||||||
|                     .comparing(DeviceLog::getCreateTime, Comparator | //                        if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_kaixian")){ | ||||||
|                             .nullsFirst(Comparator.naturalOrder())).reversed()).collect(Collectors.groupingBy(t -> t.getIdentity())); | //                            continue; | ||||||
|             for (ThingsModel thingsModel : taiyangnengModels) { | //                        } | ||||||
|                 if (thingsModel.getModelName().equals("市电状态")) { |  | ||||||
|                     List<DeviceLog> deviceLogs1 = taiyangnengCollect.get(thingsModel.getIdentifier()); |  | ||||||
|                         HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ |                         HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ | ||||||
|                             put("upType", 0); |                             put("upType", 0); | ||||||
|                         put("identifier", thingsModel.getIdentifier()); |                             put("identifier", haiWeiPropertyVo.getNameEn()); | ||||||
|                         put("unit", ""); |                             put("unit", haiWeiPropertyVo.getUnit()); | ||||||
|                         put("value", "市电"); |                             put("value", StringUtils.isEmpty(haiWeiPropertyVo.getValue().toString())? | ||||||
|                         put("name", thingsModel.getModelName()); |                                     "--":haiWeiPropertyVo.getValue().toString()); | ||||||
|  |                             put("name", haiWeiPropertyVo.getNameCn()); | ||||||
|                         }}; |                         }}; | ||||||
|                     if (deviceLogs1.size() > 0) { |                         if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_MpptDown")){ | ||||||
|                         if (StringUtils.isNotEmpty(deviceLogs1.get(0).getLogValue())) { |                             hashMap.put("value", NumberUtils.isNumeric(haiWeiPropertyVo.getValue().toString())?( | ||||||
|                             if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f) { |                                     Float.parseFloat(haiWeiPropertyVo.getValue().toString()) == 1f?"正常":"异常"):"正常"); | ||||||
|                                 hashMap.put("value", "市电"); |                         }else  if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_市电状态")){ | ||||||
|                             } else { |                             hashMap.put("value", NumberUtils.isNumeric(haiWeiPropertyVo.getValue().toString())?( | ||||||
|                                 hashMap.put("value", "太阳能"); |                                     Float.parseFloat(haiWeiPropertyVo.getValue().toString()) == 1f?"市电":"太阳能"):"市电"); | ||||||
|  |                         } | ||||||
|  |                         rMap.put(haiWeiPropertyVo.getNameEn(), hashMap); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|                     rMap.put(thingsModel.getIdentifier(), hashMap); | //            List<DeviceLog> deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ | ||||||
|                 } else { | //                setSerialNumber(taiyangnengDevice.getSerialNumber()); | ||||||
|                     HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ | //                setBeginTime(DateUtil.beginOfDay(DateUtil.offsetDay(dateTime, -1)).toString()); | ||||||
|                         put("upType", 0); | //                setEndTime(DateUtil.endOfDay(dateTime).toString()); | ||||||
|                         put("identifier", thingsModel.getIdentifier()); | //            }}); | ||||||
|                         put("unit", ""); | //            Map<String, List<DeviceLog>> taiyangnengCollect = deviceLogs.stream().sorted(Comparator | ||||||
|                         put("value", 0); | //                    .comparing(DeviceLog::getCreateTime, Comparator | ||||||
|                         put("name", thingsModel.getModelName()); | //                            .nullsFirst(Comparator.naturalOrder())).reversed()).collect(Collectors.groupingBy(t -> t.getIdentity())); | ||||||
|                     }}; | //            for (ThingsModel thingsModel : taiyangnengModels) { | ||||||
|                     if (StringUtils.isNotEmpty(thingsModel.getSpecs())) { | //                if (thingsModel.getModelName().equals("市电状态")) { | ||||||
|                         String specs = thingsModel.getSpecs(); | //                    List<DeviceLog> deviceLogs1 = taiyangnengCollect.get(thingsModel.getIdentifier()); | ||||||
|                         JSONObject parse = (JSONObject) JSON.parse(specs); | //                    HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ | ||||||
|                         if (parse.containsKey("unit")) { | //                        put("upType", 0); | ||||||
|                             hashMap.put("unit", parse.get("unit")); | //                        put("identifier", thingsModel.getIdentifier()); | ||||||
|                         } | //                        put("unit", ""); | ||||||
|                     } | //                        put("value", "市电"); | ||||||
|  | //                        put("name", thingsModel.getModelName()); | ||||||
|                     if (hashMap.size() > 1) { | //                    }}; | ||||||
|                         List<DeviceLog> deviceLogs1 = taiyangnengCollect.get(thingsModel.getIdentifier()); | //                    if (deviceLogs1.size() > 0) { | ||||||
|                         if (deviceLogs1 != null) { | //                        if (StringUtils.isNotEmpty(deviceLogs1.get(0).getLogValue())) { | ||||||
|                             if (deviceLogs1.size() > 0) { | //                            if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f) { | ||||||
|                                 if (StringUtils.isNotEmpty(deviceLogs1.get(0).getLogValue())) { | //                                hashMap.put("value", "市电"); | ||||||
|                                     if (deviceLogs1.size() > 1) { | //                            } else { | ||||||
|                                         try{ | //                                hashMap.put("value", "太阳能"); | ||||||
|                                             if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) == Float.parseFloat(deviceLogs1.get(1).getLogValue())) { | //                            } | ||||||
|                                                 hashMap.put("upType", 1); | //                        } | ||||||
|                                             } else if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) < Float.parseFloat(deviceLogs1.get(1).getLogValue())) { | //                    } | ||||||
|                                                 hashMap.put("upType", -1); | //                    rMap.put(thingsModel.getIdentifier(), hashMap); | ||||||
|                                             } | //                } else { | ||||||
|                                         }catch (Exception e){ | //                    HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ | ||||||
|                                             hashMap.put("upType", 0); | //                        put("upType", 0); | ||||||
|                                         } | //                        put("identifier", thingsModel.getIdentifier()); | ||||||
|                                     } else { | //                        put("unit", ""); | ||||||
|                                         hashMap.put("upType", 0); | //                        put("value", 0); | ||||||
|                                     } | //                        put("name", thingsModel.getModelName()); | ||||||
|                                     hashMap.put("value", deviceLogs1.get(0).getLogValue()); | //                    }}; | ||||||
|                                 } else { | //                    if (StringUtils.isNotEmpty(thingsModel.getSpecs())) { | ||||||
|                                     hashMap.put("value", "--"); | //                        String specs = thingsModel.getSpecs(); | ||||||
|                                     hashMap.put("upType", 0); | //                        JSONObject parse = (JSONObject) JSON.parse(specs); | ||||||
|                                 } | //                        if (parse.containsKey("unit")) { | ||||||
|  | //                            hashMap.put("unit", parse.get("unit")); | ||||||
|                             } else { | //                        } | ||||||
|                                 hashMap.put("value", "--"); | //                    } | ||||||
|                                 hashMap.put("upType", 0); | //                    if (hashMap.size() > 1) { | ||||||
|                             } | //                        List<DeviceLog> deviceLogs1 = taiyangnengCollect.get(thingsModel.getIdentifier()); | ||||||
|  | //                        if (deviceLogs1 != null) { | ||||||
|  | //                            if (deviceLogs1.size() > 0) { | ||||||
|                         } | //                                if (StringUtils.isNotEmpty(deviceLogs1.get(0).getLogValue())) { | ||||||
|                     } else if (hashMap.size() > 0) { | //                                    if (deviceLogs1.size() > 1) { | ||||||
|                         List<DeviceLog> deviceLogs2 = taiyangnengCollect.get(thingsModel.getIdentifier()); | //                                        try{ | ||||||
|                         if (deviceLogs2 != null) { | //                                            if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) == Float.parseFloat(deviceLogs1.get(1).getLogValue())) { | ||||||
|                             hashMap.put("value", deviceLogs2.get(0).getLogValue()); | //                                                hashMap.put("upType", 1); | ||||||
|                         } | //                                            } else if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) < Float.parseFloat(deviceLogs1.get(1).getLogValue())) { | ||||||
|                     } | //                                                hashMap.put("upType", -1); | ||||||
|                     rMap.put(thingsModel.getIdentifier(), hashMap); | //                                            } | ||||||
|                 } | //                                        }catch (Exception e){ | ||||||
|  | //                                            hashMap.put("upType", 0); | ||||||
|  | //                                        } | ||||||
|             } | //                                    } else { | ||||||
|  | //                                        hashMap.put("upType", 0); | ||||||
|  | //                                    } | ||||||
|  | //                                    hashMap.put("value", deviceLogs1.get(0).getLogValue()); | ||||||
|  | //                                } else { | ||||||
|  | //                                    hashMap.put("value", "--"); | ||||||
|  | //                                    hashMap.put("upType", 0); | ||||||
|  | //                                } | ||||||
|  | // | ||||||
|  | //                            } else { | ||||||
|  | //                                hashMap.put("value", "--"); | ||||||
|  | //                                hashMap.put("upType", 0); | ||||||
|  | //                            } | ||||||
|  | // | ||||||
|  | // | ||||||
|  | //                        } | ||||||
|  | //                    } else if (hashMap.size() > 0) { | ||||||
|  | //                        List<DeviceLog> deviceLogs2 = taiyangnengCollect.get(thingsModel.getIdentifier()); | ||||||
|  | //                        if (deviceLogs2 != null) { | ||||||
|  | //                            hashMap.put("value", deviceLogs2.get(0).getLogValue()); | ||||||
|  | //                        } | ||||||
|  | //                    } | ||||||
|  | //                    rMap.put(thingsModel.getIdentifier(), hashMap); | ||||||
|  | //                } | ||||||
|  | //            } | ||||||
|         } else { |         } else { | ||||||
|             for (ThingsModel thingsModel : taiyangnengModels) { |             for (ThingsModel thingsModel : taiyangnengModels) { | ||||||
|                 HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ |                 HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ | ||||||
| @@ -242,7 +267,8 @@ public class GisDeviceServiceImpl implements IGisDeviceService { | |||||||
|                         put("upType", 0); |                         put("upType", 0); | ||||||
|                         put("identifier", "xiangmen"); |                         put("identifier", "xiangmen"); | ||||||
|                         put("unit", ""); |                         put("unit", ""); | ||||||
|                         put("value", haiWeiPropertyVo.getValue()); |                         put("value", StringUtils.isEmpty(haiWeiPropertyVo.getValue().toString())? | ||||||
|  |                                 "--":haiWeiPropertyVo.getValue().toString()); | ||||||
|                         put("name", haiWeiPropertyVo.getNameCn()); |                         put("name", haiWeiPropertyVo.getNameCn()); | ||||||
|                     }}; |                     }}; | ||||||
|                     rMap.put("xiangmen", hashMap1); |                     rMap.put("xiangmen", hashMap1); | ||||||
| @@ -285,131 +311,169 @@ public class GisDeviceServiceImpl implements IGisDeviceService { | |||||||
|         thingsModel2.setProductId(139L); |         thingsModel2.setProductId(139L); | ||||||
|         List<ThingsModel> liuliangModels = thingsModelService.selectThingsModelList(thingsModel2); |         List<ThingsModel> liuliangModels = thingsModelService.selectThingsModelList(thingsModel2); | ||||||
|         if (StringUtils.isNotEmpty(liuliangModels)) { |         if (StringUtils.isNotEmpty(liuliangModels)) { | ||||||
|             Device liuliangDevice = deviceMapper.selectDeviceByDeviceId(Long.parseLong(liuliangIds)); |             CommonResult<HaiWeiDeviceInfoVo> cache = haiWeiService.getCache(Long.parseLong(liuliangIds)); | ||||||
|             List<DeviceLog> deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ |             if(cache != null){ | ||||||
|                 setSerialNumber(liuliangDevice.getSerialNumber()); |                 HaiWeiDeviceInfoVo checkedData = cache.getCheckedData(); | ||||||
|                 setBeginTime(DateUtil.beginOfDay(DateUtil.offsetDay(dateTime, -1)).toString()); |                 if(checkedData != null){ | ||||||
|                 setEndTime(DateUtil.endOfDay(dateTime).toString()); |                     List<HaiWeiPropertyVo> propertyList = checkedData.getPropertyList(); | ||||||
|             }}); |                     for (HaiWeiPropertyVo haiWeiPropertyVo : propertyList) { | ||||||
|             Map<String, List<DeviceLog>> liuliangCollect = deviceLogs.stream().sorted(Comparator | //                        if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_kaixian")){ | ||||||
|                     .comparing(DeviceLog::getCreateTime, Comparator | //                            continue; | ||||||
|                             .nullsFirst(Comparator.naturalOrder())).reversed()).collect(Collectors.groupingBy(t -> t.getIdentity())); | //                        } | ||||||
|             for (ThingsModel thingsModel : liuliangModels) { |                         HashMap<Object, Object> hashMap = new HashMap<Object, Object>() {{ | ||||||
|                 if(thingsModel.getIdentifier().equals("三菱FX2N_1_mCon")){ |  | ||||||
|                     HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ |  | ||||||
|                             put("upType", 0); |                             put("upType", 0); | ||||||
|                         put("identifier", "三菱FX2N_1_mCon"); |                             put("identifier", haiWeiPropertyVo.getNameEn()); | ||||||
|                         put("unit", ""); |                             put("unit", haiWeiPropertyVo.getUnit()); | ||||||
|                         put("value", "停止"); |                             put("value", StringUtils.isEmpty(haiWeiPropertyVo.getValue().toString())? | ||||||
|                         put("name", thingsModel.getModelName()); |                                     "--":haiWeiPropertyVo.getValue().toString()); | ||||||
|  |                             put("name", haiWeiPropertyVo.getNameCn()); | ||||||
|                         }}; |                         }}; | ||||||
|                     List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); |                         if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_guanxian")){ | ||||||
|                     if(deviceLogs1.size() > 0){ |                             hashMap.put("value",  NumberUtils.isNumeric(haiWeiPropertyVo.getValue().toString())?( | ||||||
|                         if(NumberUtils.isNumeric(deviceLogs1.get(0).getLogValue())){ |                                     Float.parseFloat(haiWeiPropertyVo.getValue().toString()) == 1f?"关闭":"开启"):"关闭"); | ||||||
|                             if(Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f){ |                             rMap.put("阀门状态", hashMap); | ||||||
|                                 hashMap1.put("value", "启动"); |                         }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_FlowDown")){ | ||||||
|                             }else{ |                             hashMap.put("value",  NumberUtils.isNumeric(haiWeiPropertyVo.getValue().toString())?( | ||||||
|                                 hashMap1.put("value", "停止"); |                                     Float.parseFloat(haiWeiPropertyVo.getValue().toString()) == 1f?"正常":"异常"):"正常"); | ||||||
|  |                             rMap.put("水表状态", hashMap); | ||||||
|  |                         }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_mCon")){ | ||||||
|  |                             hashMap.put("value", NumberUtils.isNumeric(haiWeiPropertyVo.getValue().toString())?( | ||||||
|  |                                     Float.parseFloat(haiWeiPropertyVo.getValue().toString()) == 1f?"正常":"异常"):"正常"); | ||||||
|  |                             rMap.put("水泵状态", hashMap); | ||||||
|  |                         }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_sumFlow")){ | ||||||
|  |                             hashMap.put("value",  haiWeiPropertyVo.getValue().toString()); | ||||||
|  |                             rMap.put("sumFlow", hashMap); | ||||||
|  |                         }else { | ||||||
|  |                             rMap.put(haiWeiPropertyVo.getNameEn(), hashMap); | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|                     rMap.put("水泵状态", hashMap1); |  | ||||||
|                 }else if(thingsModel.getIdentifier().equals("三菱FX2N_1_guanxian")){ |  | ||||||
|                     HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ |  | ||||||
|                         put("upType", 0); |  | ||||||
|                         put("identifier", "三菱FX2N_1_guanxian"); |  | ||||||
|                         put("unit", ""); |  | ||||||
|                         put("value", "关闭"); |  | ||||||
|                         put("name", thingsModel.getModelName()); |  | ||||||
|                     }}; |  | ||||||
|                     List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); |  | ||||||
|                     if(deviceLogs1.size() > 0){ |  | ||||||
|                         if(NumberUtils.isNumeric(deviceLogs1.get(0).getLogValue())){ |  | ||||||
|                             if(Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f){ |  | ||||||
|                                 hashMap1.put("value", "关闭"); |  | ||||||
|                             }else{ |  | ||||||
|                                 hashMap1.put("value", "开启"); |  | ||||||
|                             } |  | ||||||
|                         }else{ |  | ||||||
|                             hashMap1.put("value", "关闭"); |  | ||||||
|                         } |  | ||||||
|  |  | ||||||
|                     } |  | ||||||
|                     rMap.put("阀门状态", hashMap1); |  | ||||||
|                 }else if(thingsModel.getIdentifier().equals("三菱FX2N_1_FlowDown")){ |  | ||||||
|                     HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ |  | ||||||
|                         put("upType", 0); |  | ||||||
|                         put("identifier", "三菱FX2N_1_FlowDown"); |  | ||||||
|                         put("unit", ""); |  | ||||||
|                         put("value", "正常"); |  | ||||||
|                         put("name", thingsModel.getModelName()); |  | ||||||
|                     }}; |  | ||||||
|                     List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); |  | ||||||
|                     if(deviceLogs1.size() > 0){ |  | ||||||
|                         if(NumberUtils.isNumeric(deviceLogs1.get(0).getLogValue())){ |  | ||||||
|                             if(Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f){ |  | ||||||
|                                 hashMap1.put("value", "断线"); |  | ||||||
|                             }else{ |  | ||||||
|                                 hashMap1.put("value", "正常"); |  | ||||||
|                             } |  | ||||||
|                         }else{ |  | ||||||
|                             hashMap1.put("value", "正常"); |  | ||||||
|                         } |  | ||||||
|  |  | ||||||
|                     } |  | ||||||
|                     rMap.put("水表状态", hashMap1); |  | ||||||
|                 }else{ |  | ||||||
|                     HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ |  | ||||||
|                         put("upType", 0); |  | ||||||
|                         put("identifier", thingsModel.getIdentifier().equals("三菱FX2N_1_sumFlow") ? "sumFlow" : thingsModel.getIdentifier()); |  | ||||||
|                         put("unit", ""); |  | ||||||
|                         put("value", 0); |  | ||||||
|                         put("name", thingsModel.getModelName()); |  | ||||||
|                     }}; |  | ||||||
|                     if (StringUtils.isNotEmpty(thingsModel.getSpecs())) { |  | ||||||
|                         String specs = thingsModel.getSpecs(); |  | ||||||
|                         JSONObject parse = (JSONObject) JSON.parse(specs); |  | ||||||
|                         if (parse.containsKey("unit")) { |  | ||||||
|                             hashMap1.put("unit", parse.get("unit")); |  | ||||||
|                         } |  | ||||||
|                     } |  | ||||||
|  |  | ||||||
|                     if (hashMap1.size() > 1) { |  | ||||||
|                         List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); |  | ||||||
|                         if (deviceLogs1 != null) { |  | ||||||
|                             if (deviceLogs1.size() > 0) { |  | ||||||
|                                 if (StringUtils.isNotEmpty(deviceLogs1.get(0).getLogValue())) { |  | ||||||
|                                     if (deviceLogs1.size() > 1) { |  | ||||||
|                                         if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) == Float.parseFloat(deviceLogs1.get(1).getLogValue())) { |  | ||||||
|                                             hashMap1.put("upType", 1); |  | ||||||
|                                         } else if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) < Float.parseFloat(deviceLogs1.get(1).getLogValue())) { |  | ||||||
|                                             hashMap1.put("upType", -1); |  | ||||||
|                                         } |  | ||||||
|                                     } else { |  | ||||||
|                                         hashMap1.put("upType", 0); |  | ||||||
|                                     } |  | ||||||
|                                     hashMap1.put("value", deviceLogs1.get(0).getLogValue()); |  | ||||||
|                                 } else { |  | ||||||
|                                     hashMap1.put("value", "--"); |  | ||||||
|                                     hashMap1.put("upType", 0); |  | ||||||
|                                 } |  | ||||||
|  |  | ||||||
|                             } else { |  | ||||||
|                                 hashMap1.put("value", "--"); |  | ||||||
|                                 hashMap1.put("upType", 0); |  | ||||||
|                             } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|                         } |  | ||||||
|                     } else if (hashMap1.size() > 0) { |  | ||||||
|                         List<DeviceLog> deviceLogs2 = liuliangCollect.get(thingsModel.getIdentifier()); |  | ||||||
|                         if (deviceLogs2 != null) { |  | ||||||
|                             hashMap1.put("value", deviceLogs2.get(0).getLogValue()); |  | ||||||
|                         } |  | ||||||
|                     } |  | ||||||
|                     rMap.put(thingsModel.getIdentifier().equals("三菱FX2N_1_sumFlow") ? "sumFlow" : thingsModel.getIdentifier(), hashMap1); |  | ||||||
|                 } |  | ||||||
|             } |             } | ||||||
|  | //            Device liuliangDevice = deviceMapper.selectDeviceByDeviceId(Long.parseLong(liuliangIds)); | ||||||
|  | //            List<DeviceLog> deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ | ||||||
|  | //                setSerialNumber(liuliangDevice.getSerialNumber()); | ||||||
|  | //                setBeginTime(DateUtil.beginOfDay(DateUtil.offsetDay(dateTime, -1)).toString()); | ||||||
|  | //                setEndTime(DateUtil.endOfDay(dateTime).toString()); | ||||||
|  | //            }}); | ||||||
|  | //            Map<String, List<DeviceLog>> liuliangCollect = deviceLogs.stream().sorted(Comparator | ||||||
|  | //                    .comparing(DeviceLog::getCreateTime, Comparator | ||||||
|  | //                            .nullsFirst(Comparator.naturalOrder())).reversed()).collect(Collectors.groupingBy(t -> t.getIdentity())); | ||||||
|  | //            for (ThingsModel thingsModel : liuliangModels) { | ||||||
|  | //                if(thingsModel.getIdentifier().equals("三菱FX2N_1_mCon")){ | ||||||
|  | //                    HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ | ||||||
|  | //                        put("upType", 0); | ||||||
|  | //                        put("identifier", "三菱FX2N_1_mCon"); | ||||||
|  | //                        put("unit", ""); | ||||||
|  | //                        put("value", "停止"); | ||||||
|  | //                        put("name", thingsModel.getModelName()); | ||||||
|  | //                    }}; | ||||||
|  | //                    List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); | ||||||
|  | //                    if(deviceLogs1.size() > 0){ | ||||||
|  | //                        if(NumberUtils.isNumeric(deviceLogs1.get(0).getLogValue())){ | ||||||
|  | //                            if(Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f){ | ||||||
|  | //                                hashMap1.put("value", "启动"); | ||||||
|  | //                            }else{ | ||||||
|  | //                                hashMap1.put("value", "停止"); | ||||||
|  | //                            } | ||||||
|  | //                        } | ||||||
|  | //                    } | ||||||
|  | //                    rMap.put("水泵状态", hashMap1); | ||||||
|  | //                }else if(thingsModel.getIdentifier().equals("三菱FX2N_1_guanxian")){ | ||||||
|  | //                    HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ | ||||||
|  | //                        put("upType", 0); | ||||||
|  | //                        put("identifier", "三菱FX2N_1_guanxian"); | ||||||
|  | //                        put("unit", ""); | ||||||
|  | //                        put("value", "关闭"); | ||||||
|  | //                        put("name", thingsModel.getModelName()); | ||||||
|  | //                    }}; | ||||||
|  | //                    List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); | ||||||
|  | //                    if(deviceLogs1.size() > 0){ | ||||||
|  | //                        if(NumberUtils.isNumeric(deviceLogs1.get(0).getLogValue())){ | ||||||
|  | //                            if(Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f){ | ||||||
|  | //                                hashMap1.put("value", "关闭"); | ||||||
|  | //                            }else{ | ||||||
|  | //                                hashMap1.put("value", "开启"); | ||||||
|  | //                            } | ||||||
|  | //                        }else{ | ||||||
|  | //                            hashMap1.put("value", "关闭"); | ||||||
|  | //                        } | ||||||
|  | // | ||||||
|  | //                    } | ||||||
|  | //                    rMap.put("阀门状态", hashMap1); | ||||||
|  | //                }else if(thingsModel.getIdentifier().equals("三菱FX2N_1_FlowDown")){ | ||||||
|  | //                    HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ | ||||||
|  | //                        put("upType", 0); | ||||||
|  | //                        put("identifier", "三菱FX2N_1_FlowDown"); | ||||||
|  | //                        put("unit", ""); | ||||||
|  | //                        put("value", "正常"); | ||||||
|  | //                        put("name", thingsModel.getModelName()); | ||||||
|  | //                    }}; | ||||||
|  | //                    List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); | ||||||
|  | //                    if(deviceLogs1.size() > 0){ | ||||||
|  | //                        if(NumberUtils.isNumeric(deviceLogs1.get(0).getLogValue())){ | ||||||
|  | //                            if(Float.parseFloat(deviceLogs1.get(0).getLogValue()) == 1f){ | ||||||
|  | //                                hashMap1.put("value", "断线"); | ||||||
|  | //                            }else{ | ||||||
|  | //                                hashMap1.put("value", "正常"); | ||||||
|  | //                            } | ||||||
|  | //                        }else{ | ||||||
|  | //                            hashMap1.put("value", "正常"); | ||||||
|  | //                        } | ||||||
|  | // | ||||||
|  | //                    } | ||||||
|  | //                    rMap.put("水表状态", hashMap1); | ||||||
|  | //                }else{ | ||||||
|  | //                    HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ | ||||||
|  | //                        put("upType", 0); | ||||||
|  | //                        put("identifier", thingsModel.getIdentifier().equals("三菱FX2N_1_sumFlow") ? "sumFlow" : thingsModel.getIdentifier()); | ||||||
|  | //                        put("unit", ""); | ||||||
|  | //                        put("value", 0); | ||||||
|  | //                        put("name", thingsModel.getModelName()); | ||||||
|  | //                    }}; | ||||||
|  | //                    if (StringUtils.isNotEmpty(thingsModel.getSpecs())) { | ||||||
|  | //                        String specs = thingsModel.getSpecs(); | ||||||
|  | //                        JSONObject parse = (JSONObject) JSON.parse(specs); | ||||||
|  | //                        if (parse.containsKey("unit")) { | ||||||
|  | //                            hashMap1.put("unit", parse.get("unit")); | ||||||
|  | //                        } | ||||||
|  | //                    } | ||||||
|  | // | ||||||
|  | //                    if (hashMap1.size() > 1) { | ||||||
|  | //                        List<DeviceLog> deviceLogs1 = liuliangCollect.get(thingsModel.getIdentifier()); | ||||||
|  | //                        if (deviceLogs1 != null) { | ||||||
|  | //                            if (deviceLogs1.size() > 0) { | ||||||
|  | //                                if (StringUtils.isNotEmpty(deviceLogs1.get(0).getLogValue())) { | ||||||
|  | //                                    if (deviceLogs1.size() > 1) { | ||||||
|  | //                                        if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) == Float.parseFloat(deviceLogs1.get(1).getLogValue())) { | ||||||
|  | //                                            hashMap1.put("upType", 1); | ||||||
|  | //                                        } else if (Float.parseFloat(deviceLogs1.get(0).getLogValue()) < Float.parseFloat(deviceLogs1.get(1).getLogValue())) { | ||||||
|  | //                                            hashMap1.put("upType", -1); | ||||||
|  | //                                        } | ||||||
|  | //                                    } else { | ||||||
|  | //                                        hashMap1.put("upType", 0); | ||||||
|  | //                                    } | ||||||
|  | //                                    hashMap1.put("value", deviceLogs1.get(0).getLogValue()); | ||||||
|  | //                                } else { | ||||||
|  | //                                    hashMap1.put("value", "--"); | ||||||
|  | //                                    hashMap1.put("upType", 0); | ||||||
|  | //                                } | ||||||
|  | // | ||||||
|  | //                            } else { | ||||||
|  | //                                hashMap1.put("value", "--"); | ||||||
|  | //                                hashMap1.put("upType", 0); | ||||||
|  | //                            } | ||||||
|  | // | ||||||
|  | // | ||||||
|  | //                        } | ||||||
|  | //                    } else if (hashMap1.size() > 0) { | ||||||
|  | //                        List<DeviceLog> deviceLogs2 = liuliangCollect.get(thingsModel.getIdentifier()); | ||||||
|  | //                        if (deviceLogs2 != null) { | ||||||
|  | //                            hashMap1.put("value", deviceLogs2.get(0).getLogValue()); | ||||||
|  | //                        } | ||||||
|  | //                    } | ||||||
|  | //                    rMap.put(thingsModel.getIdentifier().equals("三菱FX2N_1_sumFlow") ? "sumFlow" : thingsModel.getIdentifier(), hashMap1); | ||||||
|  | //                } | ||||||
|  | //             } | ||||||
|         } else { |         } else { | ||||||
|             for (ThingsModel thingsModel : taiyangnengModels) { |             for (ThingsModel thingsModel : taiyangnengModels) { | ||||||
|                 HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ |                 HashMap<Object, Object> hashMap1 = new HashMap<Object, Object>() {{ | ||||||
| @@ -478,7 +542,7 @@ public class GisDeviceServiceImpl implements IGisDeviceService { | |||||||
|             if (liuliangDevice != null) { |             if (liuliangDevice != null) { | ||||||
|                 List<DeviceLog> deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ |                 List<DeviceLog> deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ | ||||||
|                     setSerialNumber(liuliangDevice.getSerialNumber()); |                     setSerialNumber(liuliangDevice.getSerialNumber()); | ||||||
|                     setBeginTime(DateUtil.beginOfDay(DateUtil.offsetDay(dateTime, -1)).toString()); |                     setBeginTime(DateUtil.beginOfDay(DateUtil.offsetDay(dateTime, 0)).toString()); | ||||||
|                     setEndTime(DateUtil.endOfDay(dateTime).toString()); |                     setEndTime(DateUtil.endOfDay(dateTime).toString()); | ||||||
|                 }}); |                 }}); | ||||||
|                 Map<String, List<DeviceLog>> liuliangCollect = deviceLogs.stream().sorted(Comparator |                 Map<String, List<DeviceLog>> liuliangCollect = deviceLogs.stream().sorted(Comparator | ||||||
|   | |||||||
| @@ -1664,6 +1664,9 @@ public class DeviceServiceImpl implements IDeviceService { | |||||||
|             HashMap<String, Object> dataListMap = new HashMap<>(); |             HashMap<String, Object> dataListMap = new HashMap<>(); | ||||||
|  |  | ||||||
|             List<DeviceLog> deviceLogs1 = collect.get(modelDevice.getIdentifier()); |             List<DeviceLog> deviceLogs1 = collect.get(modelDevice.getIdentifier()); | ||||||
|  |             if(null == deviceLogs1){ | ||||||
|  |                 continue; | ||||||
|  |             } | ||||||
|             deviceLogs1.sort(Comparator.comparing(DeviceLog::getCreateTime)); |             deviceLogs1.sort(Comparator.comparing(DeviceLog::getCreateTime)); | ||||||
|             dataListMap.put("name", modelDevice.getModelName()); |             dataListMap.put("name", modelDevice.getModelName()); | ||||||
|             if (StringUtils.isNotEmpty(modelDevice.getSpecs())) { |             if (StringUtils.isNotEmpty(modelDevice.getSpecs())) { | ||||||
|   | |||||||
| @@ -59,6 +59,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||||
|             <if test="serialNumber != null and serialNumber !=''"> and serial_number = #{serialNumber}</if> |             <if test="serialNumber != null and serialNumber !=''"> and serial_number = #{serialNumber}</if> | ||||||
|             <if test="logType != null "> and log_type = #{logType}</if> |             <if test="logType != null "> and log_type = #{logType}</if> | ||||||
|             <if test="identity != null  and identity != ''"> and identity like concat('%', #{identity}, '%')</if> |             <if test="identity != null  and identity != ''"> and identity like concat('%', #{identity}, '%')</if> | ||||||
|  |             <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> | ||||||
|  |                 and create_time between #{beginTime} and #{endTime} | ||||||
|  |             </if> | ||||||
|         </where> |         </where> | ||||||
|         order by create_time desc |         order by create_time desc | ||||||
|     </select> |     </select> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 wyw
					wyw