From 0c9fce323eaf89c16bc34d16dd42b3a0087bc418 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 12 十一月 2025 18:12:59 +0800
Subject: [PATCH] 更新钉钉配置

---
 src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java |   81 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java b/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java
index fe5f79b..5a8befe 100644
--- a/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java
+++ b/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java
@@ -13,8 +13,11 @@
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author Administrator
@@ -82,22 +85,79 @@
     }
 
     /**
-     * 瀵煎嚭鏁版嵁鍒癊xcel
+     * 瀵煎嚭鏁版嵁鍒癊xcel锛堜袱涓猻heet椤碉級
      *
      * @param dataList 鏁版嵁鍒楄〃
      * @param filePath 鏂囦欢璺緞
      */
     private void exportToExcel(List<VwCjScSjTsBb> dataList, String filePath) {
-        // 鍒涘缓Excel鍐欏叆鍣�
-        ExcelWriter writer = ExcelUtil.getWriter(filePath);
+        // 璁$畻鏄ㄥぉ鐨勬棩鏈�
+        LocalDate yesterday = LocalDate.now().minusDays(1);
+        String yesterdayStr = yesterday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+
+        // 璁$畻鏈湀鐨勮捣姝㈡棩鏈�
+        LocalDate today = LocalDate.now();
+        LocalDate firstDayOfMonth = today.withDayOfMonth(1);
+        LocalDate lastDayOfMonth = today.withDayOfMonth(today.lengthOfMonth());
+        String firstDayStr = firstDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+        String lastDayStr = lastDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+
+        log.info("鏄ㄥぉ鏃ユ湡: {}", yesterdayStr);
+        log.info("鏈湀鑼冨洿: {} 鑷� {}", firstDayStr, lastDayStr);
+
+        // 杩囨护鏁版嵁锛氶璁″紑宸ュ湪鏄ㄥぉ鐨勬暟鎹�
+        List<VwCjScSjTsBb> yesterdayData = dataList.stream()
+                .filter(item -> item.getYjkg() != null && item.getYjkg().startsWith(yesterdayStr))
+                .collect(Collectors.toList());
+
+        // 杩囨护鏁版嵁锛氶璁″紑宸ュ湪鏈湀鐨勬暟鎹�
+        List<VwCjScSjTsBb> thisMonthData = dataList.stream()
+                .filter(item -> {
+                    if (item.getYjkg() == null || item.getYjkg().trim().isEmpty()) {
+                        return false;
+                    }
+                    String yjkg = item.getYjkg().substring(0, Math.min(10, item.getYjkg().length()));
+                    return yjkg.compareTo(firstDayStr) >= 0 && yjkg.compareTo(lastDayStr) <= 0;
+                })
+                .collect(Collectors.toList());
+
+        log.info("鏄ㄥぉ鏁版嵁: {} 鏉�", yesterdayData.size());
+        log.info("鏈湀鏁版嵁: {} 鏉�", thisMonthData.size());
+
+        // 鍒涘缓Excel鍐欏叆鍣紙绗竴涓猻heet锛�
+        ExcelWriter writer = ExcelUtil.getWriter(filePath, "鏄ㄥぉ棰勮寮�宸�");
+
+        // 鍐欏叆绗竴涓猻heet锛氭槰澶╅璁″紑宸ョ殑鏁版嵁
+        writeSheetData(writer, yesterdayData, "鏄ㄥぉ棰勮寮�宸ユ暟鎹紙" + yesterdayStr + "锛�");
+
+        // 鍒涘缓绗簩涓猻heet
+        writer.setSheet("鏈湀棰勮寮�宸�");
+
+        // 鍐欏叆绗簩涓猻heet锛氭湰鏈堥璁″紑宸ョ殑鏁版嵁
+        writeSheetData(writer, thisMonthData, "鏈湀棰勮寮�宸ユ暟鎹紙" + firstDayStr + " 鑷� " + lastDayStr + "锛�");
+
+        // 鍏抽棴writer锛岄噴鏀惧唴瀛�
+        writer.close();
+    }
+
+    /**
+     * 鍐欏叆鍗曚釜sheet鐨勬暟鎹�
+     *
+     * @param writer   Excel鍐欏叆鍣�
+     * @param dataList 鏁版嵁鍒楄〃
+     * @param title    鏍囬
+     */
+    private void writeSheetData(ExcelWriter writer, List<VwCjScSjTsBb> dataList, String title) {
+        // 娓呯┖涔嬪墠鐨勫埆鍚嶈缃�
+        writer.clearHeaderAlias();
 
         // 璁剧疆琛ㄥご鍒悕锛堜腑鏂囧垪鍚嶏級
-        writer.addHeaderAlias("itemName", "鐗╂枡鍚嶇О");
-        writer.addHeaderAlias("itemNo", "鐗╂枡缂栫爜");
-        writer.addHeaderAlias("departmentname", "杞﹂棿鍚嶇О");
-        writer.addHeaderAlias("departmentcode", "杞﹂棿缂栫爜");
         writer.addHeaderAlias("daa001", "宸ュ崟鍙�");
+        writer.addHeaderAlias("itemNo", "鐗╂枡缂栫爜");
+        writer.addHeaderAlias("itemName", "鐗╂枡鍚嶇О");
+        writer.addHeaderAlias("departmentname", "杞﹂棿鍚嶇О");
         writer.addHeaderAlias("lineName", "绾夸綋鍚嶇О");
+        writer.addHeaderAlias("departmentcode", "杞﹂棿缂栫爜");
         writer.addHeaderAlias("lineNo", "绾夸綋缂栫爜");
         writer.addHeaderAlias("daa008", "宸ュ崟鏁伴噺");
         writer.addHeaderAlias("yjkg", "棰勮寮�宸�");
@@ -108,17 +168,14 @@
         writer.addHeaderAlias("rkwwg", "鍏ュ簱鏈畬宸�");
         writer.addHeaderAlias("sqwrk", "鐢宠鏈叆搴�");
 
-        // 鍚堝苟鍗曞厓鏍煎悗鏍囬琛�
-        writer.merge(14, "杞﹂棿鐢熶骇鏁版嵁缁熻鎶ヨ〃");
+        // 鍚堝苟鍗曞厓鏍间綔涓烘爣棰樿
+        writer.merge(14, title);
 
         // 鍐欏叆鏁版嵁锛岄粯璁や細浣跨敤鍒悕浣滀负琛ㄥご
         writer.write(dataList, true);
 
         // 璁剧疆鍒楀鑷�傚簲
         writer.autoSizeColumnAll();
-
-        // 鍏抽棴writer锛岄噴鏀惧唴瀛�
-        writer.close();
     }
 }
 

--
Gitblit v1.9.3