From cc92dd0f84de867e479e01d166fd0e27c6d082bf Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期三, 26 三月 2025 17:11:13 +0800
Subject: [PATCH] 巡检记录

---
 src/main/java/com/whyc/service/FireRobotService.java |   87 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 81 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/whyc/service/FireRobotService.java b/src/main/java/com/whyc/service/FireRobotService.java
index 05ed96a..efcd7dd 100644
--- a/src/main/java/com/whyc/service/FireRobotService.java
+++ b/src/main/java/com/whyc/service/FireRobotService.java
@@ -1,14 +1,15 @@
 package com.whyc.service;
 
 import com.github.pagehelper.PageInfo;
-import com.google.gson.reflect.TypeToken;
-import com.whyc.dto.InspectionTask;
+import com.whyc.dto.InspectionRecord;
 import com.whyc.dto.Response;
-import com.whyc.dto.WmsMaterialDto;
 import com.whyc.util.HttpUtil;
-import com.whyc.util.JsonUtil;
+import com.whyc.util.ThreadLocalUtil;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
+import java.util.Date;
+import java.util.LinkedList;
 import java.util.List;
 
 @Service
@@ -57,11 +58,85 @@
         return response;
     }
 
-    public Response<PageInfo<InspectionTask>> getPageOfInspectionRecord(int pageNum, int pageSize) {
+    public Response<PageInfo<InspectionRecord>> getPageOfInspectionRecord(int pageNum, int pageSize, String startDateStr, String endDateStr) {
+        List<InspectionRecord> recordList = new LinkedList<>();
         //鏌ヨ鍥哄畾浣嶇疆鐨勬枃浠舵暟
         //鍐嶉�氳繃浼犲叆鐨刾ageNum鍜宲ageSize鏉ヨ幏鍙� 鏂囦欢椤哄簭鐨勮捣姝㈠叿浣搃ndex鍊�
+        //鐢熶骇鐜涓� /mnt/disk2/YunNan3/video 鍜� /mnt/disk2/YunNan3/recordAnalysis
+        //String videoDirPath = "C:\\Users\\29550\\Desktop\\褰撳墠椤圭洰\\2023\\0鏅鸿兘鏈哄櫒浜鸿繍缁寸郴缁焅\宸℃璁板綍\\video";
+        //String docDirPath = "C:\\Users\\29550\\Desktop\\褰撳墠椤圭洰\\2023\\0鏅鸿兘鏈哄櫒浜鸿繍缁寸郴缁焅\宸℃璁板綍\\recordAnalysis";
+        String videoDirPath = "/mnt/disk2/YunNan3/video";
+        String docDirPath = "/mnt/disk2/YunNan3/recordAnalysis";
+        File file = new File(docDirPath);
+        String[] filenameListOrigin = file.list();
+        List<String> filenameList = new LinkedList<>();
+        //鍊掑簭閬嶅巻
+        //filenameList鍐呯殑鍏冪礌鐨勬牸寮忎负 2025-03-25-01.doc,瀵筬ilenameList杩涜閬嶅巻,
+        //淇濈暀鏃ユ湡鍦╯tartDate(渚嬪2025-03-25)鍜宔ndDate(渚嬪2025-07-05)涔嬮棿(鍖呭惈璧锋鏃堕棿)鐨勬枃浠跺苟瀛樺埌琛岀殑鍒楄〃
+        //鎸夋枃浠跺悕鎸夋椂闂村�掑簭鎺掑垪
+        for(int i = filenameListOrigin.length-1; i >=0 ; i--){
+            String filename = filenameListOrigin[i];
+            String dateStr = filename.substring(0, 10);
+            Date date = ThreadLocalUtil.parse(dateStr, 3);
+            //鍒ゆ柇鏄惁瀛樺湪 璧锋鏃ユ湡 杩囨护
+            if(startDateStr!=null && endDateStr!=null) {
+                Date startDate = ThreadLocalUtil.parse(startDateStr, 3);
+                Date endDate = ThreadLocalUtil.parse(endDateStr, 3);
+                if (date.compareTo(endDate) <= 0) { //杩涘叆婊¤冻鏉′欢鍖哄煙涓婇檺
+                    if (date.compareTo(startDate) >= 0) { //婊¤冻鏉′欢涓嬮檺
+                        filenameList.add(filename);
+                    } else { //瓒呰繃涓嬮檺,閫�鍑洪亶鍘�.
+                        break;
+                    }
+                }
+            }else if (startDateStr!=null){ //鍙瓨鍦� 璧峰鏃堕棿绛涢��
+                Date startDate = ThreadLocalUtil.parse(startDateStr, 3);
+                if (date.compareTo(startDate) >= 0) { //婊¤冻鏉′欢涓嬮檺
+                    filenameList.add(filename);
+                } else { //瓒呰繃涓嬮檺,閫�鍑洪亶鍘�.
+                    break;
+                }
+            }else if (endDateStr!=null){ //鍙瓨鍦� 缁堟鏃堕棿绛涢��
+                Date endDate = ThreadLocalUtil.parse(endDateStr, 3);
+                if (date.compareTo(endDate) <= 0) { //杩涘叆婊¤冻鏉′欢鍖哄煙涓婇檺
+                    filenameList.add(filename);
+                }
+            }else{ //涓嶅瓨鍦ㄧ瓫閫�
+                filenameList.add(filename);
+            }
+        }
 
-        PageInfo<InspectionTask> pageInfo = new PageInfo<>();
+        //鑾峰彇褰撳墠鐨勬�绘暟
+        int total = filenameList.size();
+        //鑾峰彇璧峰鍜岀粨鏉焛ndex
+        int pageStartIndex = (pageNum-1)*pageSize;
+        int pageEndIndex = Math.min(total - 1, pageStartIndex + pageSize - 1);
+        //瀹為檯鎬绘暟璺熷垎椤电粓鐐瑰仛鏍¢獙 渚嬪: 涓�鍏辨湁4鏉�,size=5
+        for (int i = pageStartIndex; i <= pageEndIndex; i++) {
+            InspectionRecord inspectionRecord = new InspectionRecord();
+            //瀛楃涓叉牸寮忎负 2025-03-25-01.doc,鍙栧勾鏈堟棩2025-03-25,鍙栧簭鍙�01
+            String recordName = filenameList.get(i);
+            String[] split = recordName.split("\\.");
+            String date = recordName.substring(0, 10);
+            String num = split[0].substring(11);
+            //瑙嗛鐨勫悕绉颁负 2025-03-25-01-kjg.mp4
+            String videoName = date+"-"+num+"-kjg.mp4";
+            inspectionRecord.setDate(ThreadLocalUtil.parse(date,3));
+            inspectionRecord.setNum(num);
+            inspectionRecord.setVideoUrl("http://192.168.10.133:8088/br/inspectRecord/video/"+videoName);
+            inspectionRecord.setDocUrl("http://192.168.10.133:8088/br/inspectRecord/recordAnalysis/"+recordName);
+
+            recordList.add(inspectionRecord);
+        }
+
+        PageInfo<InspectionRecord> pageInfo = new PageInfo<>();
+        pageInfo.setPageNum(pageNum);
+        pageInfo.setPageSize(pageSize);
+        //pageInfo璁剧疆setPages,鎬婚〉鏁颁负鎬绘暟/size骞跺悜涓婂彇鏁�
+        pageInfo.setPages((int) Math.ceil((double) total /pageSize));
+        pageInfo.setTotal(total);
+        pageInfo.setList(recordList);
+
         return new Response().set(1,pageInfo);
     }
 }

--
Gitblit v1.9.1