From 66f0597bf6a1e79540c6bc51dedf561c22f3bdb5 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 13 五月 2025 17:49:26 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java |   81 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 73 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
index c17dd52..c9748b3 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
@@ -2,19 +2,26 @@
 
 import com.example.client.dto.JComboBoxItem;
 import com.example.client.service.BaseService;
+import com.example.client.utils.TranslateToPlainStrUtils;
+import com.example.server.ExportExcel.dto.ExcelColumnDto;
+import com.example.server.ExportExcel.dto.ExprotExcelDto;
+import com.example.server.ExportExcel.method.ExcelExport;
 import com.example.server.cabin.service.CabinService;
+import com.example.server.progressTrack.Dto.Level3ExportCloum;
 import com.example.server.progressTrack.Dto.NetworkNodeStatusDto;
 import com.example.server.progressTrack.Dto.StatistProductDto;
 import com.example.server.progressTrack.Dto.TableNodeDto;
 import com.example.server.progressTrack.dao.DjJdgzNetworkLevel3Dao;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel3;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel3List;
+import com.example.server.progressTrack.model.DjJdgzTrackRecord;
 import com.example.server.teamGroup.service.SysTeamGroupClassService;
 import com.example.server.utils.FileUtils;
 import com.example.server.utils.ImportUtil;
 import com.example.server.utils.UUIDUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -53,6 +60,69 @@
 
     public List<StatistProductDto> getStatist(Long level1Id,String type) {
         return baseDao.getStatist(level1Id,type);
+    }
+
+    public void exportExcel(String path, Long level1NetworkId, Long deptId, Long teamGroupId, String status) {
+        List<ExprotExcelDto> dtos = new ArrayList<>();
+        ExprotExcelDto dto = new ExprotExcelDto();
+        dto.setSheetName("璁惧鑺傜偣鐘舵�佽褰�");
+
+        List<Level3ExportCloum> list = baseDao.getdata(level1NetworkId, deptId, teamGroupId, status);
+        Date today = new Date();
+        for (Level3ExportCloum data :list){
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date requiredCompletionDate = null;
+                Date actualCompletionDate = null;
+                try {
+                    if (StringUtils.isNotBlank(data.getRequiredCompletionTime())) {
+                        requiredCompletionDate = sdf.parse(data.getRequiredCompletionTime());
+                    }
+                    if (StringUtils.isNotBlank(data.getActualCompletion())) {
+                        actualCompletionDate = sdf.parse(data.getActualCompletion());
+                    }
+
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+                if (data.getCurrentStatus() == null || data.getCurrentStatus() == 0) {
+                    if (today.after(requiredCompletionDate)) {
+                        int days = (int) ((today.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
+                        data.setStatus("宸查�炬湡" + days + "澶�");
+                    } else if ((requiredCompletionDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24) < 7) {
+                        int days = (int) ((requiredCompletionDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24));
+                        data.setStatus("杩樻湁" + days + "澶╀复鏈�");
+                    } else {
+                        data.setStatus("杩涜涓�");
+                    }
+                } else if (data.getCurrentStatus() == 1) {
+                    // 宸插畬鎴�
+                    if (data.getActualCompletion() != null && actualCompletionDate.after(requiredCompletionDate)) {
+                        int days = (int) ((actualCompletionDate.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
+                        data.setStatus("瓒呮湡" + days + "澶╁畬鎴�");
+                    } else {
+                        data.setStatus("姝e父瀹屾垚");
+                    }
+                }
+
+                data.setDeptName(sysTeamGroupClassService.get(data.getDeptId()).getName());
+                data.setTeamName(sysTeamGroupClassService.get(data.getTeamgroupId()).getName());
+        }
+        dto.setDataList(list);
+        List<ExcelColumnDto> columnDto2 = new ArrayList<>();
+        columnDto2.add(new ExcelColumnDto("閮ㄩ棬", "deptName", 25, HorizontalAlignment.CENTER));
+        columnDto2.add(new ExcelColumnDto("涓撲笟", "teamName", 25, HorizontalAlignment.CENTER));
+        columnDto2.add(new ExcelColumnDto("璁惧鍚嶇О", "name", 50, HorizontalAlignment.CENTER));
+        columnDto2.add(new ExcelColumnDto("鑺傜偣鍚嶇О", "processName", 25, HorizontalAlignment.CENTER));
+        columnDto2.add(new ExcelColumnDto("瑕佹眰瀹屾垚鏃堕棿", "requiredCompletionTime", 25, HorizontalAlignment.CENTER));
+        columnDto2.add(new ExcelColumnDto("鐘舵��", "status", 25, HorizontalAlignment.LEFT));
+        dto.setColumnDto(columnDto2);
+        dtos.add(dto);
+        try {
+            ExcelExport.getHSSFWorkbook(path, dtos);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
     }
 
     enum StatusEnum {zy, jxz, lq, yq, zcwc, cqwc}
@@ -435,6 +505,7 @@
                     data.setGeneralRepairUnit(generalRepairUnit);
                 }
                 if (StringUtils.isNotBlank(generalRepairUnitContact)) {
+                    generalRepairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnitContact);
                     data.setGeneralRepairUnitContact(generalRepairUnitContact);
                 }
                 if (StringUtils.isNotBlank(generalRepairUnitDirector)) {
@@ -444,6 +515,7 @@
                     data.setRepairUnit(repairUnit);
                 }
                 if (StringUtils.isNotBlank(repairUnitContact)) {
+                    repairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(repairUnitContact);
                     data.setRepairUnitContact(repairUnitContact);
                 }
                 if (StringUtils.isNotBlank(repairUnitDirector)) {
@@ -512,7 +584,7 @@
                 // 宸插畬鎴�
                 if (node.getActualCompletion() != null && actualCompletionDate.after(requiredCompletionDate)) {
                     statusMap.put(node.getId(), StatusEnum.cqwc);
-                    int days = (int) ((today.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
+                    int days = (int) ((actualCompletionDate.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
                     node.setCqText("瑕佹眰鏃堕棿涓�" + sdf.format(requiredCompletionDate) + "瓒呮湡" + days + "澶╁畬鎴�");
                 } else {
                     statusMap.put(node.getId(), StatusEnum.zcwc);
@@ -568,11 +640,4 @@
 
         return dataList;
     }
-  /*  public void exportExcelTemplate(HttpServletResponse response, HttpServletRequest request) throws IOException {
-        String excelName="涓夌骇缃戠粶鍥炬壒閲忔ā鐗�";
-        String excelPath = path + "template/jx-model/" + excelName + ".xlsx"; //妯℃澘璺緞
-        File file = new File(excelPath);
-        excelName = excelName + "_" + DateUtil.now() + ".xlsx";
-        DownloadService.exportModelPath(excelPath, excelName, file, response, request);
-    }*/
 }

--
Gitblit v1.9.1