From 25cc1b887f5421353d94c5e6be0fca56b3f2e668 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期三, 21 五月 2025 16:29:24 +0800
Subject: [PATCH] 优化Job
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java | 31 ++++++++++++++++++++++++-------
1 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java
index 010cb9d..c7bf07f 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java
@@ -3,6 +3,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
@@ -14,12 +15,16 @@
import com.aps.core.domain.ApsPartPlan;
import com.aps.core.domain.ApsResourceDateStat;
import com.aps.core.domain.ApsResourceGroup;
+import com.aps.core.mapper.ApsAbnormalProcessAnalysisMapper;
import com.aps.core.mapper.ApsResourceGroupMapper;
+import com.aps.core.service.IApsAbnormalProcessAnalysisService;
+import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.Removal;
import org.apache.poi.xssf.streaming.SXSSFCell;
import org.apache.poi.xssf.streaming.SXSSFRow;
import org.apache.poi.xssf.streaming.SXSSFSheet;
@@ -50,6 +55,9 @@
private ApsResourceGroupMapper resourceGroupMapper;
@Autowired
private ApsResourceGroupMapper apsResourceGroupMapper;
+
+ @Resource
+ private IApsAbnormalProcessAnalysisService analysisService;
/**
* 鏌ヨ闆朵欢缁熻琛�
@@ -149,24 +157,32 @@
/*鍒ゆ柇褰撳墠宸ュ簭 褰撳墠宸ュ簭鍙湁涓�鏉�*/
if (stat.getCurrentProcessNumber().equals(stat.getRoadProcessNumber())) {
/* 瀵� stat.getProcessPlanStartDay() 鍜屽綋鍓嶆棩鏈� 杩涜瀵规瘮锛屽彧瀵规瘮鍒版棩锛屼笉鐢ㄧ鍗佸垎绉�*/
- if (stat.getProcessPlanStartDay().toLocalDate().isBefore(LocalDateTime.now().toLocalDate())) {
- stat.setProcessPlanStartDay(LocalDateTime.now());
+ LocalDate startLocalDate = LocalDate.ofInstant(stat.getProcessPlanStartDay().toInstant(), ZoneId.systemDefault());
+ LocalDate nowLocalDate = LocalDate.now();
+ if (startLocalDate.isBefore(nowLocalDate)) {
+ stat.setProcessPlanStartDay(new Date());
}
}
/*鏈紑宸ュ伐搴忕殑璁″垝寮�宸ユ棩=涓婁竴閬撳伐搴忕殑璁″垝寮�宸ユ棩+涓婁竴閬撳伐搴忕殑宸ュ簭鎬诲伐鏃躲��*/
if (stat.getCurrentProcessNumber().compareTo(stat.getRoadProcessNumber()) < 0) {
if (last != null) {
- stat.setProcessPlanStartDay(last.getProcessPlanStartDay().plusHours(last.getProcessTotalTime()));
+ LocalDateTime lastStartDate = LocalDateTime.ofInstant(last.getProcessPlanStartDay().toInstant(), ZoneId.systemDefault());
+ long seconds = last.getProcessTotalTime().multiply(new BigDecimal(60)).multiply(new BigDecimal(60)).longValue();
+ LocalDateTime currentStartDate = lastStartDate.plusSeconds(seconds);
+ stat.setProcessPlanStartDay(Date.from(currentStartDate.atZone(ZoneId.systemDefault()).toInstant()));
}
}
/*淇濆瓨涓婁竴姝ヨ绠楃殑 寮�宸ユ棩*/
last = stat;
stat.setId(IdUtils.fastUUID().toString());
stat.setBatchNumber(batchNum);
+ stat.setDelFlag("0");
apsPartRouteStatMapper.insertApsPartRouteStat(stat);
}
}
apsPartRouteStatMapper.deleteLastBatch(batchNum);
+ /*璁$畻骞朵繚瀛� 宸ュ簭寮傚父淇℃伅*/
+ analysisService.batchSaveAbnormalInfo();
}
/** 鏌ヨ璧勬簮鏃ュ巻琛�
*/
@@ -213,8 +229,9 @@
else {
ApsResourceDateStat empty = new ApsResourceDateStat();
empty.setPlanDay(LocalDate.parse(planDay, formatter));
- empty.setDesignTimes(resourceGroup.getDevicesQuantity().intValue()*resourceGroup.getTheoryHours().intValue());
- empty.setRequireTimes(0);
+ // empty.setDesignTimes(resourceGroup.getDevicesQuantity().intValue()*resourceGroup.getTheoryHours().intValue());
+ empty.setDesignTimes(resourceGroup.getTheoryHours().multiply(BigDecimal.valueOf( resourceGroup.getDevicesQuantity())));
+ empty.setRequireTimes(BigDecimal.ZERO);
empty.setResourceName(resourceName);
empty.setResourceGroupName(resourceName);
empty.setCapacityLoad(BigDecimal.ZERO);
@@ -286,8 +303,8 @@
dataRow.createCell(0).setCellValue(resourceName);
for (int j = 0; j < resourceDateStats.size(); j++) {
ApsResourceDateStat apsResourceDateStat = resourceDateStats.get(j);
- dataRow.createCell(j*3+1).setCellValue(apsResourceDateStat.getDesignTimes());
- dataRow.createCell(j*3+2).setCellValue(apsResourceDateStat.getRequireTimes());
+ dataRow.createCell(j*3+1).setCellValue(apsResourceDateStat.getDesignTimes().doubleValue());
+ dataRow.createCell(j*3+2).setCellValue(apsResourceDateStat.getRequireTimes().doubleValue());
dataRow.createCell(j*3+3).setCellValue(apsResourceDateStat.getCapacityLoad().doubleValue()+"%");
}
}
--
Gitblit v1.9.3