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/DjJdgzTrackRecordService.java |  150 ++++++++++++++++++++++++-------------------------
 1 files changed, 73 insertions(+), 77 deletions(-)

diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
index 391d936..90d2886 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
@@ -1,5 +1,6 @@
 package com.example.server.progressTrack.service;
 
+import com.example.client.utils.TranslateToPlainStrUtils;
 import com.example.server.ExportExcel.dto.ExcelColumnDto;
 import com.example.client.service.BaseService;
 import com.example.server.ExportExcel.dto.ExprotExcelDto;
@@ -58,7 +59,7 @@
     private SysTeamGroupClassService sysTeamGroupClassService;
 
 
-    public List<DjJdgzTrackRecord> getList(Long level1NetworkId, Long deptId, Long teamId, Long cabinId, String type, Integer status,Integer isealCabin, String name) {
+    public List<DjJdgzTrackRecord> getList(Long level1NetworkId, Long deptId, Long teamId, Long cabinId, String type, Integer status, Integer isealCabin, String name) {
         Long userId = null;
        /* Map adminRole = sysUserService.adminRole();
         Object isTyRole = adminRole.get("isTyRole");
@@ -66,7 +67,7 @@
         if (isTyRole.equals(true) || isYwzRole.equals(true)) {
             userId =  UserContext.getUser().getId();
         }*/
-        List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId, deptId, teamId, cabinId, type, status, isealCabin,name);
+        List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId, deptId, teamId, cabinId, type, status, isealCabin, name);
         /*if (list != null && list.size() > 0) {
             sysOssService.setListOsses(list, "ProjectProgressFileUpload");
         }*/
@@ -76,18 +77,6 @@
                 Integer trackNum = baseDao.getTrackNum(data.getLevel3NodeId());
                 data.setActualCompletion(data.getEstimatedCompletionTime());
                 data.setTrackNum(trackNum);
-                int weekNo = this.getWeekNo(data.getLevel1NetworkId());
-                if (data.getWeekNo() != null) {
-                    if (data.getWeekNo() != weekNo) {
-                        data.setWeekNo(weekNo);
-                        data.setIsUpdate(false);
-                    } else {
-                        data.setIsUpdate(true);
-                    }
-                } else {
-                    data.setWeekNo(weekNo);
-                    data.setIsUpdate(false);
-                }
             }
         }
         return list;
@@ -102,64 +91,75 @@
         super.deleteLogic(ids);
     }
 
-    public Long save(DjJdgzTrackRecord djJdgzTrackRecord,String type) {
+    public Long save(DjJdgzTrackRecord djJdgzTrackRecord, String type) {
         Long id = null;
-        int weekNo = this.getWeekNo(djJdgzTrackRecord.getLevel1NetworkId());
-        LocalDate currentDate = LocalDate.now();
-        // 瀹氫箟鏃ユ湡鏍煎紡
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        // 灏嗗綋鍓嶆棩鏈熸牸寮忓寲涓哄瓧绗︿覆
-        String formattedDate = currentDate.format(formatter);
-        djJdgzTrackRecord.setUpdateDate(formattedDate);
-        if (djJdgzTrackRecord.getCurrentStatus() == 1 && type.equals("save")) {
-            //鏃堕棿姣旇緝
-            djJdgzTrackRecord.setEstimatedCompletionTime(formattedDate);
-        }
-        if (djJdgzTrackRecord.getIsUpdate()) {
-            this.update(djJdgzTrackRecord);
-            id = djJdgzTrackRecord.getId();
-        } else {
-            id = UUIDUtil.generateId();
-            djJdgzTrackRecord.setWeekNo(weekNo);
-            djJdgzTrackRecord.setId(id);
-            djJdgzTrackRecord.setCreateDate(formattedDate);
-            this.insert(djJdgzTrackRecord);
-            id = djJdgzTrackRecord.getId();
-        }
+        int weekNo = this.getWeekNo(djJdgzTrackRecord.getLevel1NetworkId(),new Date());
 
-        if (djJdgzTrackRecord.getCurrentStatus() == 1) {
-            DjJdgzNetworkLevel3List nextNode = djJdgzNetworkLevel3ListService.getNextNode(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getLevel3NetworkId());
-            Long oldId = baseDao.getIsExit(nextNode.getNetworkId(),nextNode.getProcessName());
-            if (nextNode != null && oldId == null) {
-                DjJdgzTrackRecord data = new DjJdgzTrackRecord();
-                data.setLevel3NodeId(nextNode.getId());
-                data.setProcessName(nextNode.getProcessName());
-                data.setLevel3NetworkId(djJdgzTrackRecord.getLevel3NetworkId());
-                data.setLevel3NetworkName(djJdgzTrackRecord.getLevel3NetworkName());
-                data.setEstimatedCompletionTime(nextNode.getRequiredCompletionTime());
-                data.setGeneralRepairUnit(djJdgzTrackRecord.getGeneralRepairUnit());
-                data.setGeneralRepairUnitContact(djJdgzTrackRecord.getGeneralRepairUnitContact());
-                data.setGeneralRepairUnitDirector(djJdgzTrackRecord.getGeneralRepairUnitDirector());
-                data.setRepairUnit(djJdgzTrackRecord.getRepairUnit());
-                data.setRepairUnitContact(djJdgzTrackRecord.getRepairUnitContact());
-                data.setRepairUnitDirector(djJdgzTrackRecord.getRepairUnitDirector());
-                data.setTrackMethod(1);
-                data.setWeekNo(weekNo);
-                data.setUpdateDate(formattedDate);
-                data.setCreateDate(formattedDate);
-                this.insert(data);
+        if (type.equals("import")) {
+            Long oldId = baseDao.getIsExit(djJdgzTrackRecord.getLevel3NetworkId(), djJdgzTrackRecord.getProcessName(), djJdgzTrackRecord.getWeekNo());
+            if (oldId != null) {
+                djJdgzTrackRecord.setId(oldId);
+                djJdgzTrackRecord.setIsUpdate(true);
+            } else {
+                djJdgzTrackRecord.setIsUpdate(false);
+            }
+        }else{
+            if (djJdgzTrackRecord.getWeekNo() != null && djJdgzTrackRecord.getWeekNo() == weekNo) {
+                djJdgzTrackRecord.setIsUpdate(true);
+            } else {
+                djJdgzTrackRecord.setWeekNo(weekNo);
+                djJdgzTrackRecord.setIsUpdate(false);
+            }
+            LocalDate currentDate = LocalDate.now();
+            // 瀹氫箟鏃ユ湡鏍煎紡
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            // 灏嗗綋鍓嶆棩鏈熸牸寮忓寲涓哄瓧绗︿覆
+            String formattedDate = currentDate.format(formatter);
+
+            if (djJdgzTrackRecord.getCurrentStatus() == 1) {
+                djJdgzTrackRecord.setEstimatedCompletionTime(formattedDate);
             }
         }
-        //鏀瑰彉涓夌骇缃戠粶鍥剧姸鎬�
+
+        if (djJdgzTrackRecord.getIsUpdate()) {
+            this.update(djJdgzTrackRecord);
+        } else {
+            djJdgzTrackRecord.setId(null);
+            if(type.equals("save")){
+                djJdgzTrackRecord.setWeekNo(weekNo);
+            }
+            this.insert(djJdgzTrackRecord);
+        }
+        id = djJdgzTrackRecord.getId();
+
         this.setLevel3Status(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getCurrentStatus(), djJdgzTrackRecord.getEstimatedCompletionTime());
+
+        if (djJdgzTrackRecord.getCurrentStatus() == 1) {
+            DjJdgzNetworkLevel3List nextNode = baseDao.isExistTrackRecord(djJdgzNetworkLevel3ListService.get(djJdgzTrackRecord.getLevel3NodeId()).getSort(), djJdgzTrackRecord.getLevel3NetworkId());
+            if (nextNode != null && nextNode.getTrackRecordId() == null) {
+                djJdgzTrackRecord.setId(null);
+                djJdgzTrackRecord.setLevel3NodeId(nextNode.getId());
+                djJdgzTrackRecord.setProcessName(nextNode.getProcessName());
+                djJdgzTrackRecord.setEstimatedCompletionTime(nextNode.getRequiredCompletionTime());
+                djJdgzTrackRecord.setWeekNo(weekNo);
+                djJdgzTrackRecord.setCurrentStatus(0);
+
+                djJdgzTrackRecord.setUpdateDate(null);
+                djJdgzTrackRecord.setCreateDate(null);
+                djJdgzTrackRecord.setCreator(null);
+                djJdgzTrackRecord.setUpdater(null);
+                this.insert(djJdgzTrackRecord);
+                this.setLevel3Status(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getCurrentStatus(), djJdgzTrackRecord.getEstimatedCompletionTime());
+            }
+        }
         return id;
+
     }
 
-    public int getWeekNo(Long level1NetworkId) {
+    public int getWeekNo(Long level1NetworkId,Date nowDate) {
         DjJdgzNetworkLevel1 level1Network = djJdgzNetworkLevel1Service.get(level1NetworkId);
         SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd");
-        String formattedDate = sdFormat.format(new Date());
-        Date nowDate = null;
+        String formattedDate = sdFormat.format(nowDate);
         Date startDate = null;
         try {
             nowDate = sdFormat.parse(formattedDate);
@@ -207,8 +207,8 @@
         if (isTyRole.equals(true) || isYwzRole.equals(true)) {
             userId = UserContext.getUser().getId();
         }*/
-        int weekNo = this.getWeekNo(level1NetworkId);
-        List<DjJdgzTrackRecord> data = baseDao.prompt(level1NetworkId, weekNo, userId,deptId,teamId,name);
+        int weekNo = this.getWeekNo(level1NetworkId,new Date());
+        List<DjJdgzTrackRecord> data = baseDao.prompt(level1NetworkId, weekNo, userId, deptId, teamId, name);
         for (DjJdgzTrackRecord record : data) {
             int i = weekNo - record.getWeekNo();
             record.setStatus(i + "鍛ㄦ湭瀹屾垚");
@@ -220,8 +220,6 @@
                             Long level3NetworkId, Long level3NodeId, Integer status, Date beginDate,
                             Date endDate, Integer istq, List<ExcelColumnDto> columnDto) {
         List<ExprotExcelDto> dtos = new ArrayList<>();
-   /*     Map<String, String> keywordMap = dailyPlanService.getReplacement();
-        String keywordT = keywordMap.get("ting");*/
 
         Map<Integer, String> trackMethodMap = new HashMap<>();
         trackMethodMap.put(0, "绾夸笅");
@@ -296,7 +294,8 @@
         }
     }
 
-    public List<DjJdgzTrackRecord> getListByImport(Long level1Id, Long level2Id, Long level2NodeId, String selectedIds) {
+    public List<DjJdgzTrackRecord> getListByImport(Long level1Id, Long level2Id, Long level2NodeId, String
+            selectedIds) {
         return baseDao.getListByImport(level1Id, level2Id, level2NodeId, selectedIds);
     }
 
@@ -388,7 +387,8 @@
                     isErr = true;
                     continue;
                 } else {
-                    int weekNo = this.getWeekNo(level1NetworkId);
+                    Date parsedDate = new SimpleDateFormat("yyyy-MM-dd").parse(dataDate);
+                    int weekNo = this.getWeekNo(level1NetworkId, parsedDate);
                     data.setWeekNo(weekNo);
                     data.setLevel1NetworkId(level1NetworkId);
                     data.setLevel3NetworkId(level3.getId());
@@ -473,6 +473,7 @@
                 }
 
                 if (StringUtils.isNotBlank(trackPersonContact)) {
+                    trackPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackPersonContact);
                     data.setTrackPersonContact(trackPersonContact);
                 }
 
@@ -485,6 +486,7 @@
                 }
 
                 if (StringUtils.isNotBlank(trackedPersonContact)) {
+                    trackedPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackedPersonContact);
                     data.setTrackedPersonContact(trackedPersonContact);
                 }
 
@@ -496,6 +498,7 @@
                 }
 
                 if (StringUtils.isNotBlank(generalRepairUnitContact)) {
+                    generalRepairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnitContact);
                     data.setGeneralRepairUnitContact(generalRepairUnitContact);
                 }
                 if (StringUtils.isNotBlank(generalRepairUnitDirector)) {
@@ -505,6 +508,7 @@
                     data.setRepairUnit(repairUnit);
                 }
                 if (StringUtils.isNotBlank(generalRepairUnit)) {
+                    generalRepairUnit = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnit);
                     data.setRepairUnitContact(repairUnitContact);
                 }
                 if (StringUtils.isNotBlank(generalRepairUnit)) {
@@ -512,15 +516,7 @@
                 }
 
                 if (!isErr) {
-                    Long oldId = baseDao.getIsExit(data.getLevel3NetworkId(),data.getProcessName());
-                    if (oldId!=null) {
-                        data.setId(oldId);
-                        data.setIsUpdate(true);
-                    }else{
-                        data.setIsUpdate(false);
-                    }
-
-                    this.save(data,"import");
+                    this.save(data, "import");
                 }
                 if (isErr) {
                     err++;

--
Gitblit v1.9.1