From 4d1ced71426f31008ce4e4dd47cbed314f330cea Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 10 八月 2023 15:57:00 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/mapper/XlsReportMapper.java   |    2 +-
 src/main/java/com/yssh/service/XlsReportService.java |   29 ++++++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/yssh/mapper/XlsReportMapper.java b/src/main/java/com/yssh/mapper/XlsReportMapper.java
index b94c2aa..dd180bf 100644
--- a/src/main/java/com/yssh/mapper/XlsReportMapper.java
+++ b/src/main/java/com/yssh/mapper/XlsReportMapper.java
@@ -22,7 +22,7 @@
     /**
      * 鎶ュ憡鏄惁瀛樺湪
      */
-    int reportExists(@Param("type") String type, @Param("start") String start);
+    int reportExists(@Param("type") String type, @Param("name") String name);
 
     /**
      * 鎻掑叆鎶ュ憡
diff --git a/src/main/java/com/yssh/service/XlsReportService.java b/src/main/java/com/yssh/service/XlsReportService.java
index 35f0767..e45b5de 100644
--- a/src/main/java/com/yssh/service/XlsReportService.java
+++ b/src/main/java/com/yssh/service/XlsReportService.java
@@ -5,6 +5,7 @@
 import com.yssh.entity.xls.DayExcel;
 import com.yssh.entity.xls.MonthExcel;
 import com.yssh.entity.xls.WeekExcel;
+import com.yssh.entity.xls.XlsReport;
 import com.yssh.mapper.XlsReportMapper;
 import com.yssh.utils.CalculateUtils;
 import com.yssh.utils.DateUtils;
@@ -103,9 +104,32 @@
         String strData = DateUtils.parseDateToStr("month".equals(type) ? DateUtils.YYYYMM : DateUtils.YYYYMMDD, date);
         String target = String.format("%s\\%s.xlsx", getExpPath(type), strData);
 
-        createExcel(source, target, list);
+        File f = new File(target);
+        if (!f.exists() || f.isDirectory()) {
+            createExcel(source, target, list);
+        }
 
         return String.format("%s\\%s.xlsx", type, strData);
+    }
+
+    /**
+     * 淇濆瓨缁撴灉
+     */
+    private <T> void saveResult(String type, Date date, List<T> list) throws Exception {
+        date = DateUtils.trimTime(date);
+        String filePath = createExcel(type, date, list);
+        String name = filePath.replace(type + "\\", "");
+
+        int rows = mapper.reportExists(type, name);
+        if (rows > 0) return;
+
+        XlsReport xls = new XlsReport();
+        xls.setName(name);
+        xls.setType(type);
+        xls.setPath(filePath);
+        xls.setCreateTime(date);
+
+        mapper.insertReport(xls);
     }
 
     /**
@@ -158,8 +182,7 @@
 
                 list.add(new DayExcel("" + rjz, "" + lj, ljtb + "%", ys, "", "", ""));
             }
-
-            String filePath = createExcel("day", yesterday, list);
+            saveResult("day", yesterday, list);
         } catch (Exception ex) {
             logger.error(ex.getMessage(), ex);
         }

--
Gitblit v1.9.3