From b7ae34cfa40d3b68980074f3528470be17ffcceb Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期一, 28 四月 2025 19:21:36 +0800
Subject: [PATCH] 【UPDATE-BUGFIX】修改气柜管路产能统计无数据工序显示数据

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java |   35 ++++++++++++++++++++++++++++++-----
 1 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java
index 0542ffb..6535423 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java
@@ -25,7 +25,6 @@
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.sql.Timestamp;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -190,7 +189,7 @@
                         LocalDateTime previousProcessPlanStartDay = apsProcessRoutes.get(i - 1).getProcessPlanStartDay().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
                         long seconds = apsGasPipingRouteStatList.get(i - 1).getProcessTotalTime().multiply(new BigDecimal(60)).multiply(new BigDecimal(60)).longValue();
                         LocalDateTime currentProcessPlanStartDay = previousProcessPlanStartDay.plusSeconds(seconds);
-                        apsGasPipingRouteStat.setProcessPlanStartDay(Date.from(Timestamp.valueOf(currentProcessPlanStartDay.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).toInstant()));
+                        apsGasPipingRouteStat.setProcessPlanStartDay(Date.from(currentProcessPlanStartDay.atZone(ZoneId.systemDefault()).toInstant()));
                     }
                     //鎻掑叆 骞� 鏈� 鏃�
                     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -241,7 +240,6 @@
         List<HashMap<String, List<ApsResourceDateStat>>> processList = new ArrayList<>();
         try {
             //鑾峰彇鏍囧噯宸ュ簭鍚嶇О
-            List<String> processNameList = new ArrayList<>();
             ApsStandardProcess apsStandardProcess = new ApsStandardProcess();
             apsStandardProcess.setMajor(apsGasPipingRouteStat.getMajor().equals("gas")?"姘旀煖":"绠¤矾");
             List<ApsStandardProcess> apsStandardProcessList = apsStandardProcessService.selectApsStandardProcessList(apsStandardProcess);
@@ -309,7 +307,11 @@
                     startPlanTimeSet.add(apsResourceDateStat.getPlanDay().toString());
                     if(dayMap.containsKey(apsResourceDateStat.getPlanDay().toString())){
                         ApsResourceDateStat apsResourceDateStatTemp = dayMap.get(apsResourceDateStat.getPlanDay().toString());
-                        apsResourceDateStatTemp.setDesignTimes(apsGasPipingPlanMap.get(processName)!=null?apsGasPipingPlanMap.get(processName).getMonthProduceAllNum():new BigDecimal(0));
+                        if("month".equals(apsGasPipingRouteStat.getSearchType())){
+                            apsResourceDateStatTemp.setDesignTimes(apsGasPipingPlanMap.get(processName)!=null?apsGasPipingPlanMap.get(processName).getMonthProduceAllNum():new BigDecimal(0));
+                        }else{
+                            apsResourceDateStatTemp.setDesignTimes(apsGasPipingPlanMap.get(processName)!=null?apsGasPipingPlanMap.get(processName).getDayProduceAllNum():new BigDecimal(0));
+                        }
                         apsResourceDateStatTemp.setRequireTimes(apsResourceDateStatTemp.getRequireTimes().add(apsResourceDateStat.getRequireTimes()));
                         if(apsResourceDateStatTemp.getDesignTimes().compareTo(BigDecimal.ZERO) > 0){
                             apsResourceDateStat.setCapacityLoad(apsResourceDateStat.getRequireTimes()
@@ -331,12 +333,35 @@
                 });
                 HashMap<String, List<ApsResourceDateStat>> temp = new HashMap<>();
                 temp.put(processName, tempList);
-                processNameList.remove(processName);
                 processList.add(temp);
             });
             //鎺掑簭鏃堕棿鏍囬
             List<String> sortedStartPlanTimeList = new ArrayList<>(startPlanTimeSet);
             Collections.sort(sortedStartPlanTimeList);
+            for (int i=0;i<processList.size();i++){
+                HashMap<String, List<ApsResourceDateStat>> temp = processList.get(i);
+                for (Map.Entry<String, List<ApsResourceDateStat>> entry : temp.entrySet()){
+                    List<ApsResourceDateStat> apsResourceDateStatList = entry.getValue();
+                    if(apsResourceDateStatList.size()<=0){
+                        for(String tempTime:sortedStartPlanTimeList){
+                            ApsResourceDateStat apsResourceDateStat = new ApsResourceDateStat();
+                            apsResourceDateStat.setPlanDay(LocalDate.parse(tempTime, formatter));
+                            if("month".equals(apsGasPipingRouteStat.getSearchType())){
+                                apsResourceDateStat.setDesignTimes(apsGasPipingPlanMap.get(entry.getKey())!=null?apsGasPipingPlanMap.get(entry.getKey()).getMonthProduceAllNum():new BigDecimal(0));
+                            }else{
+                                apsResourceDateStat.setDesignTimes(apsGasPipingPlanMap.get(entry.getKey())!=null?apsGasPipingPlanMap.get(entry.getKey()).getDayProduceAllNum():new BigDecimal(0));
+                            }
+                            apsResourceDateStat.setRequireTimes(new BigDecimal(0));
+                            apsResourceDateStat.setCapacityLoad(new BigDecimal(0));
+                            apsResourceDateStat.setResourceName(entry.getKey());
+                            apsResourceDateStat.setResourceGroupName(entry.getKey());
+                            apsResourceDateStatList.add(apsResourceDateStat);
+                        }
+                        temp.put(entry.getKey(), apsResourceDateStatList);
+                        processList.set(i, temp);
+                    }
+                }
+            }
             result.put("planTable", processList);
             result.put("planTitle", sortedStartPlanTimeList);
         } catch (Exception e) {

--
Gitblit v1.9.3