From 9c2c61a775bec01096ab0459b90e46d2f1d8d439 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 15:38:56 +0800
Subject: [PATCH] 倾斜度
---
src/main/java/com/zy/task/CrnTiltRecordTask.java | 59 ++++++++++++++++++++++++++++++++---------------------------
1 files changed, 32 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/zy/task/CrnTiltRecordTask.java b/src/main/java/com/zy/task/CrnTiltRecordTask.java
index 62c8846..249b7c4 100644
--- a/src/main/java/com/zy/task/CrnTiltRecordTask.java
+++ b/src/main/java/com/zy/task/CrnTiltRecordTask.java
@@ -94,32 +94,43 @@
log.info("鎵惧埌 {} 鍙板爢鍨涙満锛屽紑濮嬭褰曞�炬枩搴︽暟鎹�", crnSlaves.size());
- Date recordDate = new Date();
+ Date recordTime = new Date();
+ // 璁$畻浠婂ぉ鐨勫紑濮嬫椂闂达紙鐢ㄤ簬鍘婚噸鍒ゆ柇锛�
Calendar cal = Calendar.getInstance();
- cal.setTime(recordDate);
+ cal.setTime(recordTime);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
- Date recordDateOnly = cal.getTime();
+ Date todayStart = cal.getTime();
+ Date todayEnd = new Date(todayStart.getTime() + 24 * 60 * 60 * 1000 - 1);
int successCount = 0;
int failCount = 0;
for (CrnSlave crnSlave : crnSlaves) {
try {
+ // 妫�鏌ヤ粖澶╂槸鍚﹀凡缁忚褰曡繃锛堜娇鐢� record_time 鐨勬棩鏈熼儴鍒嗭級
+ EntityWrapper<CrnTiltRecord> checkWrapper = new EntityWrapper<>();
+ checkWrapper.eq("crn_no", crnSlave.getId());
+ checkWrapper.ge("record_time", todayStart);
+ checkWrapper.le("record_time", todayEnd);
+ int count = crnTiltRecordService.selectCount(checkWrapper);
+ if (count > 0) {
+ log.info("鍫嗗灈鏈簕}浠婂ぉ宸茶褰曡繃鍊炬枩搴︽暟鎹紝璺宠繃", crnSlave.getId());
+ continue;
+ }
+
// 璇诲彇鍊炬枩搴︽暟鎹�
CrnTiltRecord record = readTiltDataFromPLC(crnSlave);
if (record != null) {
record.setCrnNo(crnSlave.getId());
- record.setRecordDate(recordDateOnly);
- record.setRecordTime(recordDate);
+ record.setRecordTime(recordTime);
record.setRecordType("STARTUP"); // 鍚姩鏃惰褰�
// 鑾峰彇涓婃璁板綍鐢ㄤ簬瀵规瘮
EntityWrapper<CrnTiltRecord> lastWrapper = new EntityWrapper<>();
lastWrapper.eq("crn_no", crnSlave.getId());
- lastWrapper.orderBy("record_date", false);
lastWrapper.orderBy("record_time", false);
lastWrapper.last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY");
CrnTiltRecord lastRecord = crnTiltRecordService.selectOne(lastWrapper);
@@ -179,26 +190,31 @@
return;
}
- Date recordDate = new Date();
+ Date recordTime = new Date();
+ // 璁$畻鏈懆鐨勫紑濮嬫椂闂达紙鐢ㄤ簬鍘婚噸鍒ゆ柇锛�
Calendar cal = Calendar.getInstance();
- cal.setTime(recordDate);
- // 璁剧疆涓哄綋澶╃殑寮�濮嬫椂闂达紙00:00:00锛�
+ cal.setTime(recordTime);
+ // 璁剧疆涓烘湰鍛ㄤ竴
+ int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
+ int daysFromMonday = (dayOfWeek == Calendar.SUNDAY ? 6 : dayOfWeek - Calendar.MONDAY);
+ cal.add(Calendar.DAY_OF_MONTH, -daysFromMonday);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
- Date recordDateOnly = cal.getTime();
+ Date weekStart = cal.getTime();
+ Date weekEnd = new Date(weekStart.getTime() + 7 * 24 * 60 * 60 * 1000 - 1);
int successCount = 0;
int failCount = 0;
for (CrnSlave crnSlave : crnSlaves) {
try {
- // 妫�鏌ユ湰鍛ㄦ槸鍚﹀凡缁忚褰曡繃
+ // 妫�鏌ユ湰鍛ㄦ槸鍚﹀凡缁忚褰曡繃锛堜娇鐢� record_time 鐨勬棩鏈熼儴鍒嗭級
EntityWrapper<CrnTiltRecord> wrapper = new EntityWrapper<>();
wrapper.eq("crn_no", crnSlave.getId());
- wrapper.ge("record_date", recordDateOnly);
- wrapper.le("record_date", new Date(recordDateOnly.getTime() + 24 * 60 * 60 * 1000 - 1));
+ wrapper.ge("record_time", weekStart);
+ wrapper.le("record_time", weekEnd);
int count = crnTiltRecordService.selectCount(wrapper);
if (count > 0) {
@@ -210,14 +226,12 @@
CrnTiltRecord record = readTiltDataFromPLC(crnSlave);
if (record != null) {
record.setCrnNo(crnSlave.getId());
- record.setRecordDate(recordDateOnly);
- record.setRecordTime(recordDate);
+ record.setRecordTime(recordTime);
record.setRecordType("AUTO"); // 鑷姩璁板綍
// 鑾峰彇涓婃璁板綍鐢ㄤ簬瀵规瘮
EntityWrapper<CrnTiltRecord> lastWrapper = new EntityWrapper<>();
lastWrapper.eq("crn_no", crnSlave.getId());
- lastWrapper.orderBy("record_date", false);
lastWrapper.orderBy("record_time", false);
lastWrapper.last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY");
CrnTiltRecord lastRecord = crnTiltRecordService.selectOne(lastWrapper);
@@ -340,14 +354,7 @@
return;
}
- Date recordDate = new Date();
- Calendar cal = Calendar.getInstance();
- cal.setTime(recordDate);
- cal.set(Calendar.HOUR_OF_DAY, 0);
- cal.set(Calendar.MINUTE, 0);
- cal.set(Calendar.SECOND, 0);
- cal.set(Calendar.MILLISECOND, 0);
- Date recordDateOnly = cal.getTime();
+ Date recordTime = new Date();
int successCount = 0;
int failCount = 0;
@@ -363,14 +370,12 @@
CrnTiltRecord record = readTiltDataFromPLC(crnSlave);
if (record != null) {
record.setCrnNo(crnSlave.getId());
- record.setRecordDate(recordDateOnly);
- record.setRecordTime(recordDate);
+ record.setRecordTime(recordTime);
record.setRecordType("MANUAL"); // 鎵嬪姩瑙﹀彂
// 鑾峰彇涓婃璁板綍鐢ㄤ簬瀵规瘮
EntityWrapper<CrnTiltRecord> lastWrapper = new EntityWrapper<>();
lastWrapper.eq("crn_no", crnSlave.getId());
- lastWrapper.orderBy("record_date", false);
lastWrapper.orderBy("record_time", false);
lastWrapper.last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY");
CrnTiltRecord lastRecord = crnTiltRecordService.selectOne(lastWrapper);
--
Gitblit v1.9.1