From c3a981e80973ac52b5988aca62b87409976c6fb1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 18 六月 2026 13:09:28 +0800
Subject: [PATCH] 1.计量器具台账上传附件报错 2.质量拉的数据不对(未明确) 3.计量器具台账逾期的做标红提醒 4.设备保养定时任务和记录要加上具体的保养内容 5.质量要区分质检规则抽检还是全检,抽检的话是抽多少百分比 6.供应商管理东西太少了,没有资质文件啊这些东西(是不是可以参考pro) 7.采购审批把人从李莹莹改成龙红星
---
src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduleUtils.java | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduleUtils.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduleUtils.java
index 5c488d2..1200c31 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduleUtils.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduleUtils.java
@@ -33,6 +33,8 @@
return calculateMonthlyNextTime(frequencyDetail, currentTime);
case "QUARTERLY":
return calculateQuarterlyNextTime(frequencyDetail, currentTime);
+ case "YEARLY":
+ return calculateYearlyNextTime(frequencyDetail, currentTime);
default:
throw new IllegalArgumentException("涓嶆敮鎸佺殑棰戠巼绫诲瀷: " + frequencyType);
}
@@ -105,6 +107,30 @@
throw new IllegalArgumentException("鏃犳硶鎵惧埌涓嬩竴娆℃墽琛屾椂闂�");
}
+ private static LocalDateTime calculateYearlyNextTime(String detail, LocalDateTime current) {
+ String[] parts = validateAndSplit(detail, ",", 3);
+ int month = validateMonth(parts[0]);
+ int dayOfMonth = validateDayOfMonth(parts[1]);
+ LocalTime time = parseTime(parts[2]);
+
+ for (int i = 0; i < 5; i++) {
+ int year = current.getYear() + i;
+ YearMonth targetYearMonth = YearMonth.of(year, month);
+ int adjustedDay = Math.min(dayOfMonth, targetYearMonth.lengthOfMonth());
+ LocalDateTime target = LocalDateTime.of(
+ year,
+ month,
+ adjustedDay,
+ time.getHour(),
+ time.getMinute()
+ );
+ if (target.isAfter(current)) {
+ return target;
+ }
+ }
+ throw new IllegalArgumentException("鏃犳硶鎵惧埌涓嬩竴娆℃墽琛屾椂闂�");
+ }
+
private static LocalTime parseTime(String timeStr) {
try {
return LocalTime.parse(timeStr, TIME_FORMATTER);
--
Gitblit v1.9.3