Browse Source

Merge remote-tracking branch 'origin/20210223' into 20210223

yuejiaying 4 years ago
parent
commit
8c6550ecfd

+ 20 - 1
sms_water/src/main/java/com/huaxu/controller/ComdisplayMapController.java

@@ -42,7 +42,7 @@ public class ComdisplayMapController{
     @ApiOperation(value = "综合展示图片")
     @RequestMapping(value = "addComDisImage", method = RequestMethod.POST)
     @ResponseBody
-    public AjaxMessage<String> addUserPhoto(@ApiParam(value = "综合展示图片", required = true) @RequestParam("avatarfile") MultipartFile file) {
+    public AjaxMessage<String> addComDisImage(@ApiParam(value = "综合展示图片", required = true) @RequestParam("avatarfile") MultipartFile file) {
         String avatar = "";
         if (!file.isEmpty()) {
             try {
@@ -53,6 +53,25 @@ public class ComdisplayMapController{
         }
         return new AjaxMessage<>(ResultStatus.OK, avatar);
     }
+    /**
+     * 新增
+     */
+    @ApiOperation(value = "综合展示图片")
+    @RequestMapping(value = "addComDisImages", method = RequestMethod.POST)
+    @ResponseBody
+    public AjaxMessage<String> addComDisImages(@ApiParam(value = "综合展示图片", required = true) @RequestParam("avatarfile")MultipartFile[] files) {
+        String avatar = "";
+        for (MultipartFile file : files) {
+            if (!file.isEmpty()) {
+                try {
+                    avatar += (FileUploadUtil.uploadWeb(baseDir, file)+",");
+                } catch (IOException e) {
+                    return new AjaxMessage<>(ResultStatus.ERROR, e.getMessage());
+                }
+            }
+        }
+        return new AjaxMessage<>(ResultStatus.OK, avatar);
+    }
 
     /**
      * 新增

+ 22 - 16
sms_water/src/main/java/com/huaxu/service/impl/MonitorDataServiceImpl.java

@@ -167,24 +167,30 @@ public class MonitorDataServiceImpl implements MonitorDataService , Initializing
         //保存日报表数据
         saveReportDataByHour(hourDatas, lastHourDataMap);
 
-        //设备id
-        List<Integer> deviceIds = lastHourDataMap.values().stream().map(d -> d.getDeviceId().intValue()).distinct().collect(Collectors.toList());
         //补数据,前24小时没有统计数据的
-        if(deviceIds.size()>0){
+        List<Integer> deviceIds ;
+        if(lastHourDataMap.values().size()>0){
             for(int i=1;i<24;i++){
-                dateTime = LocalDateTime.now().plusHours(-i);
-                //前几小时有统计数据的设备id
-                List<Integer> deviceIdsIsExit = monitorDataMapper.checkReportDataExit(dateTime.getYear(),dateTime.getMonthValue(),dateTime.getDayOfMonth(),dateTime.getHour(),deviceIds);
-                //需要补充数据的设备
-                deviceIds = deviceIds.stream().filter(deviceId -> !deviceIdsIsExit.contains(deviceId)).collect(Collectors.toList());
-
-                //查询需要补充数据的设备数据信息
-                hourDatas = new ArrayList<>(lastHourDataMap.values());
-
-                lastHourDatas = getMonitorDataGroupByHour(dateTime.plusHours(-i),deviceIds);
-                lastHourDataMap = lastHourDatas.stream().collect(Collectors.toMap(DayReportEntity::getMapkey, a -> a,(k1, k2)->k1));
-                //保存日报表数据
-                saveReportDataByHour(hourDatas, lastHourDataMap);
+                dateTime = dateTime.plusHours(-1);
+                //设备id
+                deviceIds = lastHourDataMap.values().stream().map(d -> d.getDeviceId().intValue()).distinct().collect(Collectors.toList());
+                if(deviceIds.size()>0){
+
+                    //前几小时有统计数据的设备id
+                    List<Integer> deviceIdsIsExit = monitorDataMapper.checkReportDataExit(dateTime.getYear(),dateTime.getMonthValue(),dateTime.getDayOfMonth(),dateTime.getHour(),deviceIds);
+                    //需要补充数据的设备
+                    deviceIds = deviceIds.stream().filter(deviceId -> !deviceIdsIsExit.contains(deviceId)).collect(Collectors.toList());
+                    if(deviceIds.size()>0) {
+
+                        //查询需要补充数据的设备数据信息
+                        hourDatas = new ArrayList<>(lastHourDataMap.values());
+
+                        lastHourDatas = getMonitorDataGroupByHour(dateTime.plusHours(-1), deviceIds);
+                        lastHourDataMap = lastHourDatas.stream().collect(Collectors.toMap(DayReportEntity::getMapkey, a -> a, (k1, k2) -> k1));
+                        //保存日报表数据
+                        saveReportDataByHour(hourDatas, lastHourDataMap);
+                    }
+                }
             }
         }