diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/InnerController.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/InnerController.java index 4d994cb..3452a7e 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/InnerController.java +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/InnerController.java @@ -140,4 +140,37 @@ public class InnerController { return new VOHisResult(); } } + + @ApiOperation(value = "11. 构造空气数据", notes = "") + @ApiOperationSupport(order = 11) + @PostMapping(value = "/constructAir") + public List constructAir(@RequestBody ConstructAir constructAir) { + if(constructAir!=null){ + return CommonUtils.constructAir(constructAir.getTransdataAir()); + }else { + return new ArrayList<>(); + } + } + + @ApiOperation(value = "12. 构造土壤数据", notes = "") + @ApiOperationSupport(order = 12) + @PostMapping(value = "/constructSoil") + public List constructSoil(@RequestBody ConstructSoil constructSoil) { + if(constructSoil!=null){ + return CommonUtils.constructSoil(constructSoil.getTransdataSoil()); + }else { + return new ArrayList<>(); + } + } + + @ApiOperation(value = "13. 构造恶臭数据", notes = "") + @ApiOperationSupport(order = 13) + @PostMapping(value = "/constructStink") + public List constructStink(@RequestBody ConstructStink constructStink) { + if(constructStink!=null){ + return CommonUtils.constructStink(constructStink.getTransdataStinkVo()); + }else { + return new ArrayList<>(); + } + } } diff --git a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/client/ZhAdminFeignClient.java b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/client/ZhAdminFeignClient.java index 3d585d8..2af6bbf 100644 --- a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/client/ZhAdminFeignClient.java +++ b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/client/ZhAdminFeignClient.java @@ -64,11 +64,32 @@ public interface ZhAdminFeignClient { @PostMapping("/appmana/inner/api/constructVocs") List constructVocs(@RequestBody ConstructVocs constructVocs); + /** + * 构造空气数据 + * @return + */ + @PostMapping("/appmana/inner/api/constructAir") + List constructAir(@RequestBody ConstructAir constructAir); /** - * 构造畜禽数据 + * 构造土壤数据 + * @return + */ + @PostMapping("/appmana/inner/api/constructSoil") + List constructSoil(@RequestBody ConstructSoil constructSoil); + + + /** + * 单项监测统计 * @return */ @PostMapping("/appmana/inner/api/singleItemSummary") VOHisResult singleItemSummary(@RequestBody VOBigScreenSurvQ voBigScreenSurvQ); + + /** + * 构造恶臭数据 + * @return + */ + @PostMapping("/appmana/inner/api/constructStink") + List constructStink(@RequestBody ConstructStink constructStink); } diff --git a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/controller/SurvStationInfoController.java b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/controller/SurvStationInfoController.java index 372fbdd..eb17411 100644 --- a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/controller/SurvStationInfoController.java +++ b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/controller/SurvStationInfoController.java @@ -1,5 +1,6 @@ package org.jeecg.system.applet.controller; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -16,8 +17,7 @@ import org.jeecg.common.constant.enums.PollutionEnum; import org.jeecg.common.entity.*; import org.jeecg.common.util.R; import org.jeecg.common.vo.*; -import org.jeecg.common.vo.inner.TransSurvObjVo; -import org.jeecg.common.vo.inner.TransZhiBiaoVo; +import org.jeecg.common.vo.inner.*; import org.jeecg.system.applet.annotation.ApiLogin; import org.jeecg.system.applet.client.ZhAdminFeignClient; import org.jeecg.system.applet.service.*; @@ -235,9 +235,11 @@ public class SurvStationInfoController { List stinkList = new ArrayList<>(); List waterList = new ArrayList<>(); List orientIds = new ArrayList<>(); + Map deployMap = new HashMap<>(); Map> zhibiaoMap = new HashMap<>(); - if(curStation.getDeviceList()!=null&&curStation.getDeviceList().size()>0){ + if(curStation.getDeviceList()!=null&& !curStation.getDeviceList().isEmpty()){ for (SurvDeviceDeploy survDeviceDeploy : curStation.getDeviceList()) { + deployMap.put(survDeviceDeploy.getDeployCode(),survDeviceDeploy); deployList.add(survDeviceDeploy.getId()); if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备 soilList.add(survDeviceDeploy.getDeployCode()); @@ -272,51 +274,74 @@ public class SurvStationInfoController { List adds = iotutils.addOnlineStatus(camList); jsonObject.put("survCamera",adds); - JSONArray jsonArray = new JSONArray(); + List jsonArray = new ArrayList<>(); Integer finalDataCounts = 0; //水实时 - if(orientList.size()>0) { + if(!orientList.isEmpty()) { SurvTransdataOrientwaterVo survTransdataOrientwaterVo = orientwaterService.getNewestDataWithStation(orientList); - jsonArray.add(JSONObject.parseObject(JSONObject.toJSONString(survTransdataOrientwaterVo))); + ConstructOrient constructOrient = new ConstructOrient(); + constructOrient.setDeploy(deployMap.get(survTransdataOrientwaterVo.getDeployCode())); + constructOrient.setTransdataOrientwaterVo(survTransdataOrientwaterVo); + jsonArray.addAll(zhAdminFeignClient.constructOrient(constructOrient)); //计算历史数据量 Integer dataCounts = hisdataOrientwaterService.getHisDataCount(orientList); finalDataCounts=finalDataCounts+dataCounts; } - if(liveList.size()>0) { + if(!liveList.isEmpty()) { SurvTransdataLivestockwaterVo survTransdataLivestockwaterVo = livestockwaterService.getNewestDataWithStation(liveList); - jsonArray.add(JSONObject.parseObject(JSONObject.toJSONString(survTransdataLivestockwaterVo))); + ConstructLive constructLive = new ConstructLive(); + constructLive.setDeploy(deployMap.get(survTransdataLivestockwaterVo.getDeployCode())); + constructLive.setTransdataLivestockwaterVo(survTransdataLivestockwaterVo); + jsonArray.addAll(zhAdminFeignClient.constructLive(constructLive)); //计算历史数据量 Integer dataCounts = hisdataLivestockwaterService.getHisDataCount(liveList); finalDataCounts=finalDataCounts+dataCounts; } //气实时 - if(airList.size()>0) { + if(!airList.isEmpty()) { SurvTransdataAirVo survTransdataAirVo=transdataAirService.getNewestDataWithStation(airList); - jsonArray.add(JSONObject.parseObject(JSONObject.toJSONString(survTransdataAirVo))); + ConstructAir constructAir = new ConstructAir(); + SurvTransdataAir survTransdataAir = new SurvTransdataAir(); + BeanUtil.copyProperties(constructAir,survTransdataAir); + constructAir.setTransdataAir(survTransdataAir); + constructAir.setDeploy(deployMap.get(survTransdataAirVo.getDeployCode())); + jsonArray.addAll(zhAdminFeignClient.constructAir(constructAir)); //计算历史数据量 Integer dataCounts = hisdataAirService.getHisDataCount(airList); finalDataCounts=finalDataCounts+dataCounts; } //土壤实时 - if(soilList.size()>0){ + if(!soilList.isEmpty()){ SurvTransdataSoilVo survTransdataSoilVo = transdataSoilService.getNewestDataWithStation(soilList); - jsonArray.add(JSONObject.parseObject(JSONObject.toJSONString(survTransdataSoilVo))); + ConstructSoil constructSoil = new ConstructSoil(); + SurvTransdataSoil survTransdataSoil = new SurvTransdataSoil(); + BeanUtil.copyProperties(constructSoil,survTransdataSoil); + constructSoil.setTransdataSoil(survTransdataSoil); + constructSoil.setDeploy(deployMap.get(survTransdataSoilVo.getDeployCode())); + jsonArray.addAll(zhAdminFeignClient.constructSoil(constructSoil)); //计算历史数据量 Integer dataCounts = hisdataSoilService.getHisDataCount(soilList); finalDataCounts=finalDataCounts+dataCounts; } //水质实时 - if(waterList.size()>0){ + if(!waterList.isEmpty()){ SurvTransdataSoilVo survTransdataSoilVo = transdataSoilService.getNewestDataWithStation(waterList); - jsonArray.add(JSONObject.parseObject(JSONObject.toJSONString(survTransdataSoilVo))); + ConstructSoil constructSoil = new ConstructSoil(); + SurvTransdataSoil survTransdataSoil = new SurvTransdataSoil(); + BeanUtil.copyProperties(constructSoil,survTransdataSoil); + constructSoil.setTransdataSoil(survTransdataSoil); + constructSoil.setDeploy(deployMap.get(survTransdataSoilVo.getDeployCode())); + jsonArray.addAll(zhAdminFeignClient.constructSoil(constructSoil)); //计算历史数据量 Integer dataCounts = hisdataSoilService.getHisDataCount(waterList); finalDataCounts=finalDataCounts+dataCounts; } //恶臭实时 - if(stinkList.size()>0){ + if(!stinkList.isEmpty()){ SurvTransdataStinkVo survTransdataStinkVo = survTransdataVocsService.getNewestDataWithStation(stinkList); - jsonArray.add(JSONObject.parseObject(JSONObject.toJSONString(survTransdataStinkVo))); + ConstructStink constructStink = new ConstructStink(); + constructStink.setTransdataStinkVo(survTransdataStinkVo); + jsonArray.addAll(zhAdminFeignClient.constructStink(constructStink)); //计算历史数据量 Integer dataCounts = survHisdataVocsService.getHisDataCount(stinkList); finalDataCounts=finalDataCounts+dataCounts; @@ -350,85 +375,37 @@ public class SurvStationInfoController { jsonObject.put("liveSurvData",jsonArray); //TODO 历史监测数据 JSONArray hisjsonArray = new JSONArray(); - if(orientList.size()>0) { + if(!orientList.isEmpty()) { List oriDataList = hisdataOrientwaterService.getResentData(orientList,5); - List tpList = new ArrayList<>(); - List tnList = new ArrayList<>(); - List noList = new ArrayList<>(); - for (SurvTransdataOrientwaterVo survHisdataOrientwater : oriDataList) { - CommonDataTrans tpent = new CommonDataTrans(); - tpent.setName(PollutionEnum.dataWaterTp.getDescription()); - tpent.setUnit(PollutionEnum.dataWaterTp.getUnit()); - tpent.setColor(PollutionEnum.dataWaterTp.getColor()); - tpent.setDataDateTime(survHisdataOrientwater.getDataDateTime()); - CommonDataTrans tnent = new CommonDataTrans(); - tnent.setName(PollutionEnum.dataWaterTn.getDescription()); - tnent.setUnit(PollutionEnum.dataWaterTn.getUnit()); - tnent.setColor(PollutionEnum.dataWaterTn.getColor()); - tnent.setDataDateTime(survHisdataOrientwater.getDataDateTime()); - CommonDataTrans noent = new CommonDataTrans(); - noent.setName(PollutionEnum.dataWaterNo.getDescription()); - noent.setUnit(PollutionEnum.dataWaterNo.getUnit()); - noent.setColor(PollutionEnum.dataWaterNo.getColor()); - noent.setDataDateTime(survHisdataOrientwater.getDataDateTime()); - tpent.setValue(survHisdataOrientwater.getDataWaterTp()); - tnent.setValue(survHisdataOrientwater.getDataWaterTn()); - noent.setValue(survHisdataOrientwater.getDataWaterNo()); - tpList.add(tpent); - tnList.add(tnent); - noList.add(noent); - } - List listFinal = new ArrayList<>(); - listFinal.addAll(tnList); - listFinal.addAll(tpList); - listFinal.addAll(noList); - jsonObject.put("HisSurvData",listFinal); + List listFinal = new ArrayList<>(); + if(!oriDataList.isEmpty()){ + for (SurvTransdataOrientwaterVo survTransdataOrientwaterVo : oriDataList) { + SurvDeviceDeploy deploy = deployMap.get(survTransdataOrientwaterVo.getDeployCode()); + ConstructOrient constructOrient = new ConstructOrient(); + constructOrient.setDeploy(deploy); + constructOrient.setTransdataOrientwaterVo(survTransdataOrientwaterVo); + List orients = zhAdminFeignClient.constructOrient(constructOrient); + listFinal.addAll(orients); + jsonObject.put("HisSurvData",listFinal); + } + } }else{ jsonObject.put("HisSurvData",new ArrayList<>()); } - if(liveList.size()>0) { + if(!liveList.isEmpty()) { List liveDataList = hisdataLivestockwaterService.getResentData(liveList,5); - List tpList = new ArrayList<>(); - List tnList = new ArrayList<>(); - List nhList = new ArrayList<>(); - List codList = new ArrayList<>(); - for (SurvTransdataLivestockwaterVo survHisdataLivestockwater : liveDataList) { - CommonDataTrans tpent = new CommonDataTrans(); - tpent.setName(PollutionEnum.dataWaterTp.getDescription()); - tpent.setUnit(PollutionEnum.dataWaterTp.getUnit()); - tpent.setColor(PollutionEnum.dataWaterTp.getColor()); - tpent.setDataDateTime(survHisdataLivestockwater.getDataDateTime()); - CommonDataTrans tnent = new CommonDataTrans(); - tnent.setName(PollutionEnum.dataWaterTn.getDescription()); - tnent.setUnit(PollutionEnum.dataWaterTn.getUnit()); - tnent.setColor(PollutionEnum.dataWaterTn.getColor()); - tnent.setDataDateTime(survHisdataLivestockwater.getDataDateTime()); - CommonDataTrans nhent = new CommonDataTrans(); - nhent.setName(PollutionEnum.dataWaterNh.getDescription()); - nhent.setUnit(PollutionEnum.dataWaterNh.getUnit()); - nhent.setColor(PollutionEnum.dataWaterNh.getColor()); - nhent.setDataDateTime(survHisdataLivestockwater.getDataDateTime()); - CommonDataTrans codent = new CommonDataTrans(); - codent.setName(PollutionEnum.dataWaterCod.getDescription()); - codent.setUnit(PollutionEnum.dataWaterCod.getUnit()); - codent.setColor(PollutionEnum.dataWaterCod.getColor()); - codent.setDataDateTime(survHisdataLivestockwater.getDataDateTime()); - - tpent.setValue(survHisdataLivestockwater.getDataWaterTp()); - tnent.setValue(survHisdataLivestockwater.getDataWaterTn()); - nhent.setValue(survHisdataLivestockwater.getDataWaterNh()); - codent.setValue(survHisdataLivestockwater.getDataWaterCod()); - - tpList.add(tpent); - tnList.add(tnent); - nhList.add(nhent); - codList.add(codent); - } - List listFinal = new ArrayList<>(); - listFinal.addAll(tnList); - listFinal.addAll(tpList); - listFinal.addAll(nhList); - listFinal.addAll(codList); + List listFinal = new ArrayList<>(); + if(!liveDataList.isEmpty()){ + for (SurvTransdataLivestockwaterVo survTransdataLivestockwaterVo : liveDataList) { + SurvDeviceDeploy deploy = deployMap.get(survTransdataLivestockwaterVo.getDeployCode()); + ConstructLive constructLive = new ConstructLive(); + constructLive.setDeploy(deploy); + constructLive.setTransdataLivestockwaterVo(survTransdataLivestockwaterVo); + List orients = zhAdminFeignClient.constructLive(constructLive); + listFinal.addAll(orients); + jsonObject.put("HisSurvData",listFinal); + } + } jsonObject.put("HisSurvData",listFinal); }else{ jsonObject.put("HisSurvData",new ArrayList<>()); diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructAir.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructAir.java new file mode 100644 index 0000000..f86f0c4 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructAir.java @@ -0,0 +1,14 @@ +package org.jeecg.common.vo.inner; + +import lombok.Data; +import org.jeecg.common.entity.SurvDeviceDeploy; +import org.jeecg.common.entity.SurvStationInfo; +import org.jeecg.common.entity.SurvTransdataAir; +import org.jeecg.common.vo.SurvTransdataLivestockwaterVo; + +@Data +public class ConstructAir { + private SurvStationInfo survStationInfo; + private SurvDeviceDeploy deploy; + private SurvTransdataAir transdataAir; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructSoil.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructSoil.java new file mode 100644 index 0000000..345b712 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructSoil.java @@ -0,0 +1,14 @@ +package org.jeecg.common.vo.inner; + +import lombok.Data; +import org.jeecg.common.entity.SurvDeviceDeploy; +import org.jeecg.common.entity.SurvStationInfo; +import org.jeecg.common.entity.SurvTransdataAir; +import org.jeecg.common.entity.SurvTransdataSoil; + +@Data +public class ConstructSoil { + private SurvStationInfo survStationInfo; + private SurvDeviceDeploy deploy; + private SurvTransdataSoil transdataSoil; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructStink.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructStink.java new file mode 100644 index 0000000..b204db4 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/inner/ConstructStink.java @@ -0,0 +1,14 @@ +package org.jeecg.common.vo.inner; + +import lombok.Data; +import org.jeecg.common.entity.SurvDeviceDeploy; +import org.jeecg.common.entity.SurvStationInfo; +import org.jeecg.common.entity.SurvTransdataSoil; +import org.jeecg.common.vo.SurvTransdataStinkVo; + +@Data +public class ConstructStink { + private SurvStationInfo survStationInfo; + private SurvDeviceDeploy deploy; + private SurvTransdataStinkVo transdataStinkVo; +}