调整map

This commit is contained in:
zy 2025-12-06 12:21:12 +08:00
parent 9a89fa05d1
commit f23a6a94a6
6 changed files with 164 additions and 91 deletions

View File

@ -140,4 +140,37 @@ public class InnerController {
return new VOHisResult();
}
}
@ApiOperation(value = "11. 构造空气数据", notes = "")
@ApiOperationSupport(order = 11)
@PostMapping(value = "/constructAir")
public List<CommonDataTrans> 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<CommonDataTrans> 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<CommonDataTrans> constructStink(@RequestBody ConstructStink constructStink) {
if(constructStink!=null){
return CommonUtils.constructStink(constructStink.getTransdataStinkVo());
}else {
return new ArrayList<>();
}
}
}

View File

@ -64,11 +64,32 @@ public interface ZhAdminFeignClient {
@PostMapping("/appmana/inner/api/constructVocs")
List<CommonDataTrans> constructVocs(@RequestBody ConstructVocs constructVocs);
/**
* 构造空气数据
* @return
*/
@PostMapping("/appmana/inner/api/constructAir")
List<CommonDataTrans> constructAir(@RequestBody ConstructAir constructAir);
/**
* 构造畜禽数据
* 构造土壤数据
* @return
*/
@PostMapping("/appmana/inner/api/constructSoil")
List<CommonDataTrans> constructSoil(@RequestBody ConstructSoil constructSoil);
/**
* 单项监测统计
* @return
*/
@PostMapping("/appmana/inner/api/singleItemSummary")
VOHisResult singleItemSummary(@RequestBody VOBigScreenSurvQ voBigScreenSurvQ);
/**
* 构造恶臭数据
* @return
*/
@PostMapping("/appmana/inner/api/constructStink")
List<CommonDataTrans> constructStink(@RequestBody ConstructStink constructStink);
}

View File

@ -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<String> stinkList = new ArrayList<>();
List<String> waterList = new ArrayList<>();
List<String> orientIds = new ArrayList<>();
Map<String,SurvDeviceDeploy> deployMap = new HashMap<>();
Map<String, List<ScEquZhibiao>> 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<SurvDeviceDeploy> adds = iotutils.addOnlineStatus(camList);
jsonObject.put("survCamera",adds);
JSONArray jsonArray = new JSONArray();
List<CommonDataTrans> 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<SurvTransdataOrientwaterVo> oriDataList = hisdataOrientwaterService.getResentData(orientList,5);
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> 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<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(noList);
jsonObject.put("HisSurvData",listFinal);
List<CommonDataTrans> 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<CommonDataTrans> 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<SurvTransdataLivestockwaterVo> liveDataList = hisdataLivestockwaterService.getResentData(liveList,5);
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> nhList = new ArrayList<>();
List<CommonDataTrans> 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<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(nhList);
listFinal.addAll(codList);
List<CommonDataTrans> 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<CommonDataTrans> orients = zhAdminFeignClient.constructLive(constructLive);
listFinal.addAll(orients);
jsonObject.put("HisSurvData",listFinal);
}
}
jsonObject.put("HisSurvData",listFinal);
}else{
jsonObject.put("HisSurvData",new ArrayList<>());

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}