From 309761da6a8484269c10f559c0cff41782652b6a Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期四, 08 五月 2025 17:14:36 +0800
Subject: [PATCH] 修改钣金计划管理字段映射
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java | 71 +++++++++++++++++++----------------
1 files changed, 38 insertions(+), 33 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 53070f7..3a71bcf 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
@@ -21,6 +21,7 @@
import org.apache.poi.xssf.streaming.SXSSFRow;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,12 +29,11 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.YearMonth;
-import java.time.ZoneId;
+import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
+
+import static java.util.stream.Collectors.groupingBy;
/**
* 姘斾綋绠¤矾浜ц兘璐熻浇缁熻Service涓氬姟灞傚鐞�
@@ -166,7 +166,7 @@
//宸ュ簭鍚嶇О
apsGasPipingRouteStat.setProcessName(apsProcessRoute.getProcessName());
//宸ュ簭鍙�
- apsGasPipingRouteStat.setRoadProcessNumber(apsProcessRoute.getProcessNumber());
+ apsGasPipingRouteStat.setRoadProcessNumber( new BigDecimal(apsProcessRoute.getProcessNumber()) );
//鏍囧噯宸ユ椂
apsGasPipingRouteStat.setStandardTime(apsProcessRoute.getStandardTime());
//涓撲笟
@@ -303,37 +303,42 @@
formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
simpleDateFormat = new SimpleDateFormat("yyyy-MM");
}
- apsGasPipingRouteStats = apsGasPipingRouteStatMapper.selectApsGasPipingRouteStatList(apsGasPipingRouteStat);
+ ApsGasPipingRouteStat queryStatParam = new ApsGasPipingRouteStat();
+ BeanUtils.copyProperties(apsGasPipingRouteStat,queryStatParam);
+ queryStatParam.setMajor("");
+ apsGasPipingRouteStats = apsGasPipingRouteStatMapper.selectApsGasPipingRouteStatList(queryStatParam);
//鏍规嵁寮�宸ユ棩杩涜鍗囧簭鎺掑簭
apsGasPipingRouteStats.sort((a, b)->a.getProcessPlanStartDay().compareTo(b.getProcessPlanStartDay()));
//宸ュ簭寮�宸ユ棩鏈�
String planStartDate = "";
//缁熻鎵�鏈夊伐搴忓搴旂殑寮�宸ユ椂闂�
for (ApsGasPipingRouteStat apsGasPipingRouteStatTemp : apsGasPipingRouteStats) {
- planStartDate = simpleDateFormat.format(apsGasPipingRouteStatTemp.getProcessPlanStartDay());
- if("month".equals(apsGasPipingRouteStat.getSearchType())){
- planStartDate = planStartDate+"-01";
- }
- ApsResourceDateStat apsResourceDateStat = new ApsResourceDateStat();
- apsResourceDateStat.setPlanDay(LocalDate.parse(planStartDate, formatter));
- apsResourceDateStat.setResourceName(apsGasPipingRouteStatTemp.getProcessName());
- //鏌ヨ姘旀煖绠¤矾浜ц兘瑙勫垝琛�
- apsResourceDateStat.setDesignTimes(apsGasPipingPlanMap.get(apsGasPipingRouteStatTemp.getProcessName()+"-"+planStartDate.substring(0, 7))!=null?apsGasPipingPlanMap.get(apsGasPipingRouteStatTemp.getProcessName()+"-"+planStartDate.substring(0, 7)).getDayProduceAllNum():new BigDecimal(0));
- //鏌ヨ鏂欏彿宸ュ簭浜ц兘琛�
- apsResourceDateStat.setRequireTimes(apsGasPipingRouteStatTemp.getProcessTotalTime());
- if(apsResourceDateStat.getDesignTimes().compareTo(BigDecimal.ZERO)>0){
- apsResourceDateStat.setCapacityLoad(apsResourceDateStat.getRequireTimes()
- .divide(apsResourceDateStat.getDesignTimes(), 2, RoundingMode.HALF_UP)
- .multiply(new BigDecimal(100)));
- }else{
- apsResourceDateStat.setCapacityLoad(BigDecimal.valueOf(0));
- }
- List<ApsResourceDateStat> apsResourceDateStatList = new ArrayList<>();
if(processMap.containsKey(apsGasPipingRouteStatTemp.getProcessName())){
- apsResourceDateStatList = processMap.get(apsGasPipingRouteStatTemp.getProcessName());
+ planStartDate = simpleDateFormat.format(apsGasPipingRouteStatTemp.getProcessPlanStartDay());
+ if("month".equals(apsGasPipingRouteStat.getSearchType())){
+ planStartDate = planStartDate+"-01";
+ }
+ ApsResourceDateStat apsResourceDateStat = new ApsResourceDateStat();
+ apsResourceDateStat.setPlanDay(LocalDate.parse(planStartDate, formatter));
+ apsResourceDateStat.setResourceName(apsGasPipingRouteStatTemp.getProcessName());
+ //鏌ヨ姘旀煖绠¤矾浜ц兘瑙勫垝琛�
+ apsResourceDateStat.setDesignTimes(apsGasPipingPlanMap.get(apsGasPipingRouteStatTemp.getProcessName()+"-"+planStartDate.substring(0, 7))!=null?apsGasPipingPlanMap.get(apsGasPipingRouteStatTemp.getProcessName()+"-"+planStartDate.substring(0, 7)).getDayProduceAllNum():new BigDecimal(0));
+ //鏌ヨ鏂欏彿宸ュ簭浜ц兘琛�
+ apsResourceDateStat.setRequireTimes(apsGasPipingRouteStatTemp.getProcessTotalTime());
+ if(apsResourceDateStat.getDesignTimes().compareTo(BigDecimal.ZERO)>0){
+ apsResourceDateStat.setCapacityLoad(apsResourceDateStat.getRequireTimes()
+ .divide(apsResourceDateStat.getDesignTimes(), 2, RoundingMode.HALF_UP)
+ .multiply(new BigDecimal(100)));
+ }else{
+ apsResourceDateStat.setCapacityLoad(BigDecimal.valueOf(0));
+ }
+ // apsResourceDateStatList = new ArrayList<>();
+
+ List<ApsResourceDateStat> apsResourceDateStatList = processMap.get(apsGasPipingRouteStatTemp.getProcessName());
+ apsResourceDateStatList.add(apsResourceDateStat);
+ processMap.put(apsGasPipingRouteStatTemp.getProcessName(), apsResourceDateStatList);
}
- apsResourceDateStatList.add(apsResourceDateStat);
- processMap.put(apsGasPipingRouteStatTemp.getProcessName(), apsResourceDateStatList);
+
}
//鑱氬悎姣忛亾宸ュ簭鐨勫紑宸ユ椂闂村拰浜ц兘
processMap.forEach((processName, apsResourceDateStatList) -> {
@@ -694,10 +699,10 @@
}
}
if(stat.getProcessPlanStartDay()!=null){
- Date processPlanStartDay = stat.getProcessPlanStartDay();
- stat.setPlanStartYear(processPlanStartDay.getYear()+"");
- stat.setPlanStartMonth(processPlanStartDay.getMonth()+"");
- stat.setPlanStartDay(processPlanStartDay.getDay()+"");
+ String[] strNow = new SimpleDateFormat("yyyy-MM-dd").format(stat.getProcessPlanStartDay()).toString().split("-");
+ stat.setPlanStartYear(strNow[0]);
+ stat.setPlanStartMonth(strNow[1]);
+ stat.setPlanStartDay(strNow[2]);
}
last = stat;
cptStateList.add(stat);
@@ -705,7 +710,7 @@
}
// 鎵归噺鎻掑叆浠ユ彁楂樻�ц兘
if (!cptStateList.isEmpty()) {
- int batchSize = 500;
+ int batchSize = 1000;
int size = cptStateList.size();
for (int i = 0; i < size; i += batchSize) {
int end = Math.min(i + batchSize, size);
--
Gitblit v1.9.3