From 536718491734ae5ccae055af954acf705e508d24 Mon Sep 17 00:00:00 2001 From: zy <82248909@qq.com> Date: Mon, 24 Nov 2025 10:28:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B0=B4=E4=BA=94=E5=B8=B8?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BigScreenController.java | 266 ++++++++++-------- .../controller/BigScreenControllerP2.java | 1 + .../appmana/controller/InnerController.java | 29 +- .../controller/ScEquZhibiaoController.java | 2 +- .../mapper/xml/SurvHisdataSoilMapper.xml | 12 +- .../mapper/xml/SurvMaintainRecordMapper.xml | 1 + .../mapper/xml/SurvTransdataSoilMapper.xml | 12 +- .../service/impl/IotCommonP2ServiceImpl.java | 228 +++++++++++++++ .../service/impl/IotCommonServiceImpl.java | 21 +- .../modules/appmana/utils/CommonUtils.java | 2 +- .../applet/client/ZhAdminFeignClient.java | 26 +- .../SurvDeviceDeployController.java | 4 +- .../controller/SurvStationInfoController.java | 13 +- .../applet/controller/WxAppletController.java | 265 ++++++++++------- .../mapper/xml/SurvHisdataSoilMapper.xml | 9 +- .../mapper/xml/SurvTransdataSoilMapper.xml | 3 + .../jeecg/common/constant/IotConstants.java | 15 + .../common/constant/enums/PollutionEnum.java | 5 + .../enums/ScreenIndexSummaryEnum.java | 5 + .../jeecg/common/entity/SurvHisdataSoil.java | 19 ++ .../jeecg/common/entity/SurvStationInfo.java | 4 + .../common/entity/SurvTransdataSoil.java | 15 + .../iot/common/VOSurvIntegrateSoilDetail.java | 17 ++ .../jeecg/common/util/EntityFieldUtil.java | 46 +++ .../jeecg/common/vo/SurvTransdataSoilVo.java | 15 + .../jeecg/common/vo/iot/common/Result.java | 177 ++++++++++++ .../common/vo/params/StationMaintainPage.java | 1 + 27 files changed, 969 insertions(+), 244 deletions(-) create mode 100644 zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/util/EntityFieldUtil.java create mode 100644 zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/iot/common/Result.java diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenController.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenController.java index d805be3..055b0be 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenController.java +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenController.java @@ -17,6 +17,7 @@ import org.jeecg.common.entity.*; import org.jeecg.common.constant.enums.PollutionEnum; import org.jeecg.common.iot.common.VOSurvIntegrateOrientDetail; import org.jeecg.common.iot.common.VOSurvIntegrateResult; +import org.jeecg.common.iot.common.VOTransData; import org.jeecg.common.iot.common.VOWaterSurvIntegrateParam; import org.jeecg.common.util.R; import org.jeecg.common.util.oConvertUtils; @@ -24,7 +25,9 @@ import org.jeecg.common.vo.*; import org.jeecg.common.vo.statistic.ScreenIndexSummaryDetailVo; import org.jeecg.common.vo.statistic.ScreenSummaryVo; import org.jeecg.modules.appmana.service.*; +import org.jeecg.modules.appmana.service.impl.IotCommonP2ServiceImpl; import org.jeecg.modules.appmana.service.impl.IotCommonServiceImpl; +import org.jeecg.modules.appmana.utils.CommonUtils; import org.jeecg.modules.appmana.utils.Iotutils; import org.jeecg.modules.appmana.utils.YSUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -122,6 +125,10 @@ public class BigScreenController { @Lazy private IotCommonServiceImpl commonService; + @Autowired + @Lazy + private IotCommonP2ServiceImpl commonP2Service; + @ApiOperation("获取萤石云token") @PostMapping(value = "/getYsToken") public Result getToken(){ @@ -256,7 +263,7 @@ public class BigScreenController { List remainList = new ArrayList<>(); for (SurvDeviceDeploy survDeviceDeploy : survStationInfo.getDeviceList()) { deployList.add(survDeviceDeploy.getId()); - if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备 + if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType()) || PollutionConstants.WATER_QULITY.equals(survDeviceDeploy.getDeployType())){//土壤水质设备 SurvTransdataSoilVo transdataSoil = transdataSoilService.getNewestData(survDeviceDeploy.getDeployCode()); if(transdataSoil!=null) { jsonObject.putAll(JSONObject.parseObject(JSON.toJSONString(transdataSoil))); @@ -358,7 +365,7 @@ public class BigScreenController { @PostMapping("/getNewestData") @ApiOperation("站点最新数据") - public Result getNewestData(@RequestParam(value = "stationCode",required = false)String stationCode){ + public Result getNewestData(@RequestParam(value = "stationCode",required = false)String stationCode,@RequestParam(required = false) String dataMode){ List stationList = survStationInfoService.getAllStationAndDevice(stationCode,"","token"); //补充最新数据进入 @@ -373,6 +380,7 @@ public class BigScreenController { List soilList = new ArrayList<>(); List orientList = new ArrayList<>(); List liveList = new ArrayList<>(); + List waterList = new ArrayList<>(); for (SurvDeviceDeploy survDeviceDeploy : survStationInfo.getDeviceList()) { if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备 soilList.add(survDeviceDeploy.getDeployCode()); @@ -382,6 +390,8 @@ public class BigScreenController { orientList.add(survDeviceDeploy.getDeployCode()); }else if(PollutionConstants.WATER_LIVE.equals(survDeviceDeploy.getDeployType())) {//畜禽 liveList.add(survDeviceDeploy.getDeployCode()); + }else if(PollutionConstants.WATER_QULITY.equals(survDeviceDeploy.getDeployType())) {//水质 + waterList.add(survDeviceDeploy); }else if(PollutionConstants.CAMERA.equals(survDeviceDeploy.getDeployType())) {//摄像头 //只保留摄像头的数据 // remainList.add(survDeviceDeploy); @@ -402,10 +412,15 @@ public class BigScreenController { // } // // }else + String dataTypes = "all";//全部数据=all,water=水质数据,orient=面源和畜禽 + if(StringUtils.isNotBlank(dataMode)){ + dataTypes = dataMode; + } + if(IotConstants.Data_Types_All.equals(dataMode) || IotConstants.Data_Types_Nsp.equals(dataMode)) { - if(orientList.size()>0){//面源 - SurvTransdataOrientwaterVo transdataOrientwaterVo=transdataOrientwaterService.getNewestDataWithStation(orientList); - if(transdataOrientwaterVo!=null) { + if (orientList.size() > 0) {//面源 + SurvTransdataOrientwaterVo transdataOrientwaterVo = transdataOrientwaterService.getNewestDataWithStation(orientList); + if (transdataOrientwaterVo != null) { transdataOrientwaterVo.setStationName(survStationInfo.getStationName()); @@ -414,42 +429,42 @@ public class BigScreenController { List noList = new ArrayList<>(); // for (SurvHisdataOrientwater survHisdataOrientwater : oriDataList) { - CommonDataTrans tpent = new CommonDataTrans(); - tpent.setName(PollutionEnum.dataWaterTp.getDescription()); - tpent.setUnit(PollutionEnum.dataWaterTp.getUnit()); - tpent.setColor(PollutionEnum.dataWaterTp.getColor()); - tpent.setStationName(survStationInfo.getStationName()); - tpent.setDataDateTime(transdataOrientwaterVo.getDataDateTime()); - tpent.setStationType(survStationInfo.getStationType()); - tpent.setStationCode(survStationInfo.getStationCode()); - tpent.setSurvItem(PollutionEnum.dataWaterTp.getCode()); + CommonDataTrans tpent = new CommonDataTrans(); + tpent.setName(PollutionEnum.dataWaterTp.getDescription()); + tpent.setUnit(PollutionEnum.dataWaterTp.getUnit()); + tpent.setColor(PollutionEnum.dataWaterTp.getColor()); + tpent.setStationName(survStationInfo.getStationName()); + tpent.setDataDateTime(transdataOrientwaterVo.getDataDateTime()); + tpent.setStationType(survStationInfo.getStationType()); + tpent.setStationCode(survStationInfo.getStationCode()); + tpent.setSurvItem(PollutionEnum.dataWaterTp.getCode()); - CommonDataTrans tnent = new CommonDataTrans(); - tnent.setName(PollutionEnum.dataWaterTn.getDescription()); - tnent.setUnit(PollutionEnum.dataWaterTn.getUnit()); - tnent.setColor(PollutionEnum.dataWaterTn.getColor()); - tnent.setStationName(survStationInfo.getStationName()); - tnent.setDataDateTime(transdataOrientwaterVo.getDataDateTime()); - tnent.setStationType(survStationInfo.getStationType()); - tnent.setStationCode(survStationInfo.getStationCode()); - tnent.setSurvItem(PollutionEnum.dataWaterTn.getCode()); + CommonDataTrans tnent = new CommonDataTrans(); + tnent.setName(PollutionEnum.dataWaterTn.getDescription()); + tnent.setUnit(PollutionEnum.dataWaterTn.getUnit()); + tnent.setColor(PollutionEnum.dataWaterTn.getColor()); + tnent.setStationName(survStationInfo.getStationName()); + tnent.setDataDateTime(transdataOrientwaterVo.getDataDateTime()); + tnent.setStationType(survStationInfo.getStationType()); + tnent.setStationCode(survStationInfo.getStationCode()); + tnent.setSurvItem(PollutionEnum.dataWaterTn.getCode()); - CommonDataTrans noent = new CommonDataTrans(); - noent.setName(PollutionEnum.dataWaterNo.getDescription()); - noent.setUnit(PollutionEnum.dataWaterNo.getUnit()); - noent.setColor(PollutionEnum.dataWaterNo.getColor()); - noent.setStationName(survStationInfo.getStationName()); - noent.setDataDateTime(transdataOrientwaterVo.getDataDateTime()); - noent.setStationType(survStationInfo.getStationType()); - noent.setStationCode(survStationInfo.getStationCode()); - noent.setSurvItem(PollutionEnum.dataWaterNo.getCode()); + CommonDataTrans noent = new CommonDataTrans(); + noent.setName(PollutionEnum.dataWaterNo.getDescription()); + noent.setUnit(PollutionEnum.dataWaterNo.getUnit()); + noent.setColor(PollutionEnum.dataWaterNo.getColor()); + noent.setStationName(survStationInfo.getStationName()); + noent.setDataDateTime(transdataOrientwaterVo.getDataDateTime()); + noent.setStationType(survStationInfo.getStationType()); + noent.setStationCode(survStationInfo.getStationCode()); + noent.setSurvItem(PollutionEnum.dataWaterNo.getCode()); - tpent.setValue(transdataOrientwaterVo.getDataWaterTp()); - tnent.setValue(transdataOrientwaterVo.getDataWaterTn()); - noent.setValue(transdataOrientwaterVo.getDataWaterNo()); - tpList.add(tpent); - tnList.add(tnent); - noList.add(noent); + tpent.setValue(transdataOrientwaterVo.getDataWaterTp()); + tnent.setValue(transdataOrientwaterVo.getDataWaterTn()); + noent.setValue(transdataOrientwaterVo.getDataWaterNo()); + tpList.add(tpent); + tnList.add(tnent); + noList.add(noent); // } listFinal.addAll(tnList); @@ -459,73 +474,84 @@ public class BigScreenController { // returnArrs.add(JSONObject.parseObject(JSON.toJSONString(transdataOrientwaterVo))); } - }else{ - jsonObject.put("HisSurvData",new ArrayList<>()); - } - if(liveList.size()>0){//畜禽 - SurvTransdataLivestockwaterVo transdataLivestockwaterVo=transdataLivestockwaterService.getNewestDataWithStation(liveList); - if(transdataLivestockwaterVo!=null) { - List tpList = new ArrayList<>(); - List tnList = new ArrayList<>(); - List nhList = new ArrayList<>(); - List codList = new ArrayList<>(); + } else { + jsonObject.put("HisSurvData", new ArrayList<>()); + } + if (liveList.size() > 0) {//畜禽 + SurvTransdataLivestockwaterVo transdataLivestockwaterVo = transdataLivestockwaterService.getNewestDataWithStation(liveList); + if (transdataLivestockwaterVo != null) { + List tpList = new ArrayList<>(); + List tnList = new ArrayList<>(); + List nhList = new ArrayList<>(); + List codList = new ArrayList<>(); // for (SurvHisdataLivestockwater survHisdataLivestockwater : liveDataList) { - CommonDataTrans tpent = new CommonDataTrans(); - tpent.setName(PollutionEnum.dataWaterTp.getDescription()); - tpent.setUnit(PollutionEnum.dataWaterTp.getUnit()); - tpent.setColor(PollutionEnum.dataWaterTp.getColor()); - tpent.setStationName(survStationInfo.getStationName()); - tpent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); - tpent.setStationType(survStationInfo.getStationType()); - tpent.setStationCode(survStationInfo.getStationCode()); - tpent.setSurvItem(PollutionEnum.dataWaterTp.getCode()); - CommonDataTrans tnent = new CommonDataTrans(); - tnent.setName(PollutionEnum.dataWaterTn.getDescription()); - tnent.setUnit(PollutionEnum.dataWaterTn.getUnit()); - tnent.setColor(PollutionEnum.dataWaterTn.getColor()); - tnent.setStationName(survStationInfo.getStationName()); - tnent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); - tnent.setStationType(survStationInfo.getStationType()); - tnent.setStationCode(survStationInfo.getStationCode()); - tnent.setSurvItem(PollutionEnum.dataWaterTn.getCode()); - CommonDataTrans nhent = new CommonDataTrans(); - nhent.setName(PollutionEnum.dataWaterNh.getDescription()); - nhent.setUnit(PollutionEnum.dataWaterNh.getUnit()); - nhent.setColor(PollutionEnum.dataWaterNh.getColor()); - nhent.setStationName(survStationInfo.getStationName()); - nhent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); - nhent.setStationType(survStationInfo.getStationType()); - nhent.setStationCode(survStationInfo.getStationCode()); - nhent.setSurvItem(PollutionEnum.dataWaterNh.getCode()); - CommonDataTrans codent = new CommonDataTrans(); - codent.setName(PollutionEnum.dataWaterCod.getDescription()); - codent.setUnit(PollutionEnum.dataWaterCod.getUnit()); - codent.setColor(PollutionEnum.dataWaterCod.getColor()); - codent.setStationName(survStationInfo.getStationName()); - codent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); - codent.setStationType(survStationInfo.getStationType()); - codent.setStationCode(survStationInfo.getStationCode()); - codent.setSurvItem(PollutionEnum.dataWaterCod.getCode()); + CommonDataTrans tpent = new CommonDataTrans(); + tpent.setName(PollutionEnum.dataWaterTp.getDescription()); + tpent.setUnit(PollutionEnum.dataWaterTp.getUnit()); + tpent.setColor(PollutionEnum.dataWaterTp.getColor()); + tpent.setStationName(survStationInfo.getStationName()); + tpent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); + tpent.setStationType(survStationInfo.getStationType()); + tpent.setStationCode(survStationInfo.getStationCode()); + tpent.setSurvItem(PollutionEnum.dataWaterTp.getCode()); + CommonDataTrans tnent = new CommonDataTrans(); + tnent.setName(PollutionEnum.dataWaterTn.getDescription()); + tnent.setUnit(PollutionEnum.dataWaterTn.getUnit()); + tnent.setColor(PollutionEnum.dataWaterTn.getColor()); + tnent.setStationName(survStationInfo.getStationName()); + tnent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); + tnent.setStationType(survStationInfo.getStationType()); + tnent.setStationCode(survStationInfo.getStationCode()); + tnent.setSurvItem(PollutionEnum.dataWaterTn.getCode()); + CommonDataTrans nhent = new CommonDataTrans(); + nhent.setName(PollutionEnum.dataWaterNh.getDescription()); + nhent.setUnit(PollutionEnum.dataWaterNh.getUnit()); + nhent.setColor(PollutionEnum.dataWaterNh.getColor()); + nhent.setStationName(survStationInfo.getStationName()); + nhent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); + nhent.setStationType(survStationInfo.getStationType()); + nhent.setStationCode(survStationInfo.getStationCode()); + nhent.setSurvItem(PollutionEnum.dataWaterNh.getCode()); + CommonDataTrans codent = new CommonDataTrans(); + codent.setName(PollutionEnum.dataWaterCod.getDescription()); + codent.setUnit(PollutionEnum.dataWaterCod.getUnit()); + codent.setColor(PollutionEnum.dataWaterCod.getColor()); + codent.setStationName(survStationInfo.getStationName()); + codent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime()); + codent.setStationType(survStationInfo.getStationType()); + codent.setStationCode(survStationInfo.getStationCode()); + codent.setSurvItem(PollutionEnum.dataWaterCod.getCode()); - tpent.setValue(transdataLivestockwaterVo.getDataWaterTp()); - tnent.setValue(transdataLivestockwaterVo.getDataWaterTn()); - nhent.setValue(transdataLivestockwaterVo.getDataWaterNh()); - codent.setValue(transdataLivestockwaterVo.getDataWaterCod()); + tpent.setValue(transdataLivestockwaterVo.getDataWaterTp()); + tnent.setValue(transdataLivestockwaterVo.getDataWaterTn()); + nhent.setValue(transdataLivestockwaterVo.getDataWaterNh()); + codent.setValue(transdataLivestockwaterVo.getDataWaterCod()); - tpList.add(tpent); - tnList.add(tnent); - nhList.add(nhent); - codList.add(codent); + tpList.add(tpent); + tnList.add(tnent); + nhList.add(nhent); + codList.add(codent); // } - listFinal.addAll(tnList); - listFinal.addAll(tpList); - listFinal.addAll(nhList); - listFinal.addAll(codList); + listFinal.addAll(tnList); + listFinal.addAll(tpList); + listFinal.addAll(nhList); + listFinal.addAll(codList); - } - }else{ - jsonObject.put("HisSurvData", new ArrayList<>()); } + } else { + jsonObject.put("HisSurvData", new ArrayList<>()); + } + + } + if(IotConstants.Data_Types_All.equals(dataMode) || IotConstants.Data_Types_Water.equals(dataMode)) { + if (!waterList.isEmpty()) { //五常 + List commonDataTrans = CommonUtils.transData(waterList.get(0), false, null, null, null, null).getTransData(); + listFinal.addAll(commonDataTrans); + } else { + jsonObject.put("HisSurvData", new ArrayList<>()); + } + } + //移除非摄像头设备 // survStationInfo.getDeviceList().retainAll(remainList); } @@ -631,6 +657,7 @@ public class BigScreenController { List liveList = new ArrayList<>(); List orientIdList = new ArrayList<>(); List liveIdList = new ArrayList<>(); + List waterIdList = new ArrayList<>(); for (SurvDeviceDeploy survDeviceDeploy : survStationInfo.getDeviceList()) { if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备 soilList.add(survDeviceDeploy.getDeployCode()); @@ -642,23 +669,20 @@ public class BigScreenController { }else if(PollutionConstants.WATER_LIVE.equals(survDeviceDeploy.getDeployType())) {//畜禽 liveList.add(survDeviceDeploy.getDeployCode()); liveIdList.add(survDeviceDeploy.getId()); + }else if(PollutionConstants.WATER_QULITY.equals(survDeviceDeploy.getDeployType())) {//水质 + waterIdList.add(survDeviceDeploy.getId()); }else if(PollutionConstants.CAMERA.equals(survDeviceDeploy.getDeployType())) {//摄像头 //只保留摄像头的数据 // remainList.add(survDeviceDeploy); } } -// deviceMap.put(survStationInfo.getStationCode()+"_soil",soilList); -// deviceMap.put(survStationInfo.getStationCode()+"_air",airList); -// deviceMap.put(survStationInfo.getStationCode()+"_orient",orientList); -// deviceMap.put(survStationInfo.getStationCode()+"_live",liveList); -// if(soilList.size()>0){ -// List airSummry = hisdataSoilService.getMonthSummry(soilList); -// } -// if(airList.size()>0){ -// transdataAirService.getMonthSummry(airList); -// } - if(orientList.size()>0){ + //查询五常数据 + log.warn("ccc======"+waterIdList.size()); + ScreenIndexSummaryDetailVo waterQuality = commonP2Service.processWaterQuality(screenSummaryVo,waterIdList,startTime,endTime); + + + if(!orientList.isEmpty()){ List avgTN = new ArrayList<>(); List avgTP = new ArrayList<>(); @@ -720,13 +744,17 @@ public class BigScreenController { screenIndexSummaryDetailVo.setDatas(maps); } - + //如果有五常数据同步加入 + if(waterQuality!=null){ + screenIndexSummaryDetailVo.getDatas().putAll(waterQuality.getDatas()); + } + //设置站名等信息 screenIndexSummaryDetailVo.setGroupId(survStationInfo.getGroupId()); screenIndexSummaryDetailVo.setGroupName(survStationInfo.getGroupName()); screenIndexSummaryDetailVo.setStationName(survStationInfo.getStationName()); results.add(screenIndexSummaryDetailVo); } - if(liveList.size()>0) { + if(!liveList.isEmpty()) { List avgTN = new ArrayList<>(); List avgTP = new ArrayList<>(); @@ -790,7 +818,11 @@ public class BigScreenController { screenIndexSummaryDetailVo.setDatas(maps); } - + //如果有五常数据同步加入 + if(waterQuality!=null){ + screenIndexSummaryDetailVo.getDatas().putAll(waterQuality.getDatas()); + } + //设置站名等信息 screenIndexSummaryDetailVo.setGroupId(survStationInfo.getGroupId()); screenIndexSummaryDetailVo.setGroupName(survStationInfo.getGroupName()); screenIndexSummaryDetailVo.setStationName(survStationInfo.getStationName()); @@ -817,6 +849,7 @@ public class BigScreenController { //补充最新数据进入 JSONArray returnArrs= new JSONArray(); JSONArray returnSoilArrs= new JSONArray(); + JSONArray returnWaterArrs= new JSONArray(); JSONArray returnAirArrs= new JSONArray(); JSONArray returnStinkArrs= new JSONArray(); if(stationList!=null&&stationList.size()>0){ @@ -844,6 +877,12 @@ public class BigScreenController { returnAirArrs.add(JSONObject.parseObject(JSONObject.toJSONString(transdataAir, SerializerFeature.WriteNullStringAsEmpty))); } + }else if(PollutionConstants.WATER_QULITY.equals(survDeviceDeploy.getDeployType())){//水质设备 + SurvTransdataSoilVo transdataSoil = transdataSoilService.getNewestData(survDeviceDeploy.getDeployCode()); + if(transdataSoil!=null) { + transdataSoil.setStationName(survStationInfo.getStationName()); + returnWaterArrs.add(JSONObject.parseObject(JSONObject.toJSONString(transdataSoil, SerializerFeature.WriteNullStringAsEmpty))); + } }else if(PollutionConstants.STINK.equals(survDeviceDeploy.getDeployType())) {//恶臭 SurvTransdataStinkVo survTransdataAirVo = transdataVocsService.getNewestData(survDeviceDeploy.getDeployCode()); returnStinkArrs.add(survTransdataAirVo); @@ -964,6 +1003,7 @@ public class BigScreenController { survStationInfo.setLatestSoilData(returnSoilArrs); survStationInfo.setLatestAirData(returnAirArrs); survStationInfo.setLatestStinkData(returnStinkArrs); + survStationInfo.setLatestWaterData(returnWaterArrs); //补充监测项 // List allSurv = new ArrayList<>(); diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java index f980c6b..c44dcb6 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java @@ -92,6 +92,7 @@ public class BigScreenControllerP2 { SurvMaintainRecord survMaintainRecord = new SurvMaintainRecord(); survMaintainRecord.setBeginDate(stationMaintainPage.getStartTime()); survMaintainRecord.setEndDate(stationMaintainPage.getEndTime()); + survMaintainRecord.setStationCode(stationMaintainPage.getStationCode()); IPage records = maintainRecordService.pages(page,survMaintainRecord); return Result.OK(records); } 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 17659b4..8be6ea8 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 @@ -8,19 +8,17 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.entity.PollutionSetVo; import org.jeecg.common.entity.ScEquZhibiao; -import org.jeecg.common.iot.common.VOIntegrateStatistic; -import org.jeecg.common.iot.common.VOSurvIntegrateParam; -import org.jeecg.common.iot.common.VOSurvIntegrateResult; -import org.jeecg.common.iot.common.VOWaterSurvIntegrateParam; +import org.jeecg.common.entity.SurvDeviceDeploy; +import org.jeecg.common.iot.common.*; +import org.jeecg.common.vo.CommonDataTrans; import org.jeecg.common.vo.inner.TransSurvObjVo; import org.jeecg.common.vo.inner.TransZhiBiaoVo; +import org.jeecg.modules.appmana.service.ISurvDeviceDeployService; import org.jeecg.modules.appmana.service.impl.IotCommonServiceImpl; +import org.jeecg.modules.appmana.utils.CommonUtils; import org.jeecg.modules.appmana.utils.Iotutils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.*; @@ -34,7 +32,8 @@ public class InnerController { private IotCommonServiceImpl iotCommonService; @Autowired private Iotutils iotutils; - + @Autowired + private ISurvDeviceDeployService deviceDeployService; @ApiOperation(value = "1. 空气土壤监测综合数据统计", notes = "") @ApiOperationSupport(order = 1) @@ -79,4 +78,16 @@ public class InnerController { return new ArrayList<>(); } + + + @ApiOperation(value = "6. 实时数据构造", notes = "") + @ApiOperationSupport(order = 5) + @PostMapping(value = "/deviceNewestData") + public VOTransData deviceNewestData(@RequestParam String deployId) { + SurvDeviceDeploy deploy = deviceDeployService.getById(deployId); + if(deploy!=null){ + return CommonUtils.transData(deploy, false, null, null, null, null); + } + return new VOTransData(); + } } diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/ScEquZhibiaoController.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/ScEquZhibiaoController.java index 2edcf2d..d3cfbe6 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/ScEquZhibiaoController.java +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/ScEquZhibiaoController.java @@ -217,7 +217,7 @@ public class ScEquZhibiaoController extends JeecgController + + + + + @@ -35,7 +40,7 @@ - ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEVICE_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID + ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEVICE_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DATA_SOIL_PH,DATA_SOIL_NTU,DATA_SOIL_DO @@ -83,7 +88,10 @@ ifnull(ROUND(avg(cast(DATA_SOIL_DDL as decimal(10,1))), 2),'0') as dataSoilDdl, ifnull(ROUND(avg(cast(DATA_SOIL_DDL2 as decimal(10,1))), 2),'0') as dataSoilDdl2, - ifnull(ROUND(avg(cast(DATA_SOIL_DDL3 as decimal(10,1))), 2),'0') as dataSoilDdl3 + ifnull(ROUND(avg(cast(DATA_SOIL_DDL3 as decimal(10,1))), 2),'0') as dataSoilDdl3, + ifnull(ROUND(avg(cast(DATA_SOIL_PH as decimal(10,1))), 2),'0') as dataSoilPh, + ifnull(ROUND(avg(cast(DATA_SOIL_NTU as decimal(10,1))), 2),'0') as dataSoilNtu, + ifnull(ROUND(avg(cast(DATA_SOIL_DO as decimal(10,1))), 2),'0') as dataSoilDo diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvMaintainRecordMapper.xml b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvMaintainRecordMapper.xml index 962ff6e..02df1fd 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvMaintainRecordMapper.xml +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvMaintainRecordMapper.xml @@ -49,5 +49,6 @@ and MAINTAIN_TIME <= CONCAT(#{query.endDate}, ' 23:59:59') + order by MAINTAIN_TIME desc,CREATE_TIME desc \ No newline at end of file diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvTransdataSoilMapper.xml b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvTransdataSoilMapper.xml index faea552..8602d74 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvTransdataSoilMapper.xml +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvTransdataSoilMapper.xml @@ -14,6 +14,11 @@ + + + + + @@ -44,12 +49,17 @@ + + + + + - ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_DATE_TIME,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEVICE_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID + ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_DATE_TIME,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEVICE_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DATA_SOIL_PH,DATA_SOIL_NTU,DATA_SOIL_DO SELECT t1.index,IFNULL(t2.dataSoilTemp,0) as dataSoilTemp,IFNULL(t2.dataSoilWet,0) as dataSoilWet,IFNULL(t2.dataSoilSalt,0) as dataSoilSalt,IFNULL(t2.dataSoilTemp2,0) as dataSoilTemp2,IFNULL(t2.dataSoilWet2,0) as dataSoilWet2,IFNULL(t2.dataSoilTemp3,0) as dataSoilTemp3 - ,IFNULL(t2.dataSoilWet3,0) as dataSoilWet3,IFNULL(t2.dataSoilDdl,0) as dataSoilDdl,IFNULL(t2.dataSoilDdl2,0) as dataSoilDdl2,IFNULL(t2.dataSoilDdl3,0) as dataSoilDdl3 + ,IFNULL(t2.dataSoilWet3,0) as dataSoilWet3,IFNULL(t2.dataSoilDdl,0) as dataSoilDdl,IFNULL(t2.dataSoilDdl2,0) as dataSoilDdl2,IFNULL(t2.dataSoilDdl3,0) as dataSoilDdl3,IFNULL(t2.dataSoilPh,0) as dataSoilPh,IFNULL(t2.dataSoilNtu,0) as dataSoilNtu,IFNULL(t2.dataSoilDo,0) as dataSoilDo FROM ( SELECT @a:=@a + 1 AS `index` FROM mysql.help_topic,(SELECT @a:=0) temp LIMIT 12 ) t1 LEFT JOIN ( SELECT ROUND(AVG(t.DATA_SOIL_TEMP),2) AS dataSoilTemp,ROUND(AVG(t.DATA_SOIL_WET),2) AS dataSoilWet,ROUND(AVG(t.DATA_SOIL_SALT),2) AS dataSoilSalt,ROUND(AVG(t.DATA_SOIL_TEMP2),2) AS dataSoilTemp2,ROUND(AVG(t.DATA_SOIL_WET2),2) AS dataSoilWet2,ROUND(AVG(t.DATA_SOIL_TEMP3),2) AS dataSoilTemp3 - ,ROUND(AVG(t.DATA_SOIL_WET3),2) AS dataSoilWet3,ROUND(AVG(t.DATA_SOIL_DDL),2) AS dataSoilDdl,ROUND(AVG(t.DATA_SOIL_DDL2),2) AS dataSoilDdl2,ROUND(AVG(t.DATA_SOIL_DDL3),2) AS dataSoilDdl3,MONTH(t.DATA_DATE_TIME) AS month + ,ROUND(AVG(t.DATA_SOIL_WET3),2) AS dataSoilWet3,ROUND(AVG(t.DATA_SOIL_DDL),2) AS dataSoilDdl,ROUND(AVG(t.DATA_SOIL_DDL2),2) AS dataSoilDdl2,ROUND(AVG(t.DATA_SOIL_DDL3),2) AS dataSoilDdl3,ROUND(AVG(t.DATA_SOIL_PH),2) AS dataSoilPh,ROUND(AVG(t.DATA_SOIL_NTU),2) AS dataSoilNtu,ROUND(AVG(t.DATA_SOIL_DO),2) AS dataSoilDo,MONTH(t.DATA_DATE_TIME) AS month FROM surv_hisdata_soil t where 1 = 1 and DATE_FORMAT(DATA_DATE_TIME, '%Y') = #{yearStr} diff --git a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/mapper/xml/SurvTransdataSoilMapper.xml b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/mapper/xml/SurvTransdataSoilMapper.xml index b5c7dba..70e40d4 100644 --- a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/mapper/xml/SurvTransdataSoilMapper.xml +++ b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/mapper/xml/SurvTransdataSoilMapper.xml @@ -13,6 +13,9 @@ + + + diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/IotConstants.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/IotConstants.java index 6664379..5d80a02 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/IotConstants.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/IotConstants.java @@ -249,4 +249,19 @@ public interface IotConstants { */ String mqtt_device_status="mqtt_device_status:"; + /** + * 全部站点监测数据 + */ + String Data_Types_All="all"; + + /** + * 站点水质监测数据 + */ + String Data_Types_Water="water"; + + /** + * 站点面源畜禽监测数据 + */ + String Data_Types_Nsp="nsp"; + } diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/PollutionEnum.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/PollutionEnum.java index f0ef553..fcabdd3 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/PollutionEnum.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/PollutionEnum.java @@ -80,7 +80,12 @@ public enum PollutionEnum { dataSoilPbion("dataSoilPbion", "土壤铅离子", "ppm", "sys/icon/zhandian_icon_pb-.png", "soil", "#92D1F3", "sys/mobile/icon/zhandian_icon_pb-.png", "sys/bs/icon/zhandian_icon_pb-.png", "zhandian_icon_pb-.png"), dataSoilCdion("dataSoilCdion", "土壤镉离子", "ppm", "sys/icon/zhandian_icon_cd-.png", "soil", "#92D1F5", "sys/mobile/icon/zhandian_icon_cd-.png", "sys/bs/icon/zhandian_icon_cd-.png", "zhandian_icon_cd-.png"), + //20251122 新增五常二项,三项已有 + dataSoilNtu("dataSoilNtu", "浊度", "ntu", "sys/icon/shebei_icon_ntu.png", "soil", "#92D0F3", "sys/mobile/icon/shebei_icon_ntu.png", "sys/bs/icon/shebei_icon_nto.png", "shebei_icon_nto.png"), + dataSoilDo("dataSoilDo", "溶解氧", "mg/L", "sys/icon/shebei_icon_do.png", "soil", "#92D0F5", "sys/mobile/icon/shebei_icon_do.png", "sys/bs/icon/shebei_icon_do.png", "shebei_icon_do.png"), + dataWaterTemp("dataWaterTemp", "水温", "℃", "sys/icon/shebei_icon_watertemp.png", "water", "#92D0F3", "sys/mobile/icon/shebei_icon_watertemp.png", "sys/bs/icon/shebei_icon_watertemp.png", "shebei_icon_watertemp.png"), + dataWaterPh("dataWaterPh", "pH", "℃", "sys/icon/shebei_icon_waterph.png", "water", "#92D1F3", "sys/mobile/icon/shebei_icon_waterph.png", "sys/bs/icon/shebei_icon_waterph.png", "shebei_icon_waterph.png"), dataWaterTp("dataWaterTp", "总磷", "mg/L", "sys/icon/shebei_icon_tp.png", "water", "#C8CC00", "sys/mobile/icon/shebei_icon_tp.png", "sys/bs/icon/shebei_icon_tp.png", "shebei_icon_tp.png"), dataWaterTn("dataWaterTn", "总氮", "mg/L", "sys/icon/shebei_icon_tn.png", "water", "#009DB2", "sys/mobile/icon/shebei_icon_tn.png", "sys/bs/icon/shebei_icon_tn.png", "shebei_icon_tn.png"), dataWaterNo("dataWaterNo", "硝态氮", "mg/L", "sys/icon/shebei_icon_no3n.png", "water_orient", "#72BAA7", "sys/mobile/icon/shebei_icon_no3n.png", "sys/bs/icon/shebei_icon_no3n.png", "shebei_icon_no3n.png"), diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/ScreenIndexSummaryEnum.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/ScreenIndexSummaryEnum.java index 6255c89..943f8e7 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/ScreenIndexSummaryEnum.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/ScreenIndexSummaryEnum.java @@ -10,6 +10,11 @@ public enum ScreenIndexSummaryEnum { NHSummry("NHSummry","氨氮"), NOSummry("NOSummry","硝态氮"), CODSummry("CODSummry","化学需氧量"), + TEMPSummry("TEMPSummry","水温"), + PHSummry("PHSummry","pH"), + DDLSummry("DDLSummry","电导率"), + NTUSummry("NTUSummry","浊度"), + DOSummry("DOSummry","溶解氧"), OTHER("other","其他") ; diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvHisdataSoil.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvHisdataSoil.java index ffd9b43..cfe9811 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvHisdataSoil.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvHisdataSoil.java @@ -112,6 +112,25 @@ public class SurvHisdataSoil implements Serializable { @Excel(name = "电导率3", width = 15) @ApiModelProperty(value = "电导率3") private String dataSoilDdl3; + + + /**ph*/ + @Excel(name = "ph", width = 15) + @ApiModelProperty(value = "ph") + private String dataSoilPh; + + /**浊度*/ + @Excel(name = "浊度", width = 15) + @ApiModelProperty(value = "浊度") + private String dataSoilNtu; + + /**溶解氧*/ + @Excel(name = "溶解氧", width = 15) + @ApiModelProperty(value = "溶解氧") + private String dataSoilDo; + + + /**数据更新时间*/ @Excel(name = "数据更新时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvStationInfo.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvStationInfo.java index 94ebf44..8ba5f57 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvStationInfo.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvStationInfo.java @@ -195,6 +195,10 @@ public class SurvStationInfo implements Serializable { @ApiModelProperty(value = "最新恶臭监测数据") private JSONArray latestStinkData; + @TableField(exist = false) + @ApiModelProperty(value = "最新五常水质监测数据") + private JSONArray latestWaterData; + @TableField(exist = false) private String name; diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvTransdataSoil.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvTransdataSoil.java index 42e9124..444a1aa 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvTransdataSoil.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvTransdataSoil.java @@ -114,6 +114,21 @@ public class SurvTransdataSoil implements Serializable { @ApiModelProperty(value = "电导率3") private String dataSoilDdl3; + /**ph*/ + @Excel(name = "ph", width = 15) + @ApiModelProperty(value = "ph") + private String dataSoilPh; + + /**浊度*/ + @Excel(name = "浊度", width = 15) + @ApiModelProperty(value = "浊度") + private String dataSoilNtu; + + /**溶解氧*/ + @Excel(name = "溶解氧", width = 15) + @ApiModelProperty(value = "溶解氧") + private String dataSoilDo; + /**数据更新时间*/ @Excel(name = "数据更新时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/iot/common/VOSurvIntegrateSoilDetail.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/iot/common/VOSurvIntegrateSoilDetail.java index 46b044c..b64ba89 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/iot/common/VOSurvIntegrateSoilDetail.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/iot/common/VOSurvIntegrateSoilDetail.java @@ -202,4 +202,21 @@ public class VOSurvIntegrateSoilDetail { @ApiModelProperty(value = "叶面湿度") private String dataLeafWet; + + + /** + * 浊度 + */ + @ApiModelProperty(value = "浊度") + private String dataSoilNtu; + + + /** + * 溶解氧 + */ + @ApiModelProperty(value = "溶解氧") + private String dataSoilDo; + + + } diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/util/EntityFieldUtil.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/util/EntityFieldUtil.java new file mode 100644 index 0000000..96bb033 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/util/EntityFieldUtil.java @@ -0,0 +1,46 @@ +package org.jeecg.common.util; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +public class EntityFieldUtil { + + /** + * 根据字段名称获取实体对象的字段值 + * @param entity 实体对象 + * @param fieldName 字段名称 + * @return 字段值 + */ + public static Object getFieldValue(Object entity, String fieldName) { + if (entity == null || fieldName == null || fieldName.trim().isEmpty()) { + return null; + } + + try { + Field field = getField(entity.getClass(), fieldName); + if (field == null) { + return null; + } + + field.setAccessible(true); + return field.get(entity); + + } catch (IllegalAccessException e) { + throw new RuntimeException("无法访问字段: " + fieldName, e); + } + } + + /** + * 递归获取字段(包括父类) + */ + private static Field getField(Class clazz, String fieldName) { + for (Class superClass = clazz; superClass != Object.class; superClass = superClass.getSuperclass()) { + try { + return superClass.getDeclaredField(fieldName); + } catch (NoSuchFieldException e) { + // 继续在父类中查找 + } + } + return null; + } +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/SurvTransdataSoilVo.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/SurvTransdataSoilVo.java index b0981af..44880ed 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/SurvTransdataSoilVo.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/SurvTransdataSoilVo.java @@ -87,6 +87,21 @@ public class SurvTransdataSoilVo implements Serializable { @ApiModelProperty(value = "设备编号") private String deviceCode; + /**ph*/ + @Excel(name = "ph", width = 15) + @ApiModelProperty(value = "ph") + private String dataSoilPh; + + /**浊度*/ + @Excel(name = "浊度", width = 15) + @ApiModelProperty(value = "浊度") + private String dataSoilNtu; + + /**溶解氧*/ + @Excel(name = "溶解氧", width = 15) + @ApiModelProperty(value = "溶解氧") + private String dataSoilDo; + /**数据更新时间*/ @Excel(name = "数据更新时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/iot/common/Result.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/iot/common/Result.java new file mode 100644 index 0000000..9e13b3c --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/iot/common/Result.java @@ -0,0 +1,177 @@ +package org.jeecg.common.vo.iot.common; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.common.constant.CommonConstant; + +import java.io.Serializable; + +/** + * 接口返回数据格式 + * @author scott + * @email jeecgos@163.com + * @date 2019年1月19日 + */ +@Data +@ApiModel(value="接口返回对象", description="接口返回对象") +public class Result implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 成功标志 + */ + @ApiModelProperty(value = "成功标志") + private boolean success = true; + + /** + * 返回处理消息 + */ + @ApiModelProperty(value = "返回处理消息") + private String message = ""; + + /** + * 返回代码 + */ + @ApiModelProperty(value = "返回代码") + private Integer code = 0; + + /** + * 返回数据对象 data + */ + @ApiModelProperty(value = "返回数据对象") + private T result; + + /** + * 时间戳 + */ + @ApiModelProperty(value = "时间戳") + private long timestamp = System.currentTimeMillis(); + + public Result() { + } + + /** + * 兼容VUE3版token失效不跳转登录页面 + * @param code + * @param message + */ + public Result(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Result success(String message) { + this.message = message; + this.code = CommonConstant.SC_OK_200; + this.success = true; + return this; + } + + public static Result ok() { + Result r = new Result(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + return r; + } + + public static Result ok(String msg) { + Result r = new Result(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + //Result OK(String msg)方法会造成兼容性问题 issues/I4IP3D + r.setResult((T) msg); + r.setMessage(msg); + return r; + } + + public static Result ok(T data) { + Result r = new Result(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setResult(data); + return r; + } + + public static Result OK() { + Result r = new Result(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + return r; + } + + /** + * 此方法是为了兼容升级所创建 + * + * @param msg + * @param + * @return + */ + public static Result OK(String msg) { + Result r = new Result(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setMessage(msg); + //Result OK(String msg)方法会造成兼容性问题 issues/I4IP3D + r.setResult((T) msg); + return r; + } + + public static Result OK(T data) { + Result r = new Result(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setResult(data); + return r; + } + + public static Result OK(String msg, T data) { + Result r = new Result(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setMessage(msg); + r.setResult(data); + return r; + } + + public static Result error(String msg, T data) { + Result r = new Result(); + r.setSuccess(false); + r.setCode(CommonConstant.SC_INTERNAL_SERVER_ERROR_500); + r.setMessage(msg); + r.setResult(data); + return r; + } + + public static Result error(String msg) { + return error(CommonConstant.SC_INTERNAL_SERVER_ERROR_500, msg); + } + + public static Result error(int code, String msg) { + Result r = new Result(); + r.setCode(code); + r.setMessage(msg); + r.setSuccess(false); + return r; + } + + public Result error500(String message) { + this.message = message; + this.code = CommonConstant.SC_INTERNAL_SERVER_ERROR_500; + this.success = false; + return this; + } + + /** + * 无权限访问返回结果 + */ + public static Result noauth(String msg) { + return error(CommonConstant.SC_JEECG_NO_AUTHZ, msg); + } + + @JsonIgnore + private String onlTable; + +} \ No newline at end of file diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/params/StationMaintainPage.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/params/StationMaintainPage.java index 14c364c..3bb24c5 100644 --- a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/params/StationMaintainPage.java +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/params/StationMaintainPage.java @@ -6,4 +6,5 @@ import lombok.Data; public class StationMaintainPage { private String startTime; private String endTime; + private String stationCode; }