From 77d58298d00c11ade8862ca8acb0fdef5a45322e Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 21 三月 2025 17:39:38 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/server/utils/DownLoadTmpFile.java |  147 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 146 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/example/server/utils/DownLoadTmpFile.java b/src/main/java/com/example/server/utils/DownLoadTmpFile.java
index 84047c0..23ab479 100644
--- a/src/main/java/com/example/server/utils/DownLoadTmpFile.java
+++ b/src/main/java/com/example/server/utils/DownLoadTmpFile.java
@@ -1,15 +1,28 @@
 package com.example.server.utils;
 
 import com.example.Application;
+import com.example.server.progressTrack.model.DjJdgzTrackRecord;
+import com.example.server.progressTrack.service.DjJdgzDismantTrackService;
+import com.example.server.progressTrack.service.DjJdgzTrackRecordService;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 
 import javax.swing.*;
 import java.io.*;
 import java.nio.file.Files;
 import java.nio.file.StandardCopyOption;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
 
 public class DownLoadTmpFile {
-    public static void down(String name,JFrame frame1){
+    public static void down(String name, JFrame frame1) {
         InputStream inputStream = Application.class.getClassLoader().getResourceAsStream(name);
 
         if (inputStream == null) {
@@ -49,5 +62,137 @@
             // 濡傛灉鐢ㄦ埛鍙栨秷鎿嶄綔锛屼笉鏄剧ず棰濆鎻愮ず
             tempFile.delete(); // 鍒犻櫎涓存椂鏂囦欢
         }
+        frame1.setEnabled(true);
+    }
+
+    public static void buildTrack(List<DjJdgzTrackRecord> list, String path, JFrame frame1) {
+        LocalDate currentDate = LocalDate.now();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        // 灏嗗綋鍓嶆棩鏈熸牸寮忓寲涓哄瓧绗︿覆
+        String date = currentDate.format(formatter);
+
+        InputStream inputStream = Application.class.getClassLoader().getResourceAsStream(path);
+
+        if (inputStream == null) {
+            try {
+                inputStream = new FileInputStream(path);
+            } catch (FileNotFoundException e) {
+                e.printStackTrace();
+            }
+        }
+
+        try {
+            Workbook workbook = new XSSFWorkbook(inputStream);
+            // 鑾峰彇绗竴涓伐浣滆〃
+            Sheet sheet = workbook.getSheetAt(0);
+            int num = 1;
+
+            for (int i = 0; i < list.size(); i++) {
+                num = num + 1;
+                Row row = sheet.createRow(num);
+
+                Cell cell = row.createCell(0);
+                cell.setCellValue(list.get(i).getId().toString());
+
+                cell = row.createCell(1);
+                cell.setCellValue(date);
+
+                cell = row.createCell(2);
+                cell.setCellValue(list.get(i).getLevel3NetworkName());
+
+                cell = row.createCell(12);
+                if (StringUtils.isNotBlank(list.get(i).getTrackPerson())) {
+                    cell.setCellValue(list.get(i).getTrackPerson());
+                }
+                cell = row.createCell(13);
+                if (StringUtils.isNotBlank(list.get(i).getTrackPersonContact())) {
+                    cell.setCellValue(list.get(i).getTrackPersonContact());
+                }
+
+                cell = row.createCell(14);
+                if (StringUtils.isNotBlank(list.get(i).getTrackPersonUnit())) {
+                    cell.setCellValue(list.get(i).getTrackPersonUnit());
+                }
+
+                cell = row.createCell(15);
+                if (StringUtils.isNotBlank(list.get(i).getTrackedPerson())) {
+                    cell.setCellValue(list.get(i).getTrackPerson());
+                }
+                cell = row.createCell(16);
+                if (StringUtils.isNotBlank(list.get(i).getTrackedPersonContact())) {
+                    cell.setCellValue(list.get(i).getTrackPersonContact());
+                }
+
+                cell = row.createCell(17);
+                if (StringUtils.isNotBlank(list.get(i).getTrackedPersonUnit())) {
+                    cell.setCellValue(list.get(i).getTrackPersonUnit());
+                }
+
+                cell = row.createCell(18);
+                if (StringUtils.isNotBlank(list.get(i).getGeneralRepairUnit())) {
+                    cell.setCellValue(list.get(i).getGeneralRepairUnit());
+                }
+                cell = row.createCell(19);
+                if (StringUtils.isNotBlank(list.get(i).getGeneralRepairUnitDirector())) {
+                    cell.setCellValue(list.get(i).getGeneralRepairUnitDirector());
+                }
+                cell = row.createCell(20);
+                if (StringUtils.isNotBlank(list.get(i).getGeneralRepairUnitContact())) {
+                    cell.setCellValue(list.get(i).getGeneralRepairUnitContact());
+                }
+                cell = row.createCell(21);
+                if (StringUtils.isNotBlank(list.get(i).getRepairUnit())) {
+                    cell.setCellValue(list.get(i).getRepairUnit());
+                }
+                cell = row.createCell(22);
+                if (StringUtils.isNotBlank(list.get(i).getRepairUnitDirector())) {
+                    cell.setCellValue(list.get(i).getRepairUnitDirector());
+                }
+                cell = row.createCell(23);
+                if (StringUtils.isNotBlank(list.get(i).getRepairUnitContact())) {
+                    cell.setCellValue(list.get(i).getRepairUnitContact());
+                }
+
+                if (i >= list.size() - 1) {
+                    row = sheet.createRow(sheet.getLastRowNum() + 3);
+                    cell = row.createCell(1);
+                    cell.setCellValue("娉細");
+                    row = sheet.createRow(sheet.getLastRowNum() + 1);
+                    cell = row.createCell(2);
+                    cell.setCellValue("1. 璁惧鍚嶇О锛氬鍑烘ā鏉挎椂锛岀郴缁熻嚜鍔ㄧ敓鎴愯涓撲笟鐨勬墍鏈夎澶囷紝鐢ㄦ埛涓嶈淇敼");
+                    row = sheet.createRow(sheet.getLastRowNum() + 1);
+                    cell = row.createCell(2);
+                    cell.setCellValue("2. 榛勮壊鏍忕洰涓轰富瑕佸~鍐欎俊鎭紝鍏朵腑锛岄璁″畬鎴愭椂闂翠笉濉椂锛屽鍏ユ椂绯荤粺灏嗗綋鍓嶈妭鐐圭殑瑕佹眰瀹屾垚鏃堕棿浣滀负棰勮瀹屾垚鏃堕棿");
+                    row = sheet.createRow(sheet.getLastRowNum() + 1);
+                    cell = row.createCell(2);
+                    cell.setCellValue("3. 缁胯壊鏍忕洰涓哄鍑烘ā鏉挎椂甯︽湁鏁版嵁锛屽彲鏍规嵁闇�瑕佷慨鏀�");
+                    row = sheet.createRow(sheet.getLastRowNum() + 1);
+                    cell = row.createCell(2);
+                    cell.setCellValue("4. 鏁版嵁褰曞叆鏃堕棿涓鸿窡韪殑鏃堕棿锛屽鍏ュ悗绯荤粺鑷姩鎹㈢畻鎴愬懆");
+                    row = sheet.createRow(sheet.getLastRowNum() + 1);
+                    cell = row.createCell(2);
+                    cell.setCellValue("5. 鏁版嵁褰曞叆鏃堕棿鎴栬�呭綋鍓嶈妭鐐规爮鐩湭褰曟暟鎹椂锛屽鍏ユ椂绯荤粺鍒ゆ柇璇ヨ涓虹┖");
+                    row = sheet.createRow(sheet.getLastRowNum() + 1);
+                    cell = row.createCell(2);
+                    cell.setCellValue("6. 浠ヤ笅鏍忕洰涓轰笅鎷夐�夛細褰撳墠鑺傜偣銆佽窡韪柟寮忋�佽妭鐐硅繘灞曘�佹湁鏃犺劚鏈熼闄�");
+                }
+            }
+            // 寮瑰嚭鏂囦欢閫夋嫨瀵硅瘽妗�
+            JFileChooser fileChooser = new JFileChooser();
+            fileChooser.setSelectedFile(new File(path)); // 榛樿鏂囦欢鍚�
+            int result = fileChooser.showSaveDialog(frame1);
+            if (result == JFileChooser.APPROVE_OPTION) {
+                File selectedFile = fileChooser.getSelectedFile();
+                try (FileOutputStream outputStream = new FileOutputStream(selectedFile)) {
+                    workbook.write(outputStream);
+                    JOptionPane.showMessageDialog(frame1, "鏂囦欢淇濆瓨鎴愬姛", "鎴愬姛", JOptionPane.INFORMATION_MESSAGE);
+                } catch (IOException e) {
+                    JOptionPane.showMessageDialog(frame1, "鏂囦欢淇濆瓨澶辫触: " + e.getMessage(), "閿欒", JOptionPane.ERROR_MESSAGE);
+                }
+            }
+        } catch (
+                IOException e) {
+            e.printStackTrace();
+        }
     }
 }

--
Gitblit v1.9.1