Browse Source

增加文件下载 选择时间

hxf 2 years ago
parent
commit
45b63cabf5

+ 2 - 2
neim-biz/src/main/java/com/jiayue/biz/controller/RealTimeDisplayController.java

@@ -141,7 +141,7 @@ public class RealTimeDisplayController extends BaseController {
 
     @Log(title = "测风塔数据文件", businessType = BusinessType.EXPORT)
     @GetMapping("/exportAll")
-    public void exportAll(HttpServletRequest request, HttpServletResponse response, String equipmentId) {
-        windTowerDataParentTableService.exportAll(request, response, equipmentId);
+    public void exportAll(HttpServletRequest request, HttpServletResponse response, String equipmentId,Long startTime,Long endTime) {
+        windTowerDataParentTableService.exportAll(request, response, equipmentId,startTime,endTime);
     }
 }

+ 1 - 1
neim-biz/src/main/java/com/jiayue/biz/service/WindTowerDataParentTableService.java

@@ -93,7 +93,7 @@ public interface WindTowerDataParentTableService extends IService<WindTowerDataP
      */
     void export(HttpServletResponse response, Long startTime, Long endTime, String equipmentId);
 
-    void exportAll(HttpServletRequest request, HttpServletResponse response, String equipmentId);
+    void exportAll(HttpServletRequest request, HttpServletResponse response, String equipmentId,Long startTime,Long endTime);
 
     /**
      * 根据设备编号获取最新一天的数据

+ 23 - 5
neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerDataParentTableServiceImpl.java

@@ -593,6 +593,7 @@ public class WindTowerDataParentTableServiceImpl extends ServiceImpl<WindTowerDa
         map.put("list", maps.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()));
         return map;
     }
+
     //原实时数据查询
     public List<Map<String, Object>> selectByBetweenTimeAndEquipmetIdOld(Date startTime, Date endTime, String equipmentId) {
         List<Entity> windTowerDataParentTables = baseMapper.selectDataByBetweenTimeAndEquipmetId(equipmentId, startTime, endTime);
@@ -641,10 +642,11 @@ public class WindTowerDataParentTableServiceImpl extends ServiceImpl<WindTowerDa
 
     /**
      * 实时数据查询
-     * @param timeBegin 开始时间
-     * @param timeEnd 结束时间
+     *
+     * @param timeBegin   开始时间
+     * @param timeEnd     结束时间
      * @param equipmentId 设备编号
-     * @return List<Map<String, Object>> 实时数据
+     * @return List<Map < String, Object>> 实时数据
      */
     private List<Map<String, Object>> selectByBetweenTimeAndEquipmetId(Date timeBegin, Date timeEnd, String equipmentId) {
         Timestamp startTime = new Timestamp(timeBegin.getTime());
@@ -818,13 +820,29 @@ public class WindTowerDataParentTableServiceImpl extends ServiceImpl<WindTowerDa
      *
      * @param equipmentId
      */
-    public void exportAll(HttpServletRequest request, HttpServletResponse response, String equipmentId) {
+    public void exportAll(HttpServletRequest request, HttpServletResponse response, String equipmentId, Long startTime, Long endTime) {
         try {
             File dataFile = new File(FileUtil.getSystemFilePath() + File.separator + equipmentId);
             File[] files = dataFile.listFiles();
             String zipPath = FileUtil.getSystemFilePath() + File.separator + equipmentId + File.separator + equipmentId + "数据文件.zip";
 
-            List<File> files1 = Arrays.stream(files).filter(file -> file.getName().contains(equipmentId)).collect(Collectors.toList());
+            List<File> files1 = Arrays.stream(files).map(file -> {
+                String name = file.getName();
+                if (name.contains(".rld")) {
+                    String[] rldNameTime = name.split("_");
+                    long time = DateUtil.parse(rldNameTime[1], "yyyy-MM-dd").getTime();
+                    if (time >= startTime && time <= endTime) {
+                        return file;
+                    }
+                } else if (name.contains(".RWD")) {
+                    String rwdNameTime = name.substring(equipmentId.length(), equipmentId.length() + 8);
+                    long time = DateUtil.parse(rwdNameTime, "yyyyMMdd").getTime();
+                    if (time >= startTime && time <= endTime) {
+                        return file;
+                    }
+                }
+                return null;
+            }).filter(file -> file != null && file.getName().contains(equipmentId)).collect(Collectors.toList());
             String[] strDir = new String[files1.size()];
             for (int i = 0; i < files1.size(); i++) {
                 strDir[i] = files1.get(i).toString();

+ 14 - 14
neim-ui/src/views/dataQuery/windTowerStatusData/index.vue

@@ -545,24 +545,24 @@ export default {
     handleExport() {
       this.exportDataLoading = true
       download.windTowerStatus("/dataQuery/RealTimeDisplay/export", new Date(this.dataTime[0]).getTime(), new Date(this.dataTime[1]).getTime(), this.eqId);
-      this.downPdfTimer = setInterval(() => {
-        if (Cookies.get('exportDataLoading')) {
+      // this.downPdfTimer = setInterval(() => {
+      //   if (Cookies.get('exportDataLoading')) {
           this.exportDataLoading = false
-          clearInterval(this.downPdfTimer)
-          Cookies.remove("exportDataLoading");
-        }
-      }, 500)
+      //     clearInterval(this.downPdfTimer)
+      //     Cookies.remove("exportDataLoading");
+      //   }
+      // }, 500)
     },
     handleAllExport() {
       this.exportLoading = true
-      download.exportAllData("/dataQuery/RealTimeDisplay/exportAll", this.eqId);
-      this.downPdfTimer = setInterval(() => {
-        if (Cookies.get('exportLoading')) {
-          this.exportLoading = false
-          clearInterval(this.downPdfTimer)
-          Cookies.remove("exportLoading");
-        }
-      }, 500)
+      download.exportAllData("/dataQuery/RealTimeDisplay/exportAll",this.eqId+"&startTime="+new Date(this.dataTime[0]).getTime()+"&endTime="+new Date(this.dataTime[1]).getTime());
+      // this.downPdfTimer = setInterval(() => {
+      //   if (Cookies.get('exportLoading')) {
+      this.exportLoading = false
+      //     clearInterval(this.downPdfTimer)
+      //     Cookies.remove("exportLoading");
+      //   }
+      // }, 500)
     },
     formatEquimentId(row) {
       let filter = this.equipmentAllInfo.find(w => w.equipmentNo == row.equipmentId);