From 849d1bf56459b5ab1befa7337fe34068f56fbb3e Mon Sep 17 00:00:00 2001 From: zy <82248909@qq.com> Date: Thu, 20 Nov 2025 10:38:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=A6=96=E9=A1=B5=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BigScreenController.java | 72 ++++++++++--------- .../enums/ScreenIndexSummaryEnum.java | 53 ++++++++++++++ .../statistic/ScreenIndexSummaryDetailVo.java | 21 ++++++ .../vo/statistic/ScreenIndexSummaryVo.java | 10 +++ .../common/vo/statistic/ScreenSummaryVo.java | 17 +++++ 5 files changed, 140 insertions(+), 33 deletions(-) create mode 100644 zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/ScreenIndexSummaryEnum.java create mode 100644 zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryDetailVo.java create mode 100644 zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryVo.java create mode 100644 zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenSummaryVo.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 58d4e04..9c3f4d3 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 @@ -12,11 +12,14 @@ import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.IotConstants; import org.jeecg.common.constant.PollutionConstants; +import org.jeecg.common.constant.enums.ScreenIndexSummaryEnum; import org.jeecg.common.entity.*; import org.jeecg.common.constant.enums.PollutionEnum; import org.jeecg.common.util.R; import org.jeecg.common.util.oConvertUtils; 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.utils.Iotutils; import org.jeecg.modules.appmana.utils.YSUtils; @@ -527,24 +530,24 @@ public class BigScreenController { @PostMapping("/getIndexSummry") @ApiOperation("大屏首页统计") - public Result getIndexSummry (@RequestParam(value = "stationCode",required = false)String stationCode){ - - List stationList = survStationInfoService.getAllStationAndDevice(stationCode,"","token"); + public Result> getIndexSummry (@RequestBody ScreenSummaryVo screenSummaryVo){ + List results = new ArrayList<>(); + List stationList = survStationInfoService.getAllStationAndDevice(screenSummaryVo.getStationCode(),"","token"); //补充最新数据进入 - JSONArray returnArrs= new JSONArray(); +// JSONArray returnArrs= new JSONArray(); Integer intYear = LocalDateTime.now().getYear(); String curYear = String.valueOf(intYear); String lastYear = String.valueOf(intYear-1); //计算历史时间段 Integer curMonth = LocalDateTime.now().getMonth().getValue(); //共需回溯六个月的统计,所以计算是否需要往年数据 - curMonth=curMonth-1;//不返回本月的统计,从上个月开始 +// curMonth=curMonth-1;//不返回本月的统计,从上个月开始 //计算完整的时间串 List wholeTime = new ArrayList<>(); for (Integer i = 1; i <= curMonth; i++) { wholeTime.add(curYear+"-"+String.format("%02d", i)); } - Integer lastYearMonth = 6 -curMonth; + Integer lastYearMonth = 12 -curMonth; Boolean isNeedLastYear = Boolean.FALSE; if(lastYearMonth>0){ isNeedLastYear = Boolean.TRUE; @@ -560,6 +563,7 @@ public class BigScreenController { if(stationList!=null&&stationList.size()>0){ // Map> deviceMap = new HashMap<>(); for (SurvStationInfo survStationInfo : stationList) { + ScreenIndexSummaryDetailVo screenIndexSummaryDetailVo = new ScreenIndexSummaryDetailVo(); if(survStationInfo.getDeviceList()!=null&&survStationInfo.getDeviceList().size()>0){ List stationDeviceList = new ArrayList<>(); List airList = new ArrayList<>(); @@ -640,18 +644,20 @@ public class BigScreenController { avgNH = lastavgNH; avgCOD = lastavgCOD; } - StationSummry stationSummry =new StationSummry(); - stationSummry.setTNSummry(avgTN); - stationSummry.setTPSummry(avgTP); - stationSummry.setNOSummry(avgNO); +// StationSummry stationSummry =new StationSummry(); + LinkedHashMap> maps = new LinkedHashMap<>(); + maps.put(ScreenIndexSummaryEnum.TNSummry.getDesc(),avgTN); + maps.put(ScreenIndexSummaryEnum.TPSummry.getDesc(),avgTP); + maps.put(ScreenIndexSummaryEnum.NOSummry.getDesc(),avgNO); + maps.put(ScreenIndexSummaryEnum.CODSummry.getDesc(),avgCOD); + maps.put(ScreenIndexSummaryEnum.NHSummry.getDesc(),avgNH); - stationSummry.setCODSummry(avgNH); - stationSummry.setNHSummry(avgCOD); - stationSummry.setDateStr(wholeTime); - stationSummry.setGroupId(survStationInfo.getGroupId()); - stationSummry.setGroupName(survStationInfo.getGroupName()); - stationSummry.setStationName(survStationInfo.getStationName()); - returnArrs.add(JSONObject.parseObject(JSONObject.toJSONString(stationSummry, SerializerFeature.WriteNullStringAsEmpty))); + screenIndexSummaryDetailVo.setDatas(maps); + screenIndexSummaryDetailVo.setDateStr(wholeTime); + screenIndexSummaryDetailVo.setGroupId(survStationInfo.getGroupId()); + screenIndexSummaryDetailVo.setGroupName(survStationInfo.getGroupName()); + screenIndexSummaryDetailVo.setStationName(survStationInfo.getStationName()); + results.add(screenIndexSummaryDetailVo); } if(liveList.size()>0){ @@ -703,28 +709,28 @@ public class BigScreenController { avgCOD = lastavgCOD; avgNO = lastavgNO; } + LinkedHashMap> maps = new LinkedHashMap<>(); - StationSummry stationSummry =new StationSummry(); - stationSummry.setTNSummry(avgTN); - stationSummry.setTPSummry(avgTP); - stationSummry.setNHSummry(avgNH); - stationSummry.setCODSummry(avgCOD); + maps.put(ScreenIndexSummaryEnum.TNSummry.getDesc(),avgTN); + maps.put(ScreenIndexSummaryEnum.TPSummry.getDesc(),avgTP); + maps.put(ScreenIndexSummaryEnum.NOSummry.getDesc(),avgNO); + maps.put(ScreenIndexSummaryEnum.CODSummry.getDesc(),avgCOD); + maps.put(ScreenIndexSummaryEnum.NHSummry.getDesc(),avgNH); - stationSummry.setNOSummry(avgNO); - stationSummry.setDateStr(wholeTime); - - stationSummry.setGroupId(survStationInfo.getGroupId()); - stationSummry.setGroupName(survStationInfo.getGroupName()); - stationSummry.setStationName(survStationInfo.getStationName()); - returnArrs.add(JSONObject.parseObject(JSONObject.toJSONString(stationSummry, SerializerFeature.WriteNullStringAsEmpty))); + screenIndexSummaryDetailVo.setDatas(maps); + screenIndexSummaryDetailVo.setDateStr(wholeTime); + screenIndexSummaryDetailVo.setGroupId(survStationInfo.getGroupId()); + screenIndexSummaryDetailVo.setGroupName(survStationInfo.getGroupName()); + screenIndexSummaryDetailVo.setStationName(survStationInfo.getStationName()); + results.add(screenIndexSummaryDetailVo); } } } } - JSONObject datajob = new JSONObject(); - datajob.put("dataStr",wholeTime); - returnArrs.add(datajob); - return Result.ok(returnArrs); +// JSONObject datajob = new JSONObject(); +// datajob.put("dataStr",wholeTime); +// returnArrs.add(datajob); + return Result.ok(results); } 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 new file mode 100644 index 0000000..6255c89 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/constant/enums/ScreenIndexSummaryEnum.java @@ -0,0 +1,53 @@ +package org.jeecg.common.constant.enums; + + +/** + * 大屏首页统计枚举 + */ +public enum ScreenIndexSummaryEnum { + TPSummry("TPSummry","总磷"), + TNSummry("TNSummry","总氮"), + NHSummry("NHSummry","氨氮"), + NOSummry("NOSummry","硝态氮"), + CODSummry("CODSummry","化学需氧量"), + OTHER("other","其他") + ; + + ScreenIndexSummaryEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + + private String code; + private String desc; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } + + /** + * 根据type获取枚举 + * + * @return + */ + public static ScreenIndexSummaryEnum valueOfCode(String code) { + for (ScreenIndexSummaryEnum e : ScreenIndexSummaryEnum.values()) { + if (e.getCode().equals(code)) { + return e; + } + } + return OTHER; + } +} \ No newline at end of file diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryDetailVo.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryDetailVo.java new file mode 100644 index 0000000..9aa01fb --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryDetailVo.java @@ -0,0 +1,21 @@ +package org.jeecg.common.vo.statistic; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +import java.util.LinkedHashMap; +import java.util.List; + +@Data +public class ScreenIndexSummaryDetailVo { + @JSONField(name = "datas") + private LinkedHashMap> datas; + @JSONField(name = "dateStr") + private List dateStr; + @JSONField(name = "groupId") + private String groupId; + @JSONField(name = "groupName") + private String groupName; + @JSONField(name = "stationName") + private String stationName; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryVo.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryVo.java new file mode 100644 index 0000000..a0ca954 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenIndexSummaryVo.java @@ -0,0 +1,10 @@ +package org.jeecg.common.vo.statistic; + +import lombok.Data; + +import java.util.List; + +@Data +public class ScreenIndexSummaryVo { + private List details; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenSummaryVo.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenSummaryVo.java new file mode 100644 index 0000000..fba173a --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/vo/statistic/ScreenSummaryVo.java @@ -0,0 +1,17 @@ +package org.jeecg.common.vo.statistic; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ScreenSummaryVo { + @ApiModelProperty("站点编号") + private String stationCode; + @ApiModelProperty("开始时间") + private String startTime; + @ApiModelProperty("结束时间") + private String endTime; + @ApiModelProperty("统计模式,dayhours=日小时统计,monthDays=月每日统计,yearMonth=年每月统计") + private String summrayMode; + +}