From 61cd8da46195e98f3acaf1586956c1d7f2234070 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期四, 17 四月 2025 18:45:25 +0800
Subject: [PATCH] 增加日志表基础代码
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessStatServiceImpl.java | 64 +++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 17 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessStatServiceImpl.java
index 33df3be..83ed6e3 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessStatServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessStatServiceImpl.java
@@ -110,6 +110,8 @@
String batchNum = IdUtils.fastSimpleUUID();
List<ApsPlateProcessStat> tempList = apsPlateProcessStatMapper.queryTempStat();
Map<String, List<ApsPlateProcessStat>> groupByOrderNo = tempList.stream().collect(groupingBy(ApsPlateProcessStat::getWorkOrderNo));
+ Boolean hasBefore = false;
+ LocalDateTime now = LocalDateTime.now();
for (Map.Entry<String, List<ApsPlateProcessStat>> entry : groupByOrderNo.entrySet()) {
List<ApsPlateProcessStat> statPerOrder = entry.getValue();
/*num 涓烘牴鎹畬宸ユ椂闂存帓搴忓嚭鐨勫簭鍙凤紝鎸夋鎺掑簭锛屽彲淇濊瘉鏄寜瀹屽伐鏃堕棿鍊掑彊鎺掑垪*/
@@ -120,33 +122,61 @@
stat.setId(IdUtils.fastSimpleUUID());
stat.setBatchNumber(batchNum);
stat.setCreateBy(SecurityUtils.getUsername());
+ stat.setWarning(false);
if(i==0){
Date orderPlanEndDay = stat.getOrderPlanEndDay();
LocalDateTime transLocalDateTime = transLocalDateTime(orderPlanEndDay);
LocalTime endOfDay = LocalTime.of(23, 59, 59);
LocalDateTime orderPlanEndDayLocalDateTime = LocalDateTime.of( transLocalDateTime.toLocalDate(), endOfDay);
-
- /*璁″垝瀹屽伐鏃�=閽i噾璁″垝宸ュ崟瀹屾垚鏃堕棿*/
- stat.setProcessPlanEndDay(transDate(orderPlanEndDayLocalDateTime));
- /*璁″垝寮�宸ユ棩=閽i噾璁″垝宸ュ崟瀹屾垚鏃堕棿 - 宸ュ簭鎬诲伐鏃�*/
- stat.setProcessPlanStartDay(transDate(orderPlanEndDayLocalDateTime.minusHours(stat.getProcessTotalTime())));
- }
- /*褰撳伐鑹哄伐搴忓彿 > 宸ュ崟褰撳墠宸ュ簭鏃讹紝浠h〃鏄湭鏉ョ殑宸ュ簭锛屾墠杩涜璁″垝寮�宸ユ棩 鍜岃鍒掑畬宸ユ棩鐨勮绠�*/
- if( stat.getRouteProcessNumber().compareTo(stat.getCurrentProcessNumber())>0){
- /*&璁″垝寮�宸ユ棩 鍜� 璁″垝瀹屾垚鏃� 锛屽悓鏃跺ぇ浜庡綋鍓嶆棩鏈熸椂鎵ц璁$畻*/
- LocalDateTime currentEndDay = transLocalDateTime(stat.getProcessPlanEndDay());
- LocalDateTime currentStartDay = transLocalDateTime(stat.getProcessPlanStartDay());
- if(currentEndDay.isAfter(LocalDateTime.now()) && currentStartDay.isAfter(LocalDateTime.now())){
- if(last!=null){
- /*鏈紑宸ュ伐搴忕殑璁″垝寮�宸ユ棩=涓婁竴閬撳伐搴忕殑璁″垝寮�宸ユ棩+涓婁竴閬撳伐搴忕殑宸ュ簭鎬诲伐鏃躲��*/
- stat.setProcessPlanEndDay(last.getProcessPlanStartDay());
- stat.setProcessPlanStartDay(transDate(transLocalDateTime(last.getProcessPlanStartDay()).minusHours(stat.getProcessTotalTime()) ));
+ if(orderPlanEndDayLocalDateTime.isBefore(now)){
+ hasBefore = true;
+ stat.setWarning(true);
+ stat.setProcessPlanEndDay(transDate(now));
+ stat.setProcessPlanStartDay(transDate(now));
+ }else {
+ /*璁″垝瀹屽伐鏃�=閽i噾璁″垝宸ュ崟瀹屾垚鏃堕棿*/
+ stat.setProcessPlanEndDay(transDate(orderPlanEndDayLocalDateTime));
+ /*璁″垝寮�宸ユ棩=閽i噾璁″垝宸ュ崟瀹屾垚鏃堕棿 - 宸ュ簭鎬诲伐鏃�*/
+ LocalDateTime lastPlanStartDt = orderPlanEndDayLocalDateTime.minusHours(stat.getProcessTotalTime());
+ if(lastPlanStartDt.isBefore(now)){
+ hasBefore = true;
+ stat.setProcessPlanStartDay(transDate(now));
+ }else {
+ stat.setProcessPlanStartDay(transDate(lastPlanStartDt));
}
- }
+ }
+ }
+ /*褰撳伐鑹哄伐搴忓彿 >= 宸ュ崟褰撳墠宸ュ簭 浠h〃鏄湭鏉ュ伐搴忥紝鎵嶈繘琛岃鍒掑紑宸ユ棩 鍜岃鍒掑畬宸ユ棩鐨勮绠�
+ * 褰撳伐鑹哄伐搴忓彿 < 宸ュ崟褰撳墠宸ュ簭 杩囧幓宸ュ簭锛屼笉杩涜璁$畻
+ * */
+ if( stat.getRouteProcessNumber().compareTo(stat.getCurrentProcessNumber())>=0){
+ /*鍊掓帓鏃� 涓嬩竴閬撳伐搴忓瓨鍦� 姣斿綋鍓嶆椂闂村皬鐨勮鍒掓椂闂达紝鍒欏綋鍓嶈鍒掑紑濮嬪拰缁撴潫鏃堕棿閮芥槸褰撳墠鏃堕棿*/
+ if(hasBefore){
+ stat.setWarning(true);
+ stat.setProcessPlanEndDay(transDate(now));
+ stat.setProcessPlanStartDay(transDate(now));
+ }else{
+ /*涓嬩竴閬撳伐搴忚鍒掓椂闂撮兘姝e父鏃讹紝*/
+ if (last != null) {
+ /*褰撳墠宸ュ簭缁撴潫鏃堕棿=涓嬩竴閬撳伐搴忕殑寮�濮嬫椂闂�*/
+ stat.setProcessPlanEndDay(last.getProcessPlanStartDay());
+ /*寮�濮嬫椂闂�=缁撴潫鏃堕棿-鎬诲伐鏃�*/
+ LocalDateTime crtStartDt = transLocalDateTime(last.getProcessPlanStartDay()).minusHours(stat.getProcessTotalTime());
+ /*濡傛灉寮�濮嬫椂闂村皬浜庡綋鍓嶆椂闂�*/
+ if(crtStartDt.isBefore(now)){
+ hasBefore=true;
+ stat.setWarning(true);
+ stat.setProcessPlanStartDay(transDate(now));
+ }else {
+ stat.setProcessPlanStartDay(transDate(crtStartDt));
+ }
+ }
+ }
}
last = stat;
apsPlateProcessStatMapper.insertApsPlateProcessStat(stat);
}
+ hasBefore=false;
}
apsPlateProcessStatMapper.removeOtherStat(batchNum);
--
Gitblit v1.9.3