From 897acda0bb8c0bcd9511d62fad24060609669d35 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 18 八月 2025 10:04:24 +0800
Subject: [PATCH] yys  完善劳保台账导入导出

---
 src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java b/src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java
index 3d2c087..a3da8f9 100644
--- a/src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java
+++ b/src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java
@@ -21,6 +21,7 @@
 import com.ruoyi.project.system.mapper.SysDictDataMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ss.util.CellRangeAddress;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -60,22 +61,31 @@
         if(season != null){
             Calendar calendar = Calendar.getInstance();
             int currentYear = calendar.get(Calendar.YEAR);
+            startAndEndDateDto.setYear(currentYear);
             switch (season){
                 case 1:
                     startAndEndDateDto.setStartDate(currentYear + "-01-01");
                     startAndEndDateDto.setEndDate(currentYear + "-03-31");
+                    startAndEndDateDto.setStartMonth(1);
+                    startAndEndDateDto.setEndMonth(3);
                     break;
                 case 2:
                     startAndEndDateDto.setStartDate(currentYear + "-04-01");
                     startAndEndDateDto.setEndDate(currentYear + "-06-30");
+                    startAndEndDateDto.setStartMonth(4);
+                    startAndEndDateDto.setEndMonth(6);
                     break;
                 case 3:
                     startAndEndDateDto.setStartDate(currentYear + "-07-01");
                     startAndEndDateDto.setEndDate(currentYear + "-09-30");
+                    startAndEndDateDto.setStartMonth(7);
+                    startAndEndDateDto.setEndMonth(9);
                     break;
                 case 4:
                     startAndEndDateDto.setStartDate(currentYear + "-10-01");
                     startAndEndDateDto.setEndDate(currentYear + "-12-31");
+                    startAndEndDateDto.setStartMonth(10);
+                    startAndEndDateDto.setEndMonth(12);
                     break;
             }
         }
@@ -130,12 +140,14 @@
     private SysDictDataMapper sysDictDataMapper;
 
     @Override
-    public void exportCopy(HttpServletResponse response) throws UnsupportedEncodingException {
+    public void exportCopy(HttpServletResponse response, LaborIssue laborIssue) throws UnsupportedEncodingException {
         List<SysDictData> sys_lavor_issue = sysDictDataMapper.selectDictDataByType("sys_lavor_issue");
         if(CollectionUtils.isEmpty(sys_lavor_issue)){
             throw new RuntimeException("瀛楀吀鏁版嵁涓虹┖");
         }
-        List<LaborIssue> laborIssues = lavorIssueMapper.list(new LaborIssue());
+        StartAndEndDateDto startAndEndDateDto = getStartAndEndDateDto(laborIssue.getSeason(), laborIssue.getIssueDate());
+        BeanUtils.copyProperties(startAndEndDateDto, laborIssue);
+        List<LaborIssue> laborIssues = lavorIssueMapper.list(laborIssue);
         if (CollectionUtils.isEmpty(laborIssues)) {
             throw new RuntimeException("鏁版嵁涓虹┖");
         }
@@ -154,7 +166,7 @@
                     .registerWriteHandler(new ConfigurableMergeStrategy(exportExternalPackingListGetMerge(4,sys_lavor_issue.size(),laborIssueMap.size())))
                     .build();
 
-            List<List<List<String>>> data = completeExternalPackingList(laborIssueMap, sys_lavor_issue);
+            List<List<List<String>>> data = completeExternalPackingList(laborIssueMap, sys_lavor_issue,laborIssue);
 
             for (int i = 0; i < data.size(); i++) {
                 List<List<String>> list = data.get(i);
@@ -177,7 +189,7 @@
 
 
 //     澶勭悊澶栭儴瑁呯鍗曟暟鎹�
-    private List<List<List<String>>> completeExternalPackingList(Map<String, List<LaborIssue>> listMap,List<SysDictData> sys_lavor_issue) {
+    private List<List<List<String>>> completeExternalPackingList(Map<String, List<LaborIssue>> listMap,List<SysDictData> sys_lavor_issue,LaborIssue obj) {
         List<List<List<String>>> data = new ArrayList<>();
         int num = sys_lavor_issue.size();
 
@@ -187,7 +199,7 @@
         list.add("");
         list.add("浼佷笟绠$悊绉�");
         list.add("");
-        list.add("浼佷笟绠$悊绉�2025骞�1鏈�-2025骞�3鏈堝姵淇濆彂鏀捐鍒掕〃");
+        list.add("浼佷笟绠$悊绉�" + obj.getYear() + "骞�" + obj.getStartMonth() + "鏈�-" + obj.getYear() + "骞�" + obj.getEndMonth() +"鏈堝姵淇濆彂鏀捐鍒掕〃");
         for (int i = 1; i <= num; i++){
             list.add("");
         }
@@ -204,10 +216,10 @@
         item.add(list1);
 
         List<String> list2 = new ArrayList<>();
-        list2.add("2025");
-        list2.add("1");
-        list2.add("2025");
-        list2.add("3");
+        list2.add(obj.getYear().toString());
+        list2.add(obj.getStartMonth().toString());
+        list2.add(obj.getYear().toString());
+        list2.add(obj.getEndMonth().toString());
         for (int i = 0; i <= num; i++){
             list.add("");
         }

--
Gitblit v1.9.3