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