Browse Source

'优化数据中心-设备历史数据导出接口,增加设备名称字段'

james 1 year ago
parent
commit
b0a64dd8d7

+ 48 - 32
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DmpDeviceServiceImpl.java

@@ -256,50 +256,66 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
             List<String> dateList = new ArrayList<>();
             List<String> deviceIdList = new ArrayList<>();
             for(int i=0;i<list1.size();i++){
-                if(!dateList.contains(list1.get(i).getDataDate())){
-                    dateList.add(list1.get(i).getDataDate());
+                if(!dateList.contains(list1.get(i).getDataDate().substring(0,13))){
+                    dateList.add(list1.get(i).getDataDate().substring(0,13));
                 }
                 if(!deviceIdList.contains(list1.get(i).getDeviceId())){
                     deviceIdList.add(list1.get(i).getDeviceId());
                 }
             }
             if(CollectionUtils.isNotEmpty(dateList) && CollectionUtils.isNotEmpty(deviceIdList)){
-                for(int i=0;i<deviceIdList.size();i++){
-                    for(int j=0;j<dateList.size();j++){
+                LambdaQueryWrapper<DmpDevice> queryWrapper = Wrappers.lambdaQuery();
+                queryWrapper.eq(DmpDevice::getDeleteFlag,0)
+                        .eq(DmpDevice::getDeviceType,deviceType)
+                        .in(DmpDevice::getDeviceId,deviceIdList);
+                List<DmpDevice> list2 = this.list(queryWrapper);
+                if(CollectionUtils.isNotEmpty(list2)){
+                    for(int i=0;i<deviceIdList.size();i++){
                         DeviceHistoryDataExportVO responseVO = new DeviceHistoryDataExportVO();
-                        responseVO.setDeviceId(deviceIdList.get(i));
-                        responseVO.setDataDate(dateList.get(j));
-                        for(int k=0;k<list1.size();k++){
-                            if(deviceIdList.get(i).equals(list1.get(k).getDeviceId()) && dateList.get(j).equals(list1.get(k).getDataDate())){
-                                if(list1.get(k).getAttributeName().equals("wd")){
-                                    responseVO.setWd(list1.get(k).getAttributeData());
-                                }
-                                if(list1.get(k).getAttributeName().equals("sd")){
-                                    responseVO.setSd(list1.get(k).getAttributeData());
-                                }
-                                if(list1.get(k).getAttributeName().equals("co2")){
-                                    responseVO.setCo2(list1.get(k).getAttributeData());
-                                }
-                                if(list1.get(k).getAttributeName().equals("jq")){
-                                    responseVO.setJq(list1.get(k).getAttributeData());
-                                }
-                                if(list1.get(k).getAttributeName().equals("pm2.5")){
-                                    responseVO.setPm2_5(list1.get(k).getAttributeData());
-                                }
-                                if(list1.get(k).getAttributeName().equals("tvoc")){
-                                    responseVO.setTvoc(list1.get(k).getAttributeData());
-                                }
-                                if(list1.get(k).getAttributeName().equals("pm1.0")){
-                                    responseVO.setPm1_0(list1.get(k).getAttributeData());
-                                }
-                                if(list1.get(k).getAttributeName().equals("pm10")){
-                                    responseVO.setPm10(list1.get(k).getAttributeData());
+                        for(int h=0;h<list2.size();h++){
+                            if(deviceIdList.get(i).equals(list2.get(h).getDeviceId())){
+                                String deviceName = list2.get(h).getDeviceName();
+                                responseVO.setDeviceName(deviceName);
+                                break;
+                            }
+                        }
+
+                        for(int j=0;j<dateList.size();j++){
+                            responseVO.setDataDate(dateList.get(j)+":00:00");
+                            for(int k=0;k<list1.size();k++){
+                                if(deviceIdList.get(i).equals(list1.get(k).getDeviceId()) && dateList.get(j).equals(list1.get(k).getDataDate().substring(0,13))){
+                                    if(list1.get(k).getAttributeName().equals("wd")){
+                                        responseVO.setWd(list1.get(k).getAttributeData());
+                                    }
+                                    if(list1.get(k).getAttributeName().equals("sd")){
+                                        responseVO.setSd(list1.get(k).getAttributeData());
+                                    }
+                                    if(list1.get(k).getAttributeName().equals("co2")){
+                                        responseVO.setCo2(list1.get(k).getAttributeData());
+                                    }
+                                    if(list1.get(k).getAttributeName().equals("jq")){
+                                        responseVO.setJq(list1.get(k).getAttributeData());
+                                    }
+                                    if(list1.get(k).getAttributeName().equals("pm2.5")){
+                                        responseVO.setPm2_5(list1.get(k).getAttributeData());
+                                    }
+                                    if(list1.get(k).getAttributeName().equals("tvoc")){
+                                        responseVO.setTvoc(list1.get(k).getAttributeData());
+                                    }
+                                    if(list1.get(k).getAttributeName().equals("pm1.0")){
+                                        responseVO.setPm1_0(list1.get(k).getAttributeData());
+                                    }
+                                    if(list1.get(k).getAttributeName().equals("pm10")){
+                                        responseVO.setPm10(list1.get(k).getAttributeData());
+                                    }
                                 }
                             }
+                            list.add(responseVO);
                         }
-                        list.add(responseVO);
                     }
                 }
+
+
             }
         }
 

+ 3 - 3
service-park/service-park-biz/src/main/java/com/usky/park/service/vo/DeviceHistoryDataExportVO.java

@@ -7,10 +7,10 @@ import lombok.Data;
 public class DeviceHistoryDataExportVO {
 
     /**
-     * 设备Id
+     * 设备名称
      */
-    @Excel(name = "设备Id")
-    private String deviceId;
+    @Excel(name = "设备名称")
+    private String deviceName;
 
     /**
      * 数据时间