lihui007 пре 3 година
родитељ
комит
0538c1d162

+ 3 - 8
sms_water/src/main/java/com/huaxu/controller/DayMonthYearReportController.java

@@ -67,14 +67,9 @@ public class DayMonthYearReportController {
     @ResponseBody
     public AjaxMessage<Pagination<ReportDto>> getReportBySceneIdsNews(@RequestBody ReportQueryDto queryDto) {
         IPage<ReportDto> iPage = new Page<>(queryDto.getPageNum(), queryDto.getPageSize());
-        try {
-            iPage = reportService.getReportBySceneIdsNew(iPage, queryDto);
-            Pagination<ReportDto> pages = new Pagination<>(iPage);
-            return new AjaxMessage<>(ResultStatus.OK,pages);
-        } catch ( Exception e) {
-            e.printStackTrace();
-        }
-        return new AjaxMessage<>(ResultStatus.ERROR_500);
+        iPage = reportService.getReportBySceneIdsNew(iPage, queryDto);
+        Pagination<ReportDto> pages = new Pagination<>(iPage);
+        return new AjaxMessage<>(ResultStatus.OK,pages);
     }
 
     @ApiOperation(value = "按设备统计压力及流量年月日统计报表")

+ 5 - 5
sms_water/src/main/java/com/huaxu/rabbitmq/ReportWaterPumpStateHandler.java

@@ -108,15 +108,15 @@ public class ReportWaterPumpStateHandler {
      *           -> 00:28-00:30  停止时间
      *           -> 00:30-null   运行时间
     * @Date 14:08 2021/4/21
-    * @Param [md5Query :查询条件, monitorDataEntity, valueEntity, inserList :需要插入的数据集合, stateValue:泵站状态,receiveDateTime:上报数据的时间]
+    * @Param [md5Query :查询条件, monitorDataEntity, valueEntity, insertList :需要插入的数据集合, stateValue:泵站状态,receiveDateTime:上报数据的时间]
     * @return
     **/
     private void addOrUpdate(String md5Query , MonitorDataEntity monitorDataEntity,
-                                  MonitorDataValueEntity valueEntity ,List<ReportWaterPumpStateEntity> inserList,
+                                  MonitorDataValueEntity valueEntity ,List<ReportWaterPumpStateEntity> insertList,
                                   int stateValue, Date receiveDateTime){
         ReportWaterPumpStateEntity stateEntity = reportWaterPumpStateMapper.findReportWaterPumpState(md5Query);
         if (stateEntity == null) {
-            inserList.add(getReportWaterPumpStateEntity(monitorDataEntity, valueEntity, receiveDateTime, stateValue));
+            insertList.add(getReportWaterPumpStateEntity(monitorDataEntity, valueEntity, receiveDateTime, stateValue));
             return;
         }
         Date beginTime  = null;
@@ -127,7 +127,7 @@ public class ReportWaterPumpStateHandler {
         if (day != 0) {
             beginTime  = day == 1 ? parseDate(receiveDateTime, "00:00:00") : receiveDateTime;
             reportWaterPumpStateMapper.updateReportWaterPumpState(stateEntity.getId(), parseDate(stateEntity.getStateBeginTime(), "23:59:59"), new Date());
-            inserList.add(getReportWaterPumpStateEntity(monitorDataEntity, valueEntity, beginTime, stateValue));
+            insertList.add(getReportWaterPumpStateEntity(monitorDataEntity, valueEntity, beginTime, stateValue));
             return;
         }
         // 同一个状态的数据
@@ -135,7 +135,7 @@ public class ReportWaterPumpStateHandler {
             return;
         }
         reportWaterPumpStateMapper.updateReportWaterPumpState(stateEntity.getId(), receiveDateTime, new Date());
-        inserList.add(getReportWaterPumpStateEntity(monitorDataEntity, valueEntity, receiveDateTime, stateValue));
+        insertList.add(getReportWaterPumpStateEntity(monitorDataEntity, valueEntity, receiveDateTime, stateValue));
     }
 
 

+ 3 - 0
sms_water/src/main/java/com/huaxu/service/DayReportService.java

@@ -137,6 +137,9 @@ public class DayReportService extends AbstractReportService<DayReportMapper, Day
             if (reportDtos.get(i).getHour().equals(item.getHour()))
                 index = i;
         }
+        if (index == -1) {
+            return;
+        }
         Double power = reportDtos!=null&&reportDtos.get(index)!=null?reportDtos.get(index).getPowerUsage():0;
         Double water = reportDtos!=null&&reportDtos.get(index)!=null?reportDtos.get(index).getIntakeWaterUsage():0;
         Double yieldWaterUsage = reportDtos!=null&&reportDtos.get(index)!=null? reportDtos.get(index).getYieldWaterUsage():0;

+ 3 - 0
sms_water/src/main/java/com/huaxu/service/MonthReportService.java

@@ -136,6 +136,9 @@ public class MonthReportService extends AbstractReportService<MonthReportMapper,
             if (reportDtos.get(i).getDay().equals(item.getDay()))
                 index = i;
         }
+        if (index == -1){
+            return;
+        }
         Double power = reportDtos!=null&&reportDtos.get(index)!=null?reportDtos.get(index).getPowerUsage():0;
         Double water = reportDtos!=null&&reportDtos.get(index)!=null?reportDtos.get(index).getIntakeWaterUsage():0;
         Double yieldWaterUsage = reportDtos!=null&&reportDtos.get(index)!=null? reportDtos.get(index).getYieldWaterUsage():0;

+ 8 - 16
sms_water/src/main/java/com/huaxu/service/YearReportService.java

@@ -130,13 +130,18 @@ public class YearReportService extends AbstractReportService<YearReportMapper, Y
     //计算固定的参数项
     @Override
     public void calcUsage(ReportDto item, List<ReportDto> reportDtos) {
-        if(item==null||reportDtos.size()==0)
+        if (item == null || reportDtos.size()==0 ) {
             return;
-        //固定参数项
+        }
+        // 固定参数项
         int index = -1;
         for (int i = 0; i < reportDtos.size(); i++) {
-            if (reportDtos.get(i).getMonth().equals(item.getMonth()))
+            if (reportDtos.get(i).getMonth().equals(item.getMonth())){
                 index = i;
+            }
+        }
+        if (index == -1) {
+            return;
         }
         Double power = reportDtos!=null&&reportDtos.get(index)!=null?reportDtos.get(index).getPowerUsage():0;
         Double water = reportDtos!=null&&reportDtos.get(index)!=null?reportDtos.get(index).getIntakeWaterUsage():0;
@@ -151,19 +156,6 @@ public class YearReportService extends AbstractReportService<YearReportMapper, Y
             item.setYieldWaterUsage(yieldWaterUsage);
         }
         item.setDrugUsage(reportDtos!=null&&reportDtos.get(index)!=null?reportDtos.get(index).getDrugUsage():0);
-//        if (index != -1) {
-//            if ((index + 2) <= reportDtos.size()) {
-//                item.setYieldWaterUsage(reportDtos.get(index).getYieldWaterUsage() - reportDtos.get(index + 1).getYieldWaterUsage());
-//                item.setIntakeWaterUsage(reportDtos.get(index).getIntakeWaterUsage() - reportDtos.get(index + 1).getIntakeWaterUsage());
-//                item.setPowerUsage(reportDtos.get(index).getPowerUsage() - reportDtos.get(index + 1).getPowerUsage());
-//                item.setDrugUsage(reportDtos.get(index).getDrugUsage() - reportDtos.get(index + 1).getDrugUsage());
-//            } else {
-//                item.setYieldWaterUsage(0d);
-//                item.setIntakeWaterUsage(0d);
-//                item.setPowerUsage(0d);
-//                item.setDrugUsage(0d);
-//            }
-//        }
     }
 
 

+ 43 - 5
sms_water/src/main/java/com/huaxu/service/impl/MonitorDataReportServiceImpl.java

@@ -361,20 +361,58 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
                             maxValue=12;
                         }
                         for(int i=0;i<maxValue;i++){
-                            if ( i == monitorDataChartReportValueDtos.size() || !monitorDataChartReportValueDtos.get(i).getDateLabel().equals(i+growingBase)){
+                            if(i == monitorDataChartReportValueDtos.size() || !monitorDataChartReportValueDtos.get(i).getDateLabel().equals(i+growingBase)){
                                 MonitorDataChartReportValueDto monitorDataChartReportValueDto = new MonitorDataChartReportValueDto();
                                 monitorDataChartReportValueDto.setData(0.0);
-                                LocalDateTime dateTime = localDateTime.now();
-                                setDateStringLabel(localDateTime, dateTime, i, monitorDataChartReportValueDto, type, true);
+                                LocalDateTime dateTime=localDateTime.now();
+                                if(type != null && type ==3){
+                                    dateTime= localDateTime.plusHours(i);
+                                    monitorDataChartReportValueDto.setDateStringLabel(
+                                            dateTime.getYear()+"-"+
+                                                    String.format("%02d",dateTime.getMonthValue())+"-"+
+                                                    String.format("%02d",dateTime.getDayOfMonth())+" "+
+                                                    String.format("%02d",dateTime.getHour())+":00");
+                                }
+                                if(type != null && type ==2){
+                                    dateTime= localDateTime.plusDays(i);
+                                    monitorDataChartReportValueDto.setDateStringLabel(
+                                            dateTime.getYear()+"-"+
+                                                    String.format("%02d",dateTime.getMonthValue())+"-"+
+                                                    String.format("%02d",dateTime.getDayOfMonth()));
+                                }
+                                if(type != null && type ==1){
+                                    dateTime= localDateTime.plusMonths(i);
+                                    monitorDataChartReportValueDto.setDateStringLabel(
+                                            dateTime.getYear()+"-"+
+                                                    String.format("%02d",dateTime.getMonthValue()));
+                                }
                                 monitorDataChartReportValueDto.setDate(dateTime);
+
                                 monitorDataChartReportValueDto.setDateLabel(i+growingBase);
                                 monitorDataChartReportValueDto.setMonitorData("");
                                 monitorDataChartReportValueDtos.add(i,monitorDataChartReportValueDto);
-                            } else {
+                            }else{
                                 MonitorDataChartReportValueDto monitorDataChartReportValueDto =monitorDataChartReportValueDtos.get(i);
                                 monitorDataChartReportValueDto.setMonitorData(monitorDataChartReportValueDto.getData()+""+unit);
                                 LocalDateTime dateTime = monitorDataChartReportValueDto.getDate();
-                                setDateStringLabel(localDateTime, dateTime, i , monitorDataChartReportValueDto, type, false);
+                                if(type != null && type ==3){
+                                    monitorDataChartReportValueDto.setDateStringLabel(
+                                            dateTime.getYear()+"-"+
+                                                    String.format("%02d",dateTime.getMonthValue())+"-"+
+                                                    String.format("%02d",dateTime.getDayOfMonth())+" "+
+                                                    String.format("%02d",dateTime.getHour())+":00");
+                                }
+                                if(type != null && type ==2){
+                                    monitorDataChartReportValueDto.setDateStringLabel(
+                                            dateTime.getYear()+"-"+
+                                                    String.format("%02d",dateTime.getMonthValue())+"-"+
+                                                    String.format("%02d",dateTime.getDayOfMonth()));
+                                }
+                                if(type != null && type ==1){
+                                    monitorDataChartReportValueDto.setDateStringLabel(
+                                            dateTime.getYear()+"-"+
+                                                    String.format("%02d",dateTime.getMonthValue()));
+                                }
                             }
                         }
                     }