From e772b3d8cf395e9d441419373d883601350fbf0b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 17 六月 2026 16:19:09 +0800
Subject: [PATCH] 设备保养内容字段增加
---
src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskScheduler.java | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskScheduler.java b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskScheduler.java
index ec7a8e3..6fd5a8d 100644
--- a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskScheduler.java
+++ b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskScheduler.java
@@ -160,6 +160,8 @@
return convertMonthlyToCron(task.getFrequencyDetail());
case "QUARTERLY":
return convertQuarterlyToCron(task.getFrequencyDetail());
+ case "YEARLY":
+ return convertYearlyToCron(task.getFrequencyDetail());
default:
throw new IllegalArgumentException("涓嶆敮鎸佺殑棰戠巼绫诲瀷: " + task.getFrequencyType());
}
@@ -204,6 +206,22 @@
quarterStartMonth);
}
+ // 姣忓勾浠诲姟杞崲
+ private String convertYearlyToCron(String frequencyDetail) {
+ String[] parts = validateAndSplit(frequencyDetail, ",", 3);
+ int month = validateMonth(parts[0]); // 楠岃瘉鏈堜唤(1-12)
+ int day = validateDayOfMonth(parts[1]); // 楠岃瘉鏃ユ湡
+ LocalTime time = parseTime(parts[2]); // 瑙f瀽鏃堕棿
+
+ // Cron琛ㄨ揪寮�: 绉� 鍒� 鏃� 鏃� 鏈� 鍛�
+ // 姣忓勾鎸囧畾鏈堜唤鐨勬寚瀹氭棩鎵ц
+ return String.format("0 %d %d %d %d ?",
+ time.getMinute(),
+ time.getHour(),
+ day,
+ month);
+ }
+
// 鏂板楠岃瘉鏈堜唤鐨勬柟娉�(1-12)
private int validateMonth(String monthStr) {
try {
--
Gitblit v1.9.3