From e487d886533bb60618864642b85f13957252f70d Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期三, 30 十月 2024 13:42:07 +0800
Subject: [PATCH] nologin add command list
---
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/task/WorkloadTask.java | 37 ++++++++++++++++++++-----------------
1 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/task/WorkloadTask.java b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/task/WorkloadTask.java
index 4229b6f..b1114d1 100644
--- a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/task/WorkloadTask.java
+++ b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/task/WorkloadTask.java
@@ -24,24 +24,27 @@
@Override
@Transactional
public void execute(JobExecutionContext ctx) throws JobExecutionException {
+ //today 0鐐�5鍒� 缁熻before today
log.info("鍚姩缁熻浜哄憳宸ヤ綔閲忎换鍔�");
- OthStatisticWorkloadMapper workloadMapper = SpringContextUtil.getBean(OthStatisticWorkloadMapper.class);
- //鎵惧埌鏈�澶т竴鏉℃棩鏈熻褰�
- Date maxDate = workloadMapper.selectMaxDate();
- //寰�鍚庡惊鐜ぉ鏁版眹鎬�
- if(maxDate != null){
- //寰幆缁熻
- LocalDate firstDay = maxDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
- LocalDate today = LocalDate.now();
- LocalDate nextDate = firstDay.plusDays(1);
- long daysBetween = ChronoUnit.DAYS.between(firstDay,today);
- for(int i=1 ; i<= daysBetween ; i++){
- Date startDt = Date.from(LocalDateTime.of(nextDate, LocalTime.of(0,0,0)).atZone(ZoneId.systemDefault()).toInstant()); ;
- Date endDt = Date.from(LocalDateTime.of(nextDate, LocalTime.of(23,59,59)).atZone(ZoneId.systemDefault()).toInstant());
- workloadMapper.insertBatch(startDt,endDt);
- nextDate = firstDay.plusDays(i);
- }
+ OthStatisticWorkloadMapper workloadMapper = SpringContextUtil.getBean(OthStatisticWorkloadMapper.class);
+ //搴旇缁熻鐨勬棩鏈�
+ DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE;
+ LocalDate maxLocalDate = LocalDate.parse(workloadMapper.selectMaxDate(), formatter);
+
+ LocalDate today = LocalDate.now();
+ LocalDate statisticDate = maxLocalDate;
+ long daysBetween = ChronoUnit.DAYS.between(maxLocalDate, today);
+ if (daysBetween > 30) {
+ daysBetween = 30;
+ statisticDate = today.minusDays(daysBetween);
}
- log.info("鐢熶骇鏃ュ織绉诲姩浠诲姟缁撴潫");
+
+ for (int i = 1; i <= daysBetween; i++) {
+ Date startDt = Date.from(LocalDateTime.of(statisticDate, LocalTime.of(0, 0, 0)).atZone(ZoneId.systemDefault()).toInstant());
+ Date endDt = Date.from(LocalDateTime.of(statisticDate, LocalTime.of(23, 59, 59)).atZone(ZoneId.systemDefault()).toInstant());
+ workloadMapper.insertBatch(startDt, endDt);
+ statisticDate = maxLocalDate.plusDays(i);
+ }
+ log.info("缁熻浜哄憳宸ヤ綔閲忎换鍔$粨鏉�");
}
}
--
Gitblit v1.8.0