整合数据统计、最新数据查询接口

This commit is contained in:
zy 2025-11-28 17:02:27 +08:00
parent d7d62b04d3
commit 0efed4fa55
16 changed files with 614 additions and 913 deletions

View File

@ -411,175 +411,26 @@ public class BigScreenController {
deployMap.put(survDeviceDeploy.getDeployCode(),survDeviceDeploy);
}
// if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备
// SurvTransdataSoilVo transdataSoil = transdataSoilService.getNewestData(survDeviceDeploy.getDeployCode());
// if(transdataSoil!=null) {
// transdataSoil.setStationName(survStationInfo.getStationName());
// returnArrs.add(JSONObject.parseObject(JSON.toJSONString(transdataSoil)));
// }
// }else if(PollutionConstants.AIR_SURV.equals(survDeviceDeploy.getDeployType())){//气象设备
// SurvTransdataAirVo transdataAir= transdataAirService.getNewestData(survDeviceDeploy.getDeployCode());
// if(transdataAir!=null) {
// transdataAir.setStationName(survStationInfo.getStationName());
// returnArrs.add(JSONObject.parseObject(JSON.toJSONString(transdataAir)));
// }
//
// }else
String dataTypes = "all";//全部数据=allwater=水质数据orient=面源和畜禽
if(StringUtils.isNotBlank(dataMode)){
dataTypes = dataMode;
}
if(IotConstants.Data_Types_All.equals(dataTypes) || IotConstants.Data_Types_Nsp.equals(dataTypes)) {
if (orientList.size() > 0) {//面源
if (!orientList.isEmpty()) {//面源
SurvTransdataOrientwaterVo transdataOrientwaterVo = transdataOrientwaterService.getNewestDataWithStation(orientList);
if (transdataOrientwaterVo != null) {
transdataOrientwaterVo.setStationName(survStationInfo.getStationName());
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> noList = new ArrayList<>();
List<CommonDataTrans> codList = 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 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 codent = new CommonDataTrans();
codent.setName(PollutionEnum.dataWaterCod.getDescription());
codent.setUnit(PollutionEnum.dataWaterCod.getUnit());
codent.setColor(PollutionEnum.dataWaterCod.getColor());
codent.setStationName(survStationInfo.getStationName());
codent.setDataDateTime(transdataOrientwaterVo.getDataDateTime());
codent.setStationType(survStationInfo.getStationType());
codent.setStationCode(survStationInfo.getStationCode());
codent.setSurvItem(PollutionEnum.dataWaterCod.getCode());
String deployId = deployMap.get(transdataOrientwaterVo.getDeployCode()).getId();
tpent.setValue(transdataOrientwaterVo.getDataWaterTp());
tpent.setDeployId(deployId);
tnent.setValue(transdataOrientwaterVo.getDataWaterTn());
tnent.setDeployId(deployId);
// noent.setValue(transdataOrientwaterVo.getDataWaterNo());
// noent.setDeployId(deployId);
codent.setValue(transdataOrientwaterVo.getDataWaterCod());
codent.setDeployId(deployId);
tpList.add(tpent);
tnList.add(tnent);
// noList.add(noent);
codList.add(codent);
// }
listFinal.addAll(tnList);
listFinal.addAll(tpList);
// listFinal.addAll(noList);
listFinal.addAll(codList);
// returnArrs.add(JSONObject.parseObject(JSON.toJSONString(transdataOrientwaterVo)));
}
SurvDeviceDeploy deploy = deployMap.get(transdataOrientwaterVo.getDeployCode());
List<CommonDataTrans> orients = commonP3Service.constructOrient(transdataOrientwaterVo,survStationInfo,deploy);
listFinal.addAll(orients);
} else {
jsonObject.put("HisSurvData", new ArrayList<>());
}
if (liveList.size() > 0) {//畜禽
if (!liveList.isEmpty()) {//畜禽
SurvTransdataLivestockwaterVo transdataLivestockwaterVo = transdataLivestockwaterService.getNewestDataWithStation(liveList);
if (transdataLivestockwaterVo != null) {
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> nhList = new ArrayList<>();
List<CommonDataTrans> 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());
String deployId = deployMap.get(transdataLivestockwaterVo.getDeployCode()).getId();
tpent.setValue(transdataLivestockwaterVo.getDataWaterTp());
tpent.setDeployId(deployId);
tnent.setValue(transdataLivestockwaterVo.getDataWaterTn());
tnent.setDeployId(deployId);
nhent.setValue(transdataLivestockwaterVo.getDataWaterNh());
nhent.setDeployId(deployId);
codent.setValue(transdataLivestockwaterVo.getDataWaterCod());
codent.setDeployId(deployId);
tpList.add(tpent);
tnList.add(tnent);
nhList.add(nhent);
codList.add(codent);
// }
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(nhList);
listFinal.addAll(codList);
}
SurvDeviceDeploy deploy =deployMap.get(transdataLivestockwaterVo.getDeployCode());
List<CommonDataTrans> lives = commonP3Service.constructLive(transdataLivestockwaterVo,survStationInfo,deploy);
listFinal.addAll(lives);
} else {
jsonObject.put("HisSurvData", new ArrayList<>());
}
@ -597,8 +448,7 @@ public class BigScreenController {
}
}
//移除非摄像头设备
// survStationInfo.getDeviceList().retainAll(remainList);
}
}
@ -995,121 +845,19 @@ public class BigScreenController {
}
}else if(PollutionConstants.STINK.equals(survDeviceDeploy.getDeployType())) {//恶臭
SurvTransdataStinkVo survTransdataAirVo = transdataVocsService.getNewestData(survDeviceDeploy.getDeployCode());
returnStinkArrs.add(survTransdataAirVo);
returnStinkArrs.add(JSONObject.parseObject(JSONObject.toJSONString(survTransdataAirVo)));
}
else if(PollutionConstants.WATER_ORIENT.equals(survDeviceDeploy.getDeployType())) {//面源
SurvTransdataOrientwaterVo transdataOrientwaterVo=transdataOrientwaterService.getNewestData(survDeviceDeploy.getDeployCode());
if(transdataOrientwaterVo!=null) {
transdataOrientwaterVo.setStationName(survStationInfo.getStationName());
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> noList = new ArrayList<>();
List<CommonDataTrans> codList = new ArrayList<>();
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.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.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.setSurvItem(PollutionEnum.dataWaterNo.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(transdataOrientwaterVo.getDataDateTime());
codent.setSurvItem(PollutionEnum.dataWaterCod.getCode());
tpent.setValue(transdataOrientwaterVo.getDataWaterTp());
tnent.setValue(transdataOrientwaterVo.getDataWaterTn());
// noent.setValue(transdataOrientwaterVo.getDataWaterNo());
codent.setValue(transdataOrientwaterVo.getDataWaterCod());
tpList.add(tpent);
tnList.add(tnent);
// noList.add(noent);
codList.add(codent);
List<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(tnList);
listFinal.addAll(tpList);
// listFinal.addAll(noList);
listFinal.addAll(codList);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(listFinal));
List<CommonDataTrans> orientData = commonP3Service.constructOrient(transdataOrientwaterVo,survStationInfo,survDeviceDeploy);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(orientData));
}
}else if(PollutionConstants.WATER_LIVE.equals(survDeviceDeploy.getDeployType())) {//畜禽
SurvTransdataLivestockwaterVo transdataLivestockwaterVo=transdataLivestockwaterService.getNewestData(survDeviceDeploy.getDeployCode());
if(transdataLivestockwaterVo!=null) {
transdataLivestockwaterVo.setStationName(survStationInfo.getStationName());
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> nhList = new ArrayList<>();
List<CommonDataTrans> 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.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.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.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.setSurvItem(PollutionEnum.dataWaterCod.getCode());
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);
// }
List<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(nhList);
listFinal.addAll(codList);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(listFinal));
List<CommonDataTrans> liveData = commonP3Service.constructLive(transdataLivestockwaterVo,survStationInfo,survDeviceDeploy);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(liveData));
}
}else if(PollutionConstants.CAMERA.equals(survDeviceDeploy.getDeployType())) {//摄像头
//只保留摄像头的数据

View File

@ -64,40 +64,7 @@ public class BigScreenControllerP2 {
@ApiOperation(value = "01. 查询设备下各检测项的历史数据", notes = "")
@PostMapping(value = "/survItemSummary")
public Result<VOHisResult> survItemSummary(@RequestBody VOBigScreenSurvQ voBigScreenSurvQ) {
PollutionEnum pollutionEnum = PollutionEnum.catchPollution(voBigScreenSurvQ.getSurvItem());
SurvDeviceDeploy deploy = null;
if(StringUtils.isNotBlank(voBigScreenSurvQ.getStationCode())){
if(pollutionEnum.getType().startsWith("water")){//面源设备根据 站点类型来寻找设备
deploy = survDeviceDeployService.getOrientDeviceByStation(voBigScreenSurvQ.getStationCode());
}else{
deploy = survDeviceDeployService.getOne(Wrappers.<SurvDeviceDeploy>lambdaQuery()
.eq(SurvDeviceDeploy::getStationCode,voBigScreenSurvQ.getStationCode())
.like(SurvDeviceDeploy::getDeployType,pollutionEnum.getType())
.last("limit 1"));
}
} else if (StringUtils.isNotBlank(voBigScreenSurvQ.getDeployId())) {
deploy = survDeviceDeployService.getById(voBigScreenSurvQ.getDeployId());
}else {
deploy = survDeviceDeployService.getOne(Wrappers.<SurvDeviceDeploy>lambdaQuery()
.like(SurvDeviceDeploy::getDeployType,pollutionEnum.getType())
.last("limit 1"));
}
Assert.notNull(deploy, "无效的设备1");
voBigScreenSurvQ.setDeployId(deploy.getId());
VOHisResult voHisResult = iotCommonP3Service.iotSurvSummary(voBigScreenSurvQ);
List<VOHisFormResult> voHisFormResults = new ArrayList<>();
if(voHisResult.getDataList()!=null && !voHisResult.getDataList().isEmpty()){
for (int i=0;i<voHisResult.getDataList().size();i++) {
VOHisFormResult voHisFormResult = new VOHisFormResult();
voHisFormResult.setDate(voHisResult.getTimeList().get(i));
voHisFormResult.setName(voHisResult.getDataList().get(i));
voHisFormResults.add(voHisFormResult);
}
}
voHisResult.setFormList(voHisFormResults);
VOHisResult voHisResult = iotCommonP3Service.survItemSummary(voBigScreenSurvQ);
return Result.OK(voHisResult);
}

View File

@ -4,16 +4,20 @@ import com.alibaba.fastjson.JSONArray;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.Builder;
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.entity.SurvDeviceDeploy;
import org.jeecg.common.entity.SurvStationInfo;
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.common.vo.VOBigScreenSurvQ;
import org.jeecg.common.vo.VOHisResult;
import org.jeecg.common.vo.inner.*;
import org.jeecg.modules.appmana.service.ISurvDeviceDeployService;
import org.jeecg.modules.appmana.service.impl.IotCommonP3ServiceImpl;
import org.jeecg.modules.appmana.service.impl.IotCommonServiceImpl;
import org.jeecg.modules.appmana.utils.CommonUtils;
import org.jeecg.modules.appmana.utils.Iotutils;
@ -34,6 +38,8 @@ public class InnerController {
private Iotutils iotutils;
@Autowired
private ISurvDeviceDeployService deviceDeployService;
@Autowired
private IotCommonP3ServiceImpl iotCommonP3Service;
@ApiOperation(value = "1. 空气土壤监测综合数据统计", notes = "")
@ApiOperationSupport(order = 1)
@ -90,4 +96,48 @@ public class InnerController {
}
return new VOTransData();
}
@ApiOperation(value = "7. 构造面源数据", notes = "")
@ApiOperationSupport(order = 7)
@PostMapping(value = "/constructOrient")
public List<CommonDataTrans> constructOrient(@RequestBody ConstructOrient constructOrient) {
if(constructOrient!=null){
return iotCommonP3Service.constructOrient(constructOrient.getTransdataOrientwaterVo(),constructOrient.getSurvStationInfo(),constructOrient.getDeploy());
}else {
return new ArrayList<>();
}
}
@ApiOperation(value = "8. 构造畜禽数据", notes = "")
@ApiOperationSupport(order = 8)
@PostMapping(value = "/constructLive")
public List<CommonDataTrans> constructLive(@RequestBody ConstructLive constructLive) {
if(constructLive!=null){
return iotCommonP3Service.constructLive(constructLive.getTransdataLivestockwaterVo(),constructLive.getSurvStationInfo(),constructLive.getDeploy());
}else {
return new ArrayList<>();
}
}
@ApiOperation(value = "9. 构造畜禽数据", notes = "")
@ApiOperationSupport(order = 9)
@PostMapping(value = "/constructVocs")
public List<CommonDataTrans> constructVocs(@RequestBody ConstructVocs constructVocs) {
if(constructVocs!=null){
return iotCommonP3Service.constructVocs(constructVocs.getSurvTransdataStinkVo(),constructVocs.getDeploy());
}else {
return new ArrayList<>();
}
}
@ApiOperation(value = "10. 单个监测项统计", notes = "")
@ApiOperationSupport(order = 10)
@PostMapping(value = "/singleItemSummary")
public VOHisResult singleItemSummary(@RequestBody VOBigScreenSurvQ voBigScreenSurvQ) {
if(voBigScreenSurvQ!=null){
return iotCommonP3Service.survItemSummary(voBigScreenSurvQ);
}else {
return new VOHisResult();
}
}
}

View File

@ -2,16 +2,19 @@ package org.jeecg.modules.appmana.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.constant.IotConstants;
import org.jeecg.common.constant.PollutionConstants;
import org.jeecg.common.constant.enums.PollutionEnum;
import org.jeecg.common.entity.ScEquZhibiao;
import org.jeecg.common.entity.SurvDeviceDeploy;
import org.jeecg.common.vo.CommonDataTrans;
import org.jeecg.common.vo.VOBigScreenSurvQ;
import org.jeecg.common.vo.VOHisResult;
import org.jeecg.common.entity.SurvStationInfo;
import org.jeecg.common.util.EntityFieldUtil;
import org.jeecg.common.vo.*;
import org.jeecg.common.vo.statistic.DTOIotSummray;
import org.jeecg.modules.appmana.service.IScEquZhibiaoService;
import org.jeecg.modules.appmana.utils.Iotutils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
@ -43,7 +46,9 @@ public class IotCommonP3ServiceImpl {
@Autowired
@Lazy
private IotCommonP2ServiceImpl iotCommonP2Service;
@Autowired
@Lazy
private IScEquZhibiaoService zhibiaoService;
/**
* 物联网设备统计
@ -268,4 +273,321 @@ public class IotCommonP3ServiceImpl {
}
return results;
}
public List<CommonDataTrans> constructOrient(SurvTransdataOrientwaterVo transdataOrientwaterVo, SurvStationInfo survStationInfo,SurvDeviceDeploy deploy){
List<CommonDataTrans> listFinal = new ArrayList<>();
if (transdataOrientwaterVo != null) {
if(survStationInfo!=null) {
transdataOrientwaterVo.setStationName(survStationInfo.getStationName());
}
if(deploy!=null) {
//查询监测项目
List<ScEquZhibiao> zhibiaos = zhibiaoService.getListByEquid(deploy.getId());
//构造数据
if (!zhibiaos.isEmpty()){
for (ScEquZhibiao zhibiao : zhibiaos) {
PollutionEnum pollutionEnum = PollutionEnum.catchPollution(zhibiao.getEntityField());
CommonDataTrans tempEnt = new CommonDataTrans();
tempEnt.setName(pollutionEnum.getDescription());
tempEnt.setUnit(pollutionEnum.getUnit());
tempEnt.setColor(pollutionEnum.getColor());
tempEnt.setDataDateTime(transdataOrientwaterVo.getDataDateTime());
if(survStationInfo!=null) {
tempEnt.setStationName(survStationInfo.getStationName());
tempEnt.setStationType(survStationInfo.getStationType());
tempEnt.setStationCode(survStationInfo.getStationCode());
}
tempEnt.setSurvItem(pollutionEnum.getCode());
String vals = EntityFieldUtil.getFieldValue(transdataOrientwaterVo,zhibiao.getEntityField(),String.class);
EntityFieldUtil.setFieldValue(tempEnt,zhibiao.getEntityField(),vals);
tempEnt.setDeployId(deploy.getId());
}
}
}
}
return listFinal;
}
public List<CommonDataTrans> constructOrient2(SurvTransdataOrientwaterVo transdataOrientwaterVo, SurvStationInfo survStationInfo,SurvDeviceDeploy deploy){
List<CommonDataTrans> listFinal = new ArrayList<>();
if (transdataOrientwaterVo != null) {
String deployId = deploy!=null?deploy.getId():"";
if(survStationInfo==null){//避免报错
survStationInfo = new SurvStationInfo();
}
transdataOrientwaterVo.setStationName(survStationInfo.getStationName());
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> noList = new ArrayList<>();
List<CommonDataTrans> codList = 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 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 codent = new CommonDataTrans();
codent.setName(PollutionEnum.dataWaterCod.getDescription());
codent.setUnit(PollutionEnum.dataWaterCod.getUnit());
codent.setColor(PollutionEnum.dataWaterCod.getColor());
codent.setStationName(survStationInfo.getStationName());
codent.setDataDateTime(transdataOrientwaterVo.getDataDateTime());
codent.setStationType(survStationInfo.getStationType());
codent.setStationCode(survStationInfo.getStationCode());
codent.setSurvItem(PollutionEnum.dataWaterCod.getCode());
tpent.setValue(transdataOrientwaterVo.getDataWaterTp());
tpent.setDeployId(deployId);
tnent.setValue(transdataOrientwaterVo.getDataWaterTn());
tnent.setDeployId(deployId);
// noent.setValue(transdataOrientwaterVo.getDataWaterNo());
// noent.setDeployId(deployId);
codent.setValue(transdataOrientwaterVo.getDataWaterCod());
codent.setDeployId(deployId);
tpList.add(tpent);
tnList.add(tnent);
// noList.add(noent);
codList.add(codent);
// }
listFinal.addAll(tnList);
listFinal.addAll(tpList);
// listFinal.addAll(noList);
listFinal.addAll(codList);
// returnArrs.add(JSONObject.parseObject(JSON.toJSONString(transdataOrientwaterVo)));
}
return listFinal;
}
public List<CommonDataTrans> constructLive(SurvTransdataLivestockwaterVo transdataLivestockwaterVo, SurvStationInfo survStationInfo, SurvDeviceDeploy deploy) {
List<CommonDataTrans> listFinal = new ArrayList<>();
if (transdataLivestockwaterVo != null) {
if(survStationInfo!=null) {
transdataLivestockwaterVo.setStationName(survStationInfo.getStationName());
}
//查询监测项目
if(deploy!=null) {
List<ScEquZhibiao> zhibiaos = zhibiaoService.getListByEquid(deploy.getId());
//构造数据
if (!zhibiaos.isEmpty()){
for (ScEquZhibiao zhibiao : zhibiaos) {
PollutionEnum pollutionEnum = PollutionEnum.catchPollution(zhibiao.getEntityField());
CommonDataTrans tempEnt = new CommonDataTrans();
tempEnt.setName(pollutionEnum.getDescription());
tempEnt.setUnit(pollutionEnum.getUnit());
tempEnt.setColor(pollutionEnum.getColor());
if(survStationInfo!=null) {
tempEnt.setStationName(survStationInfo.getStationName());
tempEnt.setStationType(survStationInfo.getStationType());
tempEnt.setStationCode(survStationInfo.getStationCode());
}
tempEnt.setDataDateTime(transdataLivestockwaterVo.getDataDateTime());
tempEnt.setSurvItem(pollutionEnum.getCode());
String vals = EntityFieldUtil.getFieldValue(transdataLivestockwaterVo,zhibiao.getEntityField(),String.class);
EntityFieldUtil.setFieldValue(tempEnt,zhibiao.getEntityField(),vals);
tempEnt.setDeployId(deploy.getId());
}
}
}
}
return listFinal;
}
public List<CommonDataTrans> constructLive2(SurvTransdataLivestockwaterVo transdataLivestockwaterVo, SurvStationInfo survStationInfo, SurvDeviceDeploy deploy) {
List<CommonDataTrans> listFinal = new ArrayList<>();
if (transdataLivestockwaterVo != null) {
String deployId = deploy!=null?deploy.getId():"";
if(survStationInfo==null){//避免报错
survStationInfo = new SurvStationInfo();
}
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> nhList = new ArrayList<>();
List<CommonDataTrans> 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());
tpent.setValue(transdataLivestockwaterVo.getDataWaterTp());
tpent.setDeployId(deployId);
tnent.setValue(transdataLivestockwaterVo.getDataWaterTn());
tnent.setDeployId(deployId);
nhent.setValue(transdataLivestockwaterVo.getDataWaterNh());
nhent.setDeployId(deployId);
codent.setValue(transdataLivestockwaterVo.getDataWaterCod());
codent.setDeployId(deployId);
tpList.add(tpent);
tnList.add(tnent);
nhList.add(nhent);
codList.add(codent);
// }
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(nhList);
listFinal.addAll(codList);
}
return listFinal;
}
public List<CommonDataTrans> constructVocs(SurvTransdataStinkVo survTransdataStinkVo, SurvDeviceDeploy deploy) {
List<CommonDataTrans> OuList = new ArrayList<>();
List<CommonDataTrans> Nh3List = new ArrayList<>();
List<CommonDataTrans> H2sList = new ArrayList<>();
List<CommonDataTrans> TvocList = new ArrayList<>();
CommonDataTrans Ouent = new CommonDataTrans();
Ouent.setName(PollutionEnum.dataStinkOu.getDescription());
Ouent.setUnit(PollutionEnum.dataStinkOu.getUnit());
Ouent.setColor(PollutionEnum.dataStinkOu.getColor());
Ouent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
CommonDataTrans Nh3ent = new CommonDataTrans();
Nh3ent.setName(PollutionEnum.dataStinkNh3.getDescription());
Nh3ent.setUnit(PollutionEnum.dataStinkNh3.getUnit());
Nh3ent.setColor(PollutionEnum.dataStinkNh3.getColor());
Nh3ent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
CommonDataTrans H2sent = new CommonDataTrans();
H2sent.setName(PollutionEnum.dataStinkH2s.getDescription());
H2sent.setUnit(PollutionEnum.dataStinkH2s.getUnit());
H2sent.setColor(PollutionEnum.dataStinkH2s.getColor());
H2sent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
CommonDataTrans Tvocent = new CommonDataTrans();
Tvocent.setName(PollutionEnum.dataStinkTvoc.getDescription());
Tvocent.setUnit(PollutionEnum.dataStinkTvoc.getUnit());
Tvocent.setColor(PollutionEnum.dataStinkTvoc.getColor());
Tvocent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
Ouent.setValue(survTransdataStinkVo.getDataOu());
Nh3ent.setValue(survTransdataStinkVo.getDataNh3());
H2sent.setValue(survTransdataStinkVo.getDataH2s());
Tvocent.setValue(survTransdataStinkVo.getDataTvoc());
OuList.add(Ouent);
Nh3List.add(Nh3ent);
H2sList.add(H2sent);
TvocList.add(Tvocent);
List<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(OuList);
listFinal.addAll(Nh3List);
listFinal.addAll(H2sList);
listFinal.addAll(TvocList);
return listFinal;
}
public VOHisResult survItemSummary(VOBigScreenSurvQ voBigScreenSurvQ) {
PollutionEnum pollutionEnum = PollutionEnum.catchPollution(voBigScreenSurvQ.getSurvItem());
SurvDeviceDeploy deploy = null;
if(StringUtils.isNotBlank(voBigScreenSurvQ.getStationCode())){
if(pollutionEnum.getType().startsWith("water")){//面源设备根据 站点类型来寻找设备
deploy = deviceDeployService.getOrientDeviceByStation(voBigScreenSurvQ.getStationCode());
}else{
deploy = deviceDeployService.getOne(Wrappers.<SurvDeviceDeploy>lambdaQuery()
.eq(SurvDeviceDeploy::getStationCode,voBigScreenSurvQ.getStationCode())
.like(SurvDeviceDeploy::getDeployType,pollutionEnum.getType())
.last("limit 1"));
}
} else if (StringUtils.isNotBlank(voBigScreenSurvQ.getDeployId())) {
deploy = deviceDeployService.getById(voBigScreenSurvQ.getDeployId());
}else {
deploy = deviceDeployService.getOne(Wrappers.<SurvDeviceDeploy>lambdaQuery()
.like(SurvDeviceDeploy::getDeployType,pollutionEnum.getType())
.last("limit 1"));
}
Assert.notNull(deploy, "无效的设备1");
voBigScreenSurvQ.setDeployId(deploy.getId());
VOHisResult voHisResult = iotSurvSummary(voBigScreenSurvQ);
List<VOHisFormResult> voHisFormResults = new ArrayList<>();
if(voHisResult.getDataList()!=null && !voHisResult.getDataList().isEmpty()){
for (int i=0;i<voHisResult.getDataList().size();i++) {
VOHisFormResult voHisFormResult = new VOHisFormResult();
voHisFormResult.setDate(voHisResult.getTimeList().get(i));
voHisFormResult.setName(voHisResult.getDataList().get(i));
voHisFormResults.add(voHisFormResult);
}
}
voHisResult.setFormList(voHisFormResults);
return voHisResult;
}
}

View File

@ -7,8 +7,10 @@ import org.jeecg.common.iot.common.VOIntegrateStatistic;
import org.jeecg.common.iot.common.VOSurvIntegrateParam;
import org.jeecg.common.iot.common.VOTransData;
import org.jeecg.common.iot.common.VOWaterSurvIntegrateParam;
import org.jeecg.common.vo.inner.TransSurvObjVo;
import org.jeecg.common.vo.inner.TransZhiBiaoVo;
import org.jeecg.common.vo.CommonDataTrans;
import org.jeecg.common.vo.VOBigScreenSurvQ;
import org.jeecg.common.vo.VOHisResult;
import org.jeecg.common.vo.inner.*;
import org.jeecg.common.vo.iot.common.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@ -40,4 +42,33 @@ public interface ZhAdminFeignClient {
*/
@PostMapping("/appmana/inner/api/deviceNewestData")
VOTransData deviceNewestData(@RequestParam String deployId);
/**
* 构造面源数据
* @return
*/
@PostMapping("/appmana/inner/api/constructOrient")
List<CommonDataTrans> constructOrient(@RequestBody ConstructOrient constructOrient);
/**
* 构造畜禽数据
* @return
*/
@PostMapping("/appmana/inner/api/constructLive")
List<CommonDataTrans> constructLive(@RequestBody ConstructLive constructLive);
/**
* 构造畜禽数据
* @return
*/
@PostMapping("/appmana/inner/api/constructVocs")
List<CommonDataTrans> constructVocs(@RequestBody ConstructVocs constructVocs);
/**
* 构造畜禽数据
* @return
*/
@PostMapping("/appmana/inner/api/singleItemSummary")
VOHisResult singleItemSummary(@RequestBody VOBigScreenSurvQ voBigScreenSurvQ);
}

View File

@ -1,4 +1,8 @@
package org.jeecg.system.applet.controller;
import org.jeecg.common.vo.SurvTransdataStinkVo;
import org.jeecg.common.entity.SurvDeviceDeploy;
import org.jeecg.common.entity.SurvStationInfo;
import org.jeecg.common.vo.SurvTransdataOrientwaterVo;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@ -20,6 +24,9 @@ import org.jeecg.common.iot.common.VOSurvIntegrateParam;
import org.jeecg.common.iot.common.VOTransData;
import org.jeecg.common.util.R;
import org.jeecg.common.vo.*;
import org.jeecg.common.vo.inner.ConstructLive;
import org.jeecg.common.vo.inner.ConstructOrient;
import org.jeecg.common.vo.inner.ConstructVocs;
import org.jeecg.common.vo.inner.TransZhiBiaoVo;
import org.jeecg.common.vo.iot.common.Result;
import org.jeecg.system.applet.client.ZhAdminFeignClient;
@ -29,7 +36,9 @@ import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
@ -151,6 +160,7 @@ public class WxAppletController {
List<String> orientList = new ArrayList<>();
List<String> liveList = new ArrayList<>();
List<String> waterList = new ArrayList<>();
Map<String,SurvDeviceDeploy> deployMap = new HashMap<>();//设备map
for (SurvDeviceDeploy survDeviceDeploy : survStationInfo.getDeviceList()) {
if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备
soilList.add(survDeviceDeploy.getDeployCode());
@ -166,6 +176,7 @@ public class WxAppletController {
//只保留摄像头的数据
// remainList.add(survDeviceDeploy);
}
deployMap.put(survDeviceDeploy.getDeployCode(),survDeviceDeploy);
}
// if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备
@ -187,124 +198,25 @@ public class WxAppletController {
dataTypes = dataMode;
}
if(IotConstants.Data_Types_All.equals(dataTypes) || IotConstants.Data_Types_Nsp.equals(dataTypes)) {
if (orientList.size() > 0) {//面源
if (!orientList.isEmpty()) {//面源
SurvTransdataOrientwaterVo transdataOrientwaterVo = orientwaterService.getNewestDataWithStation(orientList);
if (transdataOrientwaterVo != null) {
transdataOrientwaterVo.setStationName(survStationInfo.getStationName());
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> 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.setStationCode(survStationInfo.getStationCode());
tpent.setDataDateTime(transdataOrientwaterVo.getDataDateTime());
CommonDataTrans tnent = new CommonDataTrans();
tnent.setName(PollutionEnum.dataWaterTn.getDescription());
tnent.setUnit(PollutionEnum.dataWaterTn.getUnit());
tnent.setColor(PollutionEnum.dataWaterTn.getColor());
tnent.setStationName(survStationInfo.getStationName());
tnent.setStationCode(survStationInfo.getStationCode());
tnent.setDataDateTime(transdataOrientwaterVo.getDataDateTime());
CommonDataTrans noent = new CommonDataTrans();
noent.setName(PollutionEnum.dataWaterNo.getDescription());
noent.setUnit(PollutionEnum.dataWaterNo.getUnit());
noent.setColor(PollutionEnum.dataWaterNo.getColor());
noent.setStationName(survStationInfo.getStationName());
noent.setStationCode(survStationInfo.getStationCode());
noent.setDataDateTime(transdataOrientwaterVo.getDataDateTime());
tpent.setValue(transdataOrientwaterVo.getDataWaterTp());
tnent.setValue(transdataOrientwaterVo.getDataWaterTn());
noent.setValue(transdataOrientwaterVo.getDataWaterNo());
tpent.setDataCounts(dataCounts);
tnent.setDataCounts(dataCounts);
noent.setDataCounts(dataCounts);
tpList.add(tpent);
tnList.add(tnent);
noList.add(noent);
// }
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(noList);
// returnArrs.add(JSONObject.parseObject(JSON.toJSONString(transdataOrientwaterVo)));
}
SurvDeviceDeploy deploy = deployMap.get(transdataOrientwaterVo.getDeployCode());
ConstructOrient constructOrient = new ConstructOrient();
constructOrient.setSurvStationInfo(survStationInfo);
constructOrient.setDeploy(deploy);
constructOrient.setTransdataOrientwaterVo(transdataOrientwaterVo);
List<CommonDataTrans> orients = zhAdminFeignClient.constructOrient(constructOrient);
listFinal.addAll(orients);
}
if (liveList.size() > 0) {//畜禽
if (!liveList.isEmpty()) {//畜禽
SurvTransdataLivestockwaterVo transdataLivestockwaterVo = livestockwaterService.getNewestDataWithStation(liveList);
if (transdataLivestockwaterVo != null) {
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> nhList = new ArrayList<>();
List<CommonDataTrans> 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.setStationCode(survStationInfo.getStationCode());
tpent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime());
CommonDataTrans tnent = new CommonDataTrans();
tnent.setName(PollutionEnum.dataWaterTn.getDescription());
tnent.setUnit(PollutionEnum.dataWaterTn.getUnit());
tnent.setColor(PollutionEnum.dataWaterTn.getColor());
tnent.setStationName(survStationInfo.getStationName());
tnent.setStationCode(survStationInfo.getStationCode());
tnent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime());
CommonDataTrans nhent = new CommonDataTrans();
nhent.setName(PollutionEnum.dataWaterNh.getDescription());
nhent.setUnit(PollutionEnum.dataWaterNh.getUnit());
nhent.setColor(PollutionEnum.dataWaterNh.getColor());
nhent.setStationName(survStationInfo.getStationName());
nhent.setStationCode(survStationInfo.getStationCode());
nhent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime());
CommonDataTrans codent = new CommonDataTrans();
codent.setName(PollutionEnum.dataWaterCod.getDescription());
codent.setUnit(PollutionEnum.dataWaterCod.getUnit());
codent.setColor(PollutionEnum.dataWaterCod.getColor());
codent.setStationName(survStationInfo.getStationName());
codent.setStationCode(survStationInfo.getStationCode());
codent.setDataDateTime(transdataLivestockwaterVo.getDataDateTime());
tpent.setValue(transdataLivestockwaterVo.getDataWaterTp());
tnent.setValue(transdataLivestockwaterVo.getDataWaterTn());
nhent.setValue(transdataLivestockwaterVo.getDataWaterNh());
codent.setValue(transdataLivestockwaterVo.getDataWaterCod());
tpent.setDataCounts(dataCounts);
tnent.setDataCounts(dataCounts);
nhent.setDataCounts(dataCounts);
codent.setDataCounts(dataCounts);
tpList.add(tpent);
tnList.add(tnent);
nhList.add(nhent);
codList.add(codent);
// }
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(nhList);
listFinal.addAll(codList);
}
SurvDeviceDeploy deploy = deployMap.get(transdataLivestockwaterVo.getDeployCode());
ConstructLive constructLive = new ConstructLive();
constructLive.setSurvStationInfo(survStationInfo);
constructLive.setDeploy(deploy);
constructLive.setTransdataLivestockwaterVo(transdataLivestockwaterVo);
List<CommonDataTrans> orients = zhAdminFeignClient.constructLive(constructLive);
listFinal.addAll(orients);
}
}
if(IotConstants.Data_Types_All.equals(dataTypes) || IotConstants.Data_Types_Water.equals(dataTypes)) {
@ -433,18 +345,21 @@ public class WxAppletController {
List<OrientDataTrans> orientSummry = hisdataOrientwaterService.getMonthSummry(orientList,curYear);
List<Double> avgTN = new ArrayList<>();
List<Double> avgTP = new ArrayList<>();
List<Double> avgNO = new ArrayList<>();
// List<Double> avgNO = new ArrayList<>();
List<Double> avgCod = new ArrayList<>();
if(orientSummry.size()>0){
for (OrientDataTrans orientDataTrans : orientSummry) {
avgTN.add(orientDataTrans.getAvgTN());
avgTP.add(orientDataTrans.getAvgTP());
avgNO.add(orientDataTrans.getAvgNO());
// avgNO.add(orientDataTrans.getAvgNO());
avgCod.add(orientDataTrans.getAvgCod());
}
}
StationSummry stationSummry =new StationSummry();
stationSummry.setTNSummry(avgTN);
stationSummry.setTPSummry(avgTP);
stationSummry.setNOSummry(avgNO);
// stationSummry.setNOSummry(avgNO);
stationSummry.setCODSummry(avgCod);
// JSONObject job =new JSONObject();
// job.put(survStationInfo.getStationCode(),stationSummry);
returnArrs.add(JSONObject.parseObject(JSONObject.toJSONString(stationSummry, SerializerFeature.WriteNullStringAsEmpty)));
@ -529,350 +444,41 @@ public class WxAppletController {
job.put("zhibiao",zhibiaoList);
if(PollutionConstants.WATER_ORIENT.equals(survDeviceDeploy.getDeployType())){
SurvTransdataOrientwaterVo survTransdataOrientwaterVo = orientwaterService.getNewestData(deployCode);
if(survTransdataOrientwaterVo==null){//无数据返回空数组
return R.ok(new ArrayList<>());
}
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> 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.setDataDateTime(survTransdataOrientwaterVo.getDataDateTime());
CommonDataTrans tnent = new CommonDataTrans();
tnent.setName(PollutionEnum.dataWaterTn.getDescription());
tnent.setUnit(PollutionEnum.dataWaterTn.getUnit());
tnent.setColor(PollutionEnum.dataWaterTn.getColor());
tnent.setDataDateTime(survTransdataOrientwaterVo.getDataDateTime());
CommonDataTrans noent = new CommonDataTrans();
noent.setName(PollutionEnum.dataWaterNo.getDescription());
noent.setUnit(PollutionEnum.dataWaterNo.getUnit());
noent.setColor(PollutionEnum.dataWaterNo.getColor());
noent.setDataDateTime(survTransdataOrientwaterVo.getDataDateTime());
tpent.setValue(survTransdataOrientwaterVo.getDataWaterTp());
tnent.setValue(survTransdataOrientwaterVo.getDataWaterTn());
noent.setValue(survTransdataOrientwaterVo.getDataWaterNo());
tpList.add(tpent);
tnList.add(tnent);
noList.add(noent);
// }
List<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(tnList);
listFinal.addAll(tpList);
listFinal.addAll(noList);
ConstructOrient constructOrient = new ConstructOrient();
constructOrient.setSurvStationInfo(new SurvStationInfo());
constructOrient.setDeploy(survDeviceDeploy);
constructOrient.setTransdataOrientwaterVo(survTransdataOrientwaterVo);
List<CommonDataTrans> listFinal = zhAdminFeignClient.constructOrient(constructOrient);
job.put("dataList",listFinal);
}else if(PollutionConstants.WATER_LIVE.equals(survDeviceDeploy.getDeployType())){
SurvTransdataLivestockwaterVo survHisdataLivestockwater = livestockwaterService.getNewestData(deployCode);
if(survHisdataLivestockwater==null){//无数据返回空数组
return R.ok(new ArrayList<>());
}
List<CommonDataTrans> tpList = new ArrayList<>();
List<CommonDataTrans> tnList = new ArrayList<>();
List<CommonDataTrans> nhList = new ArrayList<>();
List<CommonDataTrans> codList = new ArrayList<>();
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);
ConstructLive constructLive = new ConstructLive();
constructLive.setSurvStationInfo(new SurvStationInfo());
constructLive.setDeploy(survDeviceDeploy);
constructLive.setTransdataLivestockwaterVo(survHisdataLivestockwater);
List<CommonDataTrans> listFinal = zhAdminFeignClient.constructLive(constructLive);
job.put("dataList",listFinal);
}else if(PollutionConstants.STINK.equals(survDeviceDeploy.getDeployType())){//恶臭
SurvTransdataStinkVo survTransdataStinkVo = survTransdataVocsService.getNewestData(deployCode);
if(survTransdataStinkVo==null){//无数据返回空数组
return R.ok(new ArrayList<>());
}
List<CommonDataTrans> OuList = new ArrayList<>();
List<CommonDataTrans> Nh3List = new ArrayList<>();
List<CommonDataTrans> H2sList = new ArrayList<>();
List<CommonDataTrans> TvocList = new ArrayList<>();
ConstructVocs constructVocs = new ConstructVocs();
constructVocs.setDeploy(survDeviceDeploy);
constructVocs.setSurvTransdataStinkVo(survTransdataStinkVo);
CommonDataTrans Ouent = new CommonDataTrans();
Ouent.setName(PollutionEnum.dataStinkOu.getDescription());
Ouent.setUnit(PollutionEnum.dataStinkOu.getUnit());
Ouent.setColor(PollutionEnum.dataStinkOu.getColor());
Ouent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
CommonDataTrans Nh3ent = new CommonDataTrans();
Nh3ent.setName(PollutionEnum.dataStinkNh3.getDescription());
Nh3ent.setUnit(PollutionEnum.dataStinkNh3.getUnit());
Nh3ent.setColor(PollutionEnum.dataStinkNh3.getColor());
Nh3ent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
CommonDataTrans H2sent = new CommonDataTrans();
H2sent.setName(PollutionEnum.dataStinkH2s.getDescription());
H2sent.setUnit(PollutionEnum.dataStinkH2s.getUnit());
H2sent.setColor(PollutionEnum.dataStinkH2s.getColor());
H2sent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
CommonDataTrans Tvocent = new CommonDataTrans();
Tvocent.setName(PollutionEnum.dataStinkTvoc.getDescription());
Tvocent.setUnit(PollutionEnum.dataStinkTvoc.getUnit());
Tvocent.setColor(PollutionEnum.dataStinkTvoc.getColor());
Tvocent.setDataDateTime(survTransdataStinkVo.getDataDateTime());
List<CommonDataTrans> listFinal = zhAdminFeignClient.constructVocs(constructVocs);
Ouent.setValue(survTransdataStinkVo.getDataOu());
Nh3ent.setValue(survTransdataStinkVo.getDataNh3());
H2sent.setValue(survTransdataStinkVo.getDataH2s());
Tvocent.setValue(survTransdataStinkVo.getDataTvoc());
OuList.add(Ouent);
Nh3List.add(Nh3ent);
H2sList.add(H2sent);
TvocList.add(Tvocent);
List<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(OuList);
listFinal.addAll(Nh3List);
listFinal.addAll(H2sList);
listFinal.addAll(TvocList);
job.put("dataList",listFinal);
}else if(PollutionConstants.AIR_SURV.equals(survDeviceDeploy.getDeployType())){
SurvTransdataAirVo airVo=transdataAirService.getNewestData(deployCode);
if(airVo==null){//无数据返回空数组
return R.ok(new ArrayList<>());
}
List<CommonDataTrans> AirTemp = new ArrayList<>();
List<CommonDataTrans> AirWet = new ArrayList<>();
List<CommonDataTrans> AirPress = new ArrayList<>();
List<CommonDataTrans> RainFall = new ArrayList<>();
List<CommonDataTrans> WindSpeed = new ArrayList<>();
List<CommonDataTrans> WindDirection = new ArrayList<>();
List<CommonDataTrans> RainTotal = new ArrayList<>();
List<CommonDataTrans> SunTotal = new ArrayList<>();
List<CommonDataTrans> SunFallout = new ArrayList<>();
CommonDataTrans AirTempEnt = new CommonDataTrans();
AirTempEnt.setName(PollutionEnum.dataAirTemp.getDescription());
AirTempEnt.setUnit(PollutionEnum.dataAirTemp.getUnit());
AirTempEnt.setColor(PollutionEnum.dataAirTemp.getColor());
AirTempEnt.setValue(airVo.getDataAirTemp());
AirTempEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans AirWetEnt = new CommonDataTrans();
AirWetEnt.setName(PollutionEnum.dataAirWet.getDescription());
AirWetEnt.setUnit(PollutionEnum.dataAirWet.getUnit());
AirWetEnt.setColor(PollutionEnum.dataAirWet.getColor());
AirWetEnt.setValue(airVo.getDataAirWet());
AirWetEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans AirPressEnt = new CommonDataTrans();
AirPressEnt.setName(PollutionEnum.dataAirPress.getDescription());
AirPressEnt.setUnit(PollutionEnum.dataAirPress.getUnit());
AirPressEnt.setColor(PollutionEnum.dataAirPress.getColor());
AirPressEnt.setValue(airVo.getDataAirPress());
AirPressEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans RainFallEnt = new CommonDataTrans();
RainFallEnt.setName(PollutionEnum.dataRainFall.getDescription());
RainFallEnt.setUnit(PollutionEnum.dataRainFall.getUnit());
RainFallEnt.setColor(PollutionEnum.dataRainFall.getColor());
RainFallEnt.setValue(airVo.getDataRainFall());
RainFallEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans WindSpeedEnt = new CommonDataTrans();
WindSpeedEnt.setName(PollutionEnum.dataWindSpeed.getDescription());
WindSpeedEnt.setUnit(PollutionEnum.dataWindSpeed.getUnit());
WindSpeedEnt.setColor(PollutionEnum.dataWindSpeed.getColor());
WindSpeedEnt.setValue(airVo.getDataWindSpeed());
WindSpeedEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans WindDirectionEnt = new CommonDataTrans();
WindDirectionEnt.setName(PollutionEnum.dataWindDirection.getDescription());
WindDirectionEnt.setUnit(PollutionEnum.dataWindDirection.getUnit());
WindDirectionEnt.setColor(PollutionEnum.dataWindDirection.getColor());
WindDirectionEnt.setValue(airVo.getDataWindDirection());
WindDirectionEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans RainTotalEnt = new CommonDataTrans();
RainTotalEnt.setName(PollutionEnum.dataRainTotal.getDescription());
RainTotalEnt.setUnit(PollutionEnum.dataRainTotal.getUnit());
RainTotalEnt.setColor(PollutionEnum.dataRainTotal.getColor());
RainTotalEnt.setValue(airVo.getDataRainTotal());
RainTotalEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans SunTotalEnt = new CommonDataTrans();
SunTotalEnt.setName(PollutionEnum.dataSunTotal.getDescription());
SunTotalEnt.setUnit(PollutionEnum.dataSunTotal.getUnit());
SunTotalEnt.setColor(PollutionEnum.dataSunTotal.getColor());
SunTotalEnt.setValue(airVo.getDataSunTotal());
SunTotalEnt.setDataDateTime(airVo.getDataDateTime());
CommonDataTrans SunFalloutEnt = new CommonDataTrans();
SunFalloutEnt.setName(PollutionEnum.dataSunFallout.getDescription());
SunFalloutEnt.setUnit(PollutionEnum.dataSunFallout.getUnit());
SunFalloutEnt.setColor(PollutionEnum.dataSunFallout.getColor());
SunFalloutEnt.setValue(airVo.getDataSunFallout());
SunFalloutEnt.setDataDateTime(airVo.getDataDateTime());
AirTemp.add(AirTempEnt);
AirWet.add(AirWetEnt);
AirPress.add(AirPressEnt);
RainFall.add(RainFallEnt);
WindSpeed.add(WindSpeedEnt);
WindDirection.add(WindDirectionEnt);
RainTotal.add(RainTotalEnt);
SunTotal.add(SunTotalEnt);
SunFallout.add(SunFalloutEnt);
List<CommonDataTrans> listFinal = new ArrayList<>();
listFinal.addAll(AirTemp);
listFinal.addAll(AirWet);
listFinal.addAll(AirPress);
listFinal.addAll(RainFall);
listFinal.addAll(WindSpeed);
listFinal.addAll(WindDirection);
listFinal.addAll(RainTotal);
listFinal.addAll(SunTotal);
listFinal.addAll(SunFallout);
job.put("dataList",listFinal);
// SurvTransdataAirVo airVo=transdataAirService.getNewestData(deployCode);
VOTransData voTransData = zhAdminFeignClient.deviceNewestData(survDeviceDeploy.getId());
job.put("dataList",voTransData.getTransData());
}else if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){
SurvTransdataSoilVo soilVo = transdataSoilService.getNewestData(deployCode);
if(soilVo==null){//无数据返回空数组
return R.ok(new ArrayList<>());
}
List<CommonDataTrans> soilSalt = new ArrayList<>();
List<CommonDataTrans> soilWet = new ArrayList<>();
List<CommonDataTrans> soilTemp = new ArrayList<>();
List<CommonDataTrans> soilTemp2 = new ArrayList<>();
List<CommonDataTrans> soilTemp3 = new ArrayList<>();
List<CommonDataTrans> soilWet2 = new ArrayList<>();
List<CommonDataTrans> soilWet3 = new ArrayList<>();
List<CommonDataTrans> soilddl = new ArrayList<>();
List<CommonDataTrans> soilddl2 = new ArrayList<>();
List<CommonDataTrans> soilddl3 = new ArrayList<>();
// CommonDataTrans soilSaltEnt = new CommonDataTrans();
// soilSaltEnt.setName(PollutionEnum.dataSoilSalt.getDescription());
// soilSaltEnt.setUnit(PollutionEnum.dataSoilSalt.getUnit());
// soilSaltEnt.setColor(PollutionEnum.dataSoilSalt.getColor());
// soilSaltEnt.setValue(soilVo.getDataSoilSalt());
// soilSaltEnt.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilWetEnt = new CommonDataTrans();
soilWetEnt.setName(PollutionEnum.dataSoilWet.getDescription());
soilWetEnt.setUnit(PollutionEnum.dataSoilWet.getUnit());
soilWetEnt.setColor(PollutionEnum.dataSoilWet.getColor());
soilWetEnt.setValue(soilVo.getDataSoilWet());
soilWetEnt.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilTempEnt = new CommonDataTrans();
soilTempEnt.setName(PollutionEnum.dataSoilTemp.getDescription());
soilTempEnt.setUnit(PollutionEnum.dataSoilTemp.getUnit());
soilTempEnt.setColor(PollutionEnum.dataSoilTemp.getColor());
soilTempEnt.setValue(soilVo.getDataSoilTemp());
soilTempEnt.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilTemp2Ent = new CommonDataTrans();
soilTemp2Ent.setName(PollutionEnum.dataSoilTemp2.getDescription());
soilTemp2Ent.setUnit(PollutionEnum.dataSoilTemp2.getUnit());
soilTemp2Ent.setColor(PollutionEnum.dataSoilTemp2.getColor());
soilTemp2Ent.setValue(soilVo.getDataSoilTemp2());
soilTemp2Ent.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilTemp3Ent = new CommonDataTrans();
soilTemp3Ent.setName(PollutionEnum.dataSoilTemp3.getDescription());
soilTemp3Ent.setUnit(PollutionEnum.dataSoilTemp3.getUnit());
soilTemp3Ent.setColor(PollutionEnum.dataSoilTemp3.getColor());
soilTemp3Ent.setValue(soilVo.getDataSoilTemp3());
soilTemp3Ent.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilWet2Ent = new CommonDataTrans();
soilWet2Ent.setName(PollutionEnum.dataSoilWet2.getDescription());
soilWet2Ent.setUnit(PollutionEnum.dataSoilWet2.getUnit());
soilWet2Ent.setColor(PollutionEnum.dataSoilWet2.getColor());
soilWet2Ent.setValue(soilVo.getDataSoilWet2());
soilWet2Ent.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilWet3Ent = new CommonDataTrans();
soilWet3Ent.setName(PollutionEnum.dataSoilWet3.getDescription());
soilWet3Ent.setUnit(PollutionEnum.dataSoilWet3.getUnit());
soilWet3Ent.setColor(PollutionEnum.dataSoilWet3.getColor());
soilWet3Ent.setValue(soilVo.getDataSoilWet3());
soilWet3Ent.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilddlEnt = new CommonDataTrans();
soilddlEnt.setName(PollutionEnum.dataSoilDdl.getDescription());
soilddlEnt.setUnit(PollutionEnum.dataSoilDdl.getUnit());
soilddlEnt.setColor(PollutionEnum.dataSoilDdl.getColor());
soilddlEnt.setValue(soilVo.getDataSoilDdl());
soilddlEnt.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilddl2Ent = new CommonDataTrans();
soilddl2Ent.setName(PollutionEnum.dataSoilDdl2.getDescription());
soilddl2Ent.setUnit(PollutionEnum.dataSoilDdl2.getUnit());
soilddl2Ent.setColor(PollutionEnum.dataSoilDdl2.getColor());
soilddl2Ent.setValue(soilVo.getDataSoilDdl2());
soilddl2Ent.setDataDateTime(soilVo.getDataDateTime());
CommonDataTrans soilddl3Ent = new CommonDataTrans();
soilddl3Ent.setName(PollutionEnum.dataSoilDdl3.getDescription());
soilddl3Ent.setUnit(PollutionEnum.dataSoilDdl3.getUnit());
soilddl3Ent.setColor(PollutionEnum.dataSoilDdl3.getColor());
soilddl3Ent.setValue(soilVo.getDataSoilDdl3());
soilddl3Ent.setDataDateTime(soilVo.getDataDateTime());
// soilSalt.add(soilSaltEnt);
soilWet.add(soilWetEnt);
soilTemp.add(soilTempEnt);
soilTemp2.add(soilTemp2Ent);
soilTemp3.add(soilTemp3Ent);
soilWet2.add(soilWet2Ent);
soilWet3.add(soilWet3Ent);
soilddl.add(soilddlEnt);
soilddl2.add(soilddl2Ent);
soilddl3.add(soilddl3Ent);
List<CommonDataTrans> listFinal = new ArrayList<>();
// listFinal.addAll(soilSalt);
listFinal.addAll(soilWet);
listFinal.addAll(soilTemp);
listFinal.addAll(soilTemp2);
listFinal.addAll(soilTemp3);
listFinal.addAll(soilWet2);
listFinal.addAll(soilWet3);
listFinal.addAll(soilddl);
listFinal.addAll(soilddl2);
listFinal.addAll(soilddl3);
job.put("dataList",listFinal);
// SurvTransdataSoilVo soilVo = transdataSoilService.getNewestData(deployCode);
VOTransData voTransData = zhAdminFeignClient.deviceNewestData(survDeviceDeploy.getId());
job.put("dataList",voTransData.getTransData());
}else if(PollutionConstants.WATER_QULITY.equals(survDeviceDeploy.getDeployType())){
VOTransData voTransData = zhAdminFeignClient.deviceNewestData(survDeviceDeploy.getId());
@ -900,7 +506,7 @@ public class WxAppletController {
JSONArray returnArrs = new JSONArray();
if(stationList!=null&&stationList.size()>0){
for (SurvStationInfo survStationInfo : stationList) {
if(survStationInfo.getDeviceList()!=null&&survStationInfo.getDeviceList().size()>0){
if(survStationInfo.getDeviceList()!=null&& !survStationInfo.getDeviceList().isEmpty()){
List<SurvDeviceDeploy> stationDeviceList = new ArrayList<>();
List<String> airList = new ArrayList<>();
List<String> soilList = new ArrayList<>();
@ -910,10 +516,10 @@ public class WxAppletController {
List<String> waterList = new ArrayList<>();
for (SurvDeviceDeploy survDeviceDeploy : survStationInfo.getDeviceList()) {
if(PollutionConstants.SOIL_SURV.equals(survDeviceDeploy.getDeployType())){//土壤设备
soilList.add(survDeviceDeploy.getDeployCode());
soilList.add(survDeviceDeploy.getId());
}else if(PollutionConstants.AIR_SURV.equals(survDeviceDeploy.getDeployType())){//气象设备
airList.add(survDeviceDeploy.getDeployCode());
}else if(PollutionConstants.WATER_QULITY.equals(survDeviceDeploy.getDeployType())){//气象设备
airList.add(survDeviceDeploy.getId());
}else if(PollutionConstants.WATER_QULITY.equals(survDeviceDeploy.getDeployType())){//水质设备
waterList.add(survDeviceDeploy.getId());
}else if(PollutionConstants.WATER_ORIENT.equals(survDeviceDeploy.getDeployType())) {//面源
orientList.add(survDeviceDeploy.getDeployCode());
@ -927,105 +533,24 @@ public class WxAppletController {
}
}
if(soilList.size()>0){
List<SoilDataTrans> soilSummry = hisdataSoilService.getMonthSummry(soilList,curYear);
List<Double> avgSalt = new ArrayList<>();
List<Double> avgWet = new ArrayList<>();
List<Double> avgTemp = new ArrayList<>();
List<Double> avgTemp2 = new ArrayList<>();
List<Double> avgTemp3 = new ArrayList<>();
List<Double> avgWet2 = new ArrayList<>();
List<Double> avgWet3 = new ArrayList<>();
List<Double> avgddl = new ArrayList<>();
List<Double> avgddl2 = new ArrayList<>();
List<Double> avgddl3 = new ArrayList<>();
if(soilSummry.size()>0){
for (SoilDataTrans SoilDataTrans : soilSummry) {
avgTemp.add(SoilDataTrans.getDataSoilTemp());
avgWet.add(SoilDataTrans.getDataSoilWet());
avgSalt.add(SoilDataTrans.getDataSoilSalt());
avgTemp2.add(SoilDataTrans.getDataSoilTemp2());
avgTemp3.add(SoilDataTrans.getDataSoilTemp3());
avgWet2.add(SoilDataTrans.getDataSoilWet2());
avgWet3.add(SoilDataTrans.getDataSoilWet3());
avgddl.add(SoilDataTrans.getDataSoilDdl());
avgddl2.add(SoilDataTrans.getDataSoilDdl2());
avgddl3.add(SoilDataTrans.getDataSoilDdl3());
}
}
if(PollutionEnum.dataSoilTemp.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgTemp));
}else if(PollutionEnum.dataSoilWet.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgWet));
}else if(PollutionEnum.dataSoilSalt.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgSalt));
}else if(PollutionEnum.dataSoilTemp2.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgTemp2));
}else if(PollutionEnum.dataSoilTemp3.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgTemp3));
}else if(PollutionEnum.dataSoilWet2.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgWet2));
}else if(PollutionEnum.dataSoilWet3.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgWet3));
}else if(PollutionEnum.dataSoilDdl.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgddl));
}else if(PollutionEnum.dataSoilDdl2.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgddl2));
}else if(PollutionEnum.dataSoilDdl3.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgddl3));
}
if(!soilList.isEmpty()){
VOBigScreenSurvQ voBigScreenSurvQ = new VOBigScreenSurvQ();
voBigScreenSurvQ.setSummrayMode(IotConstants.year_months);
voBigScreenSurvQ.setDeployId(soilList.get(0));
voBigScreenSurvQ.setSurvItem(pollutionCode);
VOHisResult voHisResult = zhAdminFeignClient.singleItemSummary(voBigScreenSurvQ);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(voHisResult.getDataList()));
}
if(airList.size()>0){
List<AirDataTrans> airSymmry = hisdataAirService.getMonthSummry(airList,curYear);
List<Double> AirTemp = new ArrayList<>();
List<Double> AirWet = new ArrayList<>();
List<Double> AirPress = new ArrayList<>();
List<Double> RainFall = new ArrayList<>();
List<Double> WindSpeed = new ArrayList<>();
List<Double> WindDirection = new ArrayList<>();
List<Double> RainTotal = new ArrayList<>();
List<Double> SunTotal = new ArrayList<>();
List<Double> SunFallout = new ArrayList<>();
if(airSymmry.size()>0){
for (AirDataTrans airDataTrans : airSymmry) {
AirTemp.add(airDataTrans.getDataAirTemp());
AirWet.add(airDataTrans.getDataAirWet());
AirPress.add(airDataTrans.getDataAirPress());
RainFall.add(airDataTrans.getDataRainFall());
WindSpeed.add(airDataTrans.getDataWindSpeed());
WindDirection.add(airDataTrans.getDataWindDirection());
RainTotal.add(airDataTrans.getDataRainTotal());
SunTotal.add(airDataTrans.getDataSunTotal());
SunFallout.add(airDataTrans.getDataSunFallout());
}
}
if(PollutionEnum.dataAirTemp.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(AirTemp));
}else if(PollutionEnum.dataAirWet.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(AirWet));
}else if(PollutionEnum.dataAirPress.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(AirPress));
}else if(PollutionEnum.dataRainFall.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(RainFall));
}else if(PollutionEnum.dataWindSpeed.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(WindSpeed));
}else if(PollutionEnum.dataWindDirection.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(WindDirection));
}else if(PollutionEnum.dataRainTotal.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(RainTotal));
}else if(PollutionEnum.dataSunTotal.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(SunTotal));
}else if(PollutionEnum.dataSunFallout.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(SunFallout));
}
if(!airList.isEmpty()){
VOBigScreenSurvQ voBigScreenSurvQ = new VOBigScreenSurvQ();
voBigScreenSurvQ.setSummrayMode(IotConstants.year_months);
voBigScreenSurvQ.setDeployId(airList.get(0));
voBigScreenSurvQ.setSurvItem(pollutionCode);
VOHisResult voHisResult = zhAdminFeignClient.singleItemSummary(voBigScreenSurvQ);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(voHisResult.getDataList()));
}
if(waterList.size()>0){
if(!waterList.isEmpty()){
VOSurvIntegrateParam voSurvIntegrateParam = new VOSurvIntegrateParam();
voSurvIntegrateParam.setDeployIds(waterList);
voSurvIntegrateParam.setStartTime(curYear);
@ -1043,50 +568,21 @@ public class WxAppletController {
}
if(orientList.size()>0){
List<OrientDataTrans> orientSummry = hisdataOrientwaterService.getMonthSummry(orientList,curYear);
List<Double> avgTN = new ArrayList<>();
List<Double> avgTP = new ArrayList<>();
List<Double> avgNO = new ArrayList<>();
if(orientSummry.size()>0){
for (OrientDataTrans orientDataTrans : orientSummry) {
avgTN.add(orientDataTrans.getAvgTN());
avgTP.add(orientDataTrans.getAvgTP());
avgNO.add(orientDataTrans.getAvgNO());
}
}
if(PollutionEnum.dataWaterTp.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgTP));
}else if(PollutionEnum.dataWaterTn.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgTN));
}else if(PollutionEnum.dataWaterNo.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgNO));
}
if(!orientList.isEmpty()){
VOBigScreenSurvQ voBigScreenSurvQ = new VOBigScreenSurvQ();
voBigScreenSurvQ.setSummrayMode(IotConstants.year_months);
voBigScreenSurvQ.setDeployId(orientList.get(0));
voBigScreenSurvQ.setSurvItem(pollutionCode);
VOHisResult voHisResult = zhAdminFeignClient.singleItemSummary(voBigScreenSurvQ);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(voHisResult.getDataList()));
}
if(liveList.size()>0){
List<LiveDataTrans> liveSummry = hisdataLivestockwaterService.getMonthSummry(liveList,curYear);
List<Double> avgTN = new ArrayList<>();
List<Double> avgTP = new ArrayList<>();
List<Double> avgNH = new ArrayList<>();
List<Double> avgCOD = new ArrayList<>();
if(liveSummry.size()>0){
for (LiveDataTrans LiveDataTrans : liveSummry) {
avgTN.add(LiveDataTrans.getAvgTN());
avgTP.add(LiveDataTrans.getAvgTP());
avgNH.add(LiveDataTrans.getAvgNH());
avgCOD.add(LiveDataTrans.getAvgCOD());
}
}
if(PollutionEnum.dataWaterTp.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgTP));
}else if(PollutionEnum.dataWaterTn.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgTN));
}else if(PollutionEnum.dataWaterNh.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgNH));
}else if(PollutionEnum.dataWaterCod.getCode().equals(pollutionCode)){
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(avgCOD));
}
if(!liveList.isEmpty()){
VOBigScreenSurvQ voBigScreenSurvQ = new VOBigScreenSurvQ();
voBigScreenSurvQ.setSummrayMode(IotConstants.year_months);
voBigScreenSurvQ.setDeployId(liveList.get(0));
voBigScreenSurvQ.setSurvItem(pollutionCode);
VOHisResult voHisResult = zhAdminFeignClient.singleItemSummary(voBigScreenSurvQ);
returnArrs = JSONArray.parseArray(JSONObject.toJSONString(voHisResult.getDataList()));
}
if(!stinkList.isEmpty()){
List<StinkDataTrans> stinkSummry = vocsService.getMonthSummry(stinkList,curYear);

View File

@ -7,17 +7,18 @@
<result property="dataWaterTp" column="DATA_WATER_TP" jdbcType="VARCHAR"/>
<result property="dataWaterTn" column="DATA_WATER_TN" jdbcType="VARCHAR"/>
<result property="dataWaterNo" column="DATA_WATER_NO" jdbcType="VARCHAR"/>
<result property="dataWaterCod" column="DATA_WATER_COD" jdbcType="VARCHAR"/>
<result property="dataDateTime" column="DATA_DATE_TIME"/>
<result property="deployCode" column="DEPLOY_CODE" jdbcType="VARCHAR"/>
</resultMap>
<select id="getMonthSummry" resultType="org.jeecg.common.vo.OrientDataTrans">
SELECT t1.index,IFNULL(t2.avgTP,0) as avgTP,IFNULL(t2.avgTN,0) as avgTN,IFNULL(t2.avgNO,0) as avgNO FROM (
SELECT t1.index,IFNULL(t2.avgTP,0) as avgTP,IFNULL(t2.avgTN,0) as avgTN,IFNULL(t2.avgNO,0) as avgNO,IFNULL(t2.avgCod,0) as avgCod 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_WATER_TP),2) AS avgTP,ROUND(AVG(t.DATA_WATER_TN),2) AS avgTN,ROUND(AVG(t.DATA_WATER_NO),2) AS avgNO, MONTH(t.DATA_DATE_TIME) AS month FROM surv_hisdata_orientwater t where 1 = 1
SELECT ROUND(AVG(t.DATA_WATER_TP),2) AS avgTP,ROUND(AVG(t.DATA_WATER_TN),2) AS avgTN,ROUND(AVG(t.DATA_WATER_NO),2) AS avgNO,ROUND(AVG(t.DATA_WATER_COD),2) AS avgCod, MONTH(t.DATA_DATE_TIME) AS month FROM surv_hisdata_orientwater t where 1 = 1
<if test="yearStr!=null and yearStr!=''">
and DATE_FORMAT(DATA_DATE_TIME, '%Y') = #{yearStr}
</if>

View File

@ -7,7 +7,7 @@
<result property="dataWaterTn" column="DATA_WATER_TN" jdbcType="VARCHAR"/>
<result property="dataWaterCod" column="DATA_WATER_COD" jdbcType="VARCHAR"/>
<result property="dataWaterNh" column="DATA_WATER_NH" jdbcType="VARCHAR"/>
<!-- <result property="dataWaterNo" column="DATA_WATER_NO" jdbcType="VARCHAR"/>-->
<result property="dataWaterNo" column="DATA_WATER_NO" jdbcType="VARCHAR"/>
<result property="dataDateTime" column="DATA_DATE_TIME" />
<result property="deployCode" column="DEPLOY_CODE" />
</resultMap>

View File

@ -5,8 +5,8 @@
<resultMap id="simpleResultMap" type="org.jeecg.common.vo.SurvTransdataOrientwaterVo">
<result property="dataWaterTp" column="DATA_WATER_TP" jdbcType="VARCHAR"/>
<result property="dataWaterTn" column="DATA_WATER_TN" jdbcType="VARCHAR"/>
<!-- <result property="dataWaterCod" column="DATA_WATER_COD" jdbcType="VARCHAR"/>-->
<!-- <result property="dataWaterNh" column="DATA_WATER_NH" jdbcType="VARCHAR"/>-->
<result property="dataWaterCod" column="DATA_WATER_COD" jdbcType="VARCHAR"/>
<result property="dataWaterNh" column="DATA_WATER_NH" jdbcType="VARCHAR"/>
<result property="dataWaterNo" column="DATA_WATER_NO" jdbcType="VARCHAR"/>
<result property="dataDateTime" column="DATA_DATE_TIME" />
<result property="deployCode" column="DEPLOY_CODE" />

View File

@ -27,6 +27,7 @@ public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl<SurvTransda
survTransdataOrientwaterVo.setDataWaterNo("3.7629");
survTransdataOrientwaterVo.setDataWaterTp("1.0061");
survTransdataOrientwaterVo.setDataWaterTn("2.0000");
survTransdataOrientwaterVo.setDataWaterCod("499.1000");
survTransdataOrientwaterVo.setDataDateTime(LocalDateTime.now());
survTransdataOrientwaterVo.setDeployCode(deployCode);
}

View File

@ -43,4 +43,49 @@ public class EntityFieldUtil {
}
return null;
}
public static boolean setFieldValue(Object obj, String fieldName, Object value) {
try {
Class<?> clazz = obj.getClass();
Field field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
field.set(obj, value);
}catch (NoSuchFieldException | IllegalAccessException e){
// e.printStackTrace();
return false;
}
return true;
}
/**
* 根据字段名称获取实体对象的字段值带类型转换
* @param entity 实体对象
* @param fieldName 字段名称
* @param clazz 目标类型
* @return 转换后的字段值
*/
@SuppressWarnings("unchecked")
public static <T> T getFieldValue(Object entity, String fieldName, Class<T> clazz) {
Object value = getFieldValue(entity, fieldName);
if (value == null) {
return null;
}
if (clazz.isInstance(value)) {
return (T) value;
}
// 简单的类型转换可根据需要扩展
try {
if (clazz == String.class) {
return (T) String.valueOf(value);
}
// 可以添加更多类型转换逻辑
} catch (Exception e) {
throw new RuntimeException("类型转换失败: " + e.getMessage(), e);
}
throw new ClassCastException("无法将 " + value.getClass() + " 转换为 " + clazz);
}
}

View File

@ -40,10 +40,10 @@ public class SurvTransdataLivestockwaterVo implements Serializable {
@Excel(name = "总氮", width = 15)
@ApiModelProperty(value = "总氮")
private String dataWaterTn;
// /**硝态氮*/
// @Excel(name = "硝态氮", width = 15)
// @ApiModelProperty(value = "硝态氮")
// private String dataWaterNo;
/**硝态氮*/
@Excel(name = "硝态氮", width = 15)
@ApiModelProperty(value = "硝态氮")
private String dataWaterNo;
/**氨氮*/
@Excel(name = "氨氮", width = 15)
@ApiModelProperty(value = "氨氮")

View File

@ -41,11 +41,11 @@ public class SurvTransdataOrientwaterVo implements Serializable {
@Excel(name = "总氮", width = 15)
@ApiModelProperty(value = "总氮")
private String dataWaterTn;
// /**氨氮*/
// @Excel(name = "氨氮", width = 15)
// @ApiModelProperty(value = "氨氮")
// private String dataWaterNh;
// /**化学需氧量*/
/**氨氮*/
@Excel(name = "氨氮", width = 15)
@ApiModelProperty(value = "氨氮")
private String dataWaterNh;
/**化学需氧量*/
@Excel(name = "化学需氧量", width = 15)
@ApiModelProperty(value = "化学需氧量")
private String dataWaterCod;

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.vo.SurvTransdataLivestockwaterVo;
import org.jeecg.common.vo.SurvTransdataOrientwaterVo;
@Data
public class ConstructLive {
private SurvStationInfo survStationInfo;
private SurvDeviceDeploy deploy;
private SurvTransdataLivestockwaterVo transdataLivestockwaterVo;
}

View File

@ -0,0 +1,13 @@
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.vo.SurvTransdataOrientwaterVo;
@Data
public class ConstructOrient {
private SurvStationInfo survStationInfo;
private SurvDeviceDeploy deploy;
private SurvTransdataOrientwaterVo transdataOrientwaterVo;
}

View File

@ -0,0 +1,13 @@
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.vo.SurvTransdataLivestockwaterVo;
import org.jeecg.common.vo.SurvTransdataStinkVo;
@Data
public class ConstructVocs {
private SurvDeviceDeploy deploy;
private SurvTransdataStinkVo survTransdataStinkVo;
}