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 33e8826..28438f0 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 @@ -544,8 +544,7 @@ public class BigScreenController { public Result> getIndexSummry (@RequestBody ScreenSummaryVo screenSummaryVo){ List results = new ArrayList<>(); List stationList = survStationInfoService.getAllStationAndDevice(screenSummaryVo.getStationCode(),"","token"); - //补充最新数据进入 -// JSONArray returnArrs= new JSONArray(); + Integer intYear = LocalDateTime.now().getYear(); String curYear = String.valueOf(intYear); String lastYear = String.valueOf(intYear-1); @@ -558,7 +557,7 @@ public class BigScreenController { for (Integer i = 1; i <= curMonth; i++) { wholeTime.add(curYear+"-"+String.format("%02d", i)); } - Integer lastYearMonth = 12 -curMonth; + Integer lastYearMonth = 12 - curMonth; Boolean isNeedLastYear = Boolean.FALSE; if(lastYearMonth>0){ isNeedLastYear = Boolean.TRUE; @@ -579,26 +578,45 @@ public class BigScreenController { String startTime = screenSummaryVo.getStartTime(); String endTime = screenSummaryVo.getEndTime(); LocalDateTime startDay = null; + DateTimeFormatter daydtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + DateTimeFormatter monthdtf = DateTimeFormatter.ofPattern("yyyy-MM"); + DateTimeFormatter yeardtf = DateTimeFormatter.ofPattern("yyyy"); if(StringUtils.isBlank(screenSummaryVo.getStartTime())){ if(IotConstants.day_hours.equals(screenSummaryVo.getSummrayMode())){//默认日 - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); startDay = LocalDateTime.of(nowDay.toLocalDate(),LocalTime.MIN); - startTime = startDay.format(dtf); - endTime = LocalDateTime.of(nowDay.toLocalDate(),LocalTime.MAX).withNano(999999000).format(dtf); + startTime = startDay.format(daydtf); + endTime = LocalDateTime.of(nowDay.toLocalDate(),LocalTime.MAX).withNano(999999000).format(daydtf); }else if(IotConstants.month_days.equals(screenSummaryVo.getSummrayMode())){ - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM"); startDay = nowDay.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN); - startTime = startDay.format(dtf); - endTime = nowDay.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX).withNano(999999000).format(dtf); + startTime = startDay.format(monthdtf); + endTime = nowDay.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX).withNano(999999000).format(monthdtf); }else if(IotConstants.year_months.equals(screenSummaryVo.getSummrayMode())){ - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy"); startDay = nowDay.with(TemporalAdjusters.firstDayOfYear()).with(LocalTime.MIN); - startTime = startDay.format(dtf); - endTime = nowDay.with(TemporalAdjusters.lastDayOfYear()).with(LocalTime.MAX).withNano(999999000).format(dtf); + startTime = startDay.format(yeardtf); + endTime = nowDay.with(TemporalAdjusters.lastDayOfYear()).with(LocalTime.MAX).withNano(999999000).format(yeardtf); } }else{ curYear = screenSummaryVo.getStartTime(); + if(IotConstants.year_months.equals(screenSummaryVo.getSummrayMode())){//如果传入时间非本年,重新计算年数据 + if(!curYear.equals(nowDay.format(yeardtf))){ + wholeTime = new ArrayList<>(); + for (Integer i = 1; i <= 12; i++) { + wholeTime.add(curYear+"-"+String.format("%02d", i)); + } + } + } + } + + //使用数据的数量,默认 + int todayDataCounts = 0; + //需要拼接的数量 + int yesterDataCounts = 0; + if(IotConstants.day_hours.equals(screenSummaryVo.getSummrayMode())) {//日需要24数据 + todayDataCounts =24; + }else if(IotConstants.month_days.equals(screenSummaryVo.getSummrayMode())){//月需要数据量 + LocalDate curDateMark = LocalDate.parse(startTime+"-01",daydtf); + todayDataCounts = curDateMark.with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth(); } if(stationList!=null&&stationList.size()>0){ @@ -649,57 +667,9 @@ public class BigScreenController { List avgNH = new ArrayList<>();//填充数据用 List avgCOD = new ArrayList<>();//填充数据用 if(IotConstants.day_hours.equals(screenSummaryVo.getSummrayMode()) || IotConstants.month_days.equals(screenSummaryVo.getSummrayMode())) {//小时、日 - VOWaterSurvIntegrateParam voSurvIntegrateParam = new VOWaterSurvIntegrateParam(); - voSurvIntegrateParam.setDeployIds(orientIdList); - voSurvIntegrateParam.setSummrayMode(screenSummaryVo.getSummrayMode()); - voSurvIntegrateParam.setStartTime(startTime); - voSurvIntegrateParam.setEndTime(endTime); - VOSurvIntegrateResult survIntegrateResult = commonService.WaterIntegrateStatistic(voSurvIntegrateParam); - //数据 - LinkedHashMap> maps = new LinkedHashMap<>(); - LinkedHashMap> survResult = survIntegrateResult.getSurvResult(); - List tnDatas = survResult.get(PollutionEnum.dataWaterTn.getCode()); - List tpDatas = survResult.get(PollutionEnum.dataWaterTp.getCode()); - List noDatas =survResult.get(PollutionEnum.dataWaterNo.getCode()); - List codDatas =survResult.get(PollutionEnum.dataWaterCod.getCode()); - List nhDatas = survResult.get(PollutionEnum.dataWaterNh.getCode()); - if(tnDatas!=null) { - avgTN = tnDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(tpDatas!=null) { - avgTP = tpDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(noDatas!=null) { - avgNO = noDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(codDatas!=null) { - avgCOD = codDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(nhDatas!=null) { - avgNH = nhDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - 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); - - screenIndexSummaryDetailVo.setDatas(maps); - //时间 - screenIndexSummaryDetailVo.setDateStr(survIntegrateResult.getIndexs()); + screenIndexSummaryDetailVo = commonService.processWaterDataSummary(screenSummaryVo,orientIdList,startTime,endTime); }else if(IotConstants.year_months.equals(screenSummaryVo.getSummrayMode())){ screenIndexSummaryDetailVo.setDateStr(wholeTime); - if(curMonth>0) {//如果本年是一月份,则只需要查询去年的 List orientSummry = hisdataOrientwaterService.getMonthSummry(orientList,curYear); for (int i= 0;i lastYearOrientSummry = hisdataOrientwaterService.getMonthSummry(orientList,lastYear); List lastavgTN = new ArrayList<>(); @@ -740,17 +709,17 @@ public class BigScreenController { avgNH = lastavgNH; avgCOD = lastavgCOD; } + + 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); + + screenIndexSummaryDetailVo.setDatas(maps); } -// 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); - - screenIndexSummaryDetailVo.setDatas(maps); screenIndexSummaryDetailVo.setGroupId(survStationInfo.getGroupId()); screenIndexSummaryDetailVo.setGroupName(survStationInfo.getGroupName()); @@ -766,57 +735,9 @@ public class BigScreenController { List avgNO = new ArrayList<>(); //填充数据用 if(IotConstants.day_hours.equals(screenSummaryVo.getSummrayMode()) || IotConstants.month_days.equals(screenSummaryVo.getSummrayMode())) {//小时、日 - VOWaterSurvIntegrateParam voSurvIntegrateParam = new VOWaterSurvIntegrateParam(); - voSurvIntegrateParam.setDeployIds(liveIdList); - voSurvIntegrateParam.setSummrayMode(screenSummaryVo.getSummrayMode()); - voSurvIntegrateParam.setStartTime(startTime); - voSurvIntegrateParam.setEndTime(endTime); - VOSurvIntegrateResult survIntegrateResult = commonService.WaterIntegrateStatistic(voSurvIntegrateParam); - //数据 - LinkedHashMap> maps = new LinkedHashMap<>(); - LinkedHashMap> survResult = survIntegrateResult.getSurvResult(); - List tnDatas = survResult.get(PollutionEnum.dataWaterTn.getCode()); - List tpDatas = survResult.get(PollutionEnum.dataWaterTp.getCode()); - List noDatas =survResult.get(PollutionEnum.dataWaterNo.getCode()); - List codDatas =survResult.get(PollutionEnum.dataWaterCod.getCode()); - List nhDatas = survResult.get(PollutionEnum.dataWaterNh.getCode()); - if(tnDatas!=null) { - avgTN = tnDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(tpDatas!=null) { - avgTP = tpDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(noDatas!=null) { - avgNO = noDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(codDatas!=null) { - avgCOD = codDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - if(nhDatas!=null) { - avgNH = nhDatas.stream() - .map(Double::parseDouble) - .collect(Collectors.toList()); - } - 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); - - screenIndexSummaryDetailVo.setDatas(maps); - //时间 - screenIndexSummaryDetailVo.setDateStr(survIntegrateResult.getIndexs()); + screenIndexSummaryDetailVo = commonService.processWaterDataSummary(screenSummaryVo,liveIdList,startTime,endTime); }else if(IotConstants.year_months.equals(screenSummaryVo.getSummrayMode())) { - screenIndexSummaryDetailVo.setDateStr(wholeTime); - if (curMonth > 0) {//如果本年是一月份,则只需要查询去年的 + screenIndexSummaryDetailVo.setDateStr(wholeTime); List liveSummry = hisdataLivestockwaterService.getMonthSummry(liveList, curYear); for (int i = 0; i < curMonth; i++) { avgTN.add(liveSummry.get(i).getAvgTN()); @@ -826,7 +747,6 @@ public class BigScreenController { avgNO.add(0D); } - } if (isNeedLastYear) { List lastYearSummry = hisdataLivestockwaterService.getMonthSummry(liveList, lastYear); @@ -858,16 +778,18 @@ public class BigScreenController { avgCOD = lastavgCOD; avgNO = lastavgNO; } + + 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); + + screenIndexSummaryDetailVo.setDatas(maps); } - 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); - - screenIndexSummaryDetailVo.setDatas(maps); screenIndexSummaryDetailVo.setGroupId(survStationInfo.getGroupId()); screenIndexSummaryDetailVo.setGroupName(survStationInfo.getGroupName()); diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/IotCommonServiceImpl.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/IotCommonServiceImpl.java index 2519668..d3340d1 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/IotCommonServiceImpl.java +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/IotCommonServiceImpl.java @@ -7,6 +7,7 @@ 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.constant.enums.ScreenIndexSummaryEnum; import org.jeecg.common.entity.ScEquZhibiao; import org.jeecg.common.entity.SurvConfig; import org.jeecg.common.entity.SurvDeviceDeploy; @@ -14,6 +15,8 @@ import org.jeecg.common.iot.common.*; import org.jeecg.common.util.DateTimeRangeUtils; import org.jeecg.common.util.ReflectionUtils; import org.jeecg.common.vo.CommonDataTrans; +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.CommonUtils; import org.jeecg.modules.appmana.utils.Iotutils; @@ -23,6 +26,8 @@ import org.springframework.stereotype.Service; import java.lang.reflect.Field; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -1123,6 +1128,200 @@ public class IotCommonServiceImpl { result.setLiveData(commonDataTransList); return result; } + public ScreenIndexSummaryDetailVo processWaterDataSummary(ScreenSummaryVo screenSummaryVo,List deviceList,String startTime,String endTime){ + ScreenIndexSummaryDetailVo screenIndexSummaryDetailVo = new ScreenIndexSummaryDetailVo(); + List avgTN = new ArrayList<>(); + List avgTP = new ArrayList<>(); + List avgNO = new ArrayList<>(); + List avgNH = new ArrayList<>();//填充数据用 + List avgCOD = new ArrayList<>();//填充数据用 + + VOWaterSurvIntegrateParam voSurvIntegrateParam = new VOWaterSurvIntegrateParam(); + voSurvIntegrateParam.setDeployIds(deviceList); + voSurvIntegrateParam.setSummrayMode(screenSummaryVo.getSummrayMode()); + voSurvIntegrateParam.setStartTime(startTime); + voSurvIntegrateParam.setEndTime(endTime); + VOSurvIntegrateResult survIntegrateResult = WaterIntegrateStatistic(voSurvIntegrateParam); + if(IotConstants.day_hours.equals(screenSummaryVo.getSummrayMode())) { + //处理时间格式 + survIntegrateResult.setIndexs(processTime(survIntegrateResult.getIndexs(),"yyyy-MM-dd HH","H时")); + } + + //数据 + LinkedHashMap> maps = new LinkedHashMap<>(); + LinkedHashMap> survResult = survIntegrateResult.getSurvResult(); + List tnDatas = new ArrayList<>(); + List tpDatas = new ArrayList<>(); + List noDatas = new ArrayList<>(); + List codDatas = new ArrayList<>(); + List nhDatas = new ArrayList<>(); + List timeList = new ArrayList<>(); + LocalDateTime nowDay = LocalDateTime.now(); + DateTimeFormatter daydtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + DateTimeFormatter monthdtf = DateTimeFormatter.ofPattern("yyyy-MM"); + DateTimeFormatter yeardtf = DateTimeFormatter.ofPattern("yyyy"); + + //使用数据的数量,默认 + int todayDataCounts = 0; + //需要拼接的数量 + int yesterDataCounts = 0; + if(IotConstants.day_hours.equals(screenSummaryVo.getSummrayMode())) {//日需要24数据 + todayDataCounts =24; + }else if(IotConstants.month_days.equals(screenSummaryVo.getSummrayMode())){//月需要数据量 + LocalDate curDateMark = LocalDate.parse(startTime+"-01",daydtf); + todayDataCounts = curDateMark.with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth(); + } + + if(IotConstants.day_hours.equals(screenSummaryVo.getSummrayMode())){//检查是否是今天 + if(nowDay.format(daydtf).equals(startTime)){//如果查询是今天,再查询一次昨天,拼接为24小时 + LocalDateTime yesterday = nowDay.minusDays(1); + + todayDataCounts = nowDay.getHour()+1;//0点开始,故+1 + yesterDataCounts = todayDataCounts; + String newTimes = yesterday.format(daydtf); + voSurvIntegrateParam.setStartTime(newTimes); + voSurvIntegrateParam.setEndTime(newTimes); + VOSurvIntegrateResult yesterData = WaterIntegrateStatistic(voSurvIntegrateParam); + LinkedHashMap> yesterResult = yesterData.getSurvResult(); + //处理时间格式 + yesterData.setIndexs(processTime(yesterData.getIndexs(),"yyyy-MM-dd HH","H时")); + List y1 = yesterResult.get(PollutionEnum.dataWaterTn.getCode()); + if(y1!=null){ + tnDatas.addAll(y1.subList(yesterDataCounts,y1.size())); + } + List y2= yesterResult.get(PollutionEnum.dataWaterTp.getCode()); + if(y2!=null){ + tpDatas.addAll(y2.subList(yesterDataCounts,y2.size())); + } + List y3 = yesterResult.get(PollutionEnum.dataWaterNo.getCode()); + if(y3!=null){ + noDatas.addAll(y3.subList(yesterDataCounts,y3.size())); + } + List y4 = yesterResult.get(PollutionEnum.dataWaterCod.getCode()); + if(y4!=null) { + codDatas.addAll(y4.subList(yesterDataCounts,y4.size())); + } + List y5 = yesterResult.get(PollutionEnum.dataWaterNh.getCode()); + if(y5!=null){ + nhDatas.addAll(y5.subList(yesterDataCounts,y5.size())); + } + timeList.addAll(yesterData.getIndexs().subList(yesterDataCounts,yesterData.getIndexs().size())); + } + } else if (IotConstants.month_days.equals(screenSummaryVo.getSummrayMode())){//检查是否是本月 + if(nowDay.format(monthdtf).equals(startTime)){//如果查询是今天,再查询一次昨天,拼接为24小时 + LocalDateTime yesterMonth = nowDay.minusMonths(1); + + todayDataCounts = nowDay.getDayOfMonth(); + yesterDataCounts = todayDataCounts; + String newTimes = yesterMonth.format(monthdtf); + voSurvIntegrateParam.setStartTime(newTimes); + voSurvIntegrateParam.setEndTime(newTimes); + VOSurvIntegrateResult yesterData = WaterIntegrateStatistic(voSurvIntegrateParam); + LinkedHashMap> yesterResult = yesterData.getSurvResult(); + List y1 = yesterResult.get(PollutionEnum.dataWaterTn.getCode()); + if(y1!=null){ + tnDatas.addAll(y1.subList(yesterDataCounts,y1.size())); + } + List y2= yesterResult.get(PollutionEnum.dataWaterTp.getCode()); + if(y2!=null){ + tpDatas.addAll(y2.subList(yesterDataCounts,y2.size())); + } + List y3 = yesterResult.get(PollutionEnum.dataWaterNo.getCode()); + if(y3!=null){ + noDatas.addAll(y3.subList(yesterDataCounts,y3.size())); + } + List y4 = yesterResult.get(PollutionEnum.dataWaterCod.getCode()); + if(y4!=null) { + codDatas.addAll(y4.subList(yesterDataCounts,y4.size())); + } + List y5 = yesterResult.get(PollutionEnum.dataWaterNh.getCode()); + if(y5!=null){ + nhDatas.addAll(y5.subList(yesterDataCounts,y5.size())); + } + timeList.addAll(yesterData.getIndexs().subList(yesterDataCounts,yesterData.getIndexs().size())); + } + } + + timeList.addAll(survIntegrateResult.getIndexs().subList(0,todayDataCounts)); + List t1 = survResult.get(PollutionEnum.dataWaterTn.getCode()); + if(t1!=null){ + tnDatas.addAll(t1.subList(0,todayDataCounts)) ; + } + List t2= survResult.get(PollutionEnum.dataWaterTp.getCode()); + if(t2!=null){ + tpDatas.addAll(t2.subList(0,todayDataCounts)); + } + List t3 = survResult.get(PollutionEnum.dataWaterNo.getCode()); + if(t3!=null){ + noDatas.addAll(t3.subList(0,todayDataCounts)); + } + List t4 = survResult.get(PollutionEnum.dataWaterCod.getCode()); + if(t4!=null) { + codDatas.addAll(t4.subList(0,todayDataCounts)); + } + List t5 = survResult.get(PollutionEnum.dataWaterNh.getCode()); + if(t5!=null){ + nhDatas.addAll(t5.subList(0,todayDataCounts)); + } + + if(!tnDatas.isEmpty()) { + avgTN = tnDatas.stream() + .map(Double::parseDouble) + .collect(Collectors.toList()); + } + if(!tpDatas.isEmpty()) { + avgTP = tpDatas.stream() + .map(Double::parseDouble) + .collect(Collectors.toList()); + } + if(!noDatas.isEmpty()) { + avgNO = noDatas.stream() + .map(Double::parseDouble) + .collect(Collectors.toList()); + } + if(!codDatas.isEmpty()) { + avgCOD = codDatas.stream() + .map(Double::parseDouble) + .collect(Collectors.toList()); + } + if(!nhDatas.isEmpty()) { + avgNH = nhDatas.stream() + .map(Double::parseDouble) + .collect(Collectors.toList()); + } + 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); + + screenIndexSummaryDetailVo.setDatas(maps); + //时间 + screenIndexSummaryDetailVo.setDateStr(timeList); + + return screenIndexSummaryDetailVo; + } + /** + * 统一处理时间格式 + */ + List processTime(List timeList,String timeformat,String transtoformat){ + List result = new ArrayList<>(); + if(timeList!=null && !timeList.isEmpty()){ + SimpleDateFormat s1= new SimpleDateFormat(timeformat); + SimpleDateFormat s2= new SimpleDateFormat(transtoformat); + for (String s : timeList) { + try{ + String newTime = s2.format(s1.parse(s)); + result.add(newTime); + }catch (ParseException e){ + e.printStackTrace(); + continue; + } + + } + } + return result; + } } diff --git a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/util/test.java b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/util/test.java index 6681d3a..e75c666 100644 --- a/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/util/test.java +++ b/zh-module-applet/zh-applet-api/src/main/java/org/jeecg/system/applet/util/test.java @@ -35,12 +35,12 @@ public class test { s1.add("3"); s1.add("4"); s1.add("5"); - List s2 = new ArrayList<>(); - s2.add("1"); - s2.add("2"); - s2.addAll(s1); - s1 = s2; - System.out.println( s1); +// List s2 = new ArrayList<>(); +// s2.add("1"); +// s2.add("2"); +// s2.addAll(s1); +// s1 = s2; + System.out.println( s1.subList(1,s1.size())); } }