From 43aab58c9ecb1203770ba382efbdbae299ca87ec Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 26 十月 2026 15:12:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business' into dev_business
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleSaveReqVO.java | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleSaveReqVO.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleSaveReqVO.java
index 8c244a8..e775b00 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleSaveReqVO.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleSaveReqVO.java
@@ -5,6 +5,7 @@
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.AssertTrue;
import java.math.BigDecimal;
import java.time.LocalTime;
@@ -39,10 +40,36 @@
@Schema(description = "鍔犵彮璧风畻鏃堕暱锛堝皬鏃讹級", example = "1")
private BigDecimal overtimeThreshold;
+ @Schema(description = "鎵撳崱鍦扮偣鍚嶇О")
+ private String locationName;
+ @Schema(description = "鎵撳崱鍦扮偣鍦板潃")
+ private String locationAddress;
+ @Schema(description = "鍦扮偣缁忓害锛圵GS84锛�")
+ private BigDecimal longitude;
+ @Schema(description = "鍦扮偣绾害锛圵GS84锛�")
+ private BigDecimal latitude;
+ @Schema(description = "鍏佽鎵撳崱鍗婂緞锛屽崟浣嶇背")
+ private Integer radiusMeters;
+ @Schema(description = "鏄惁鍚敤浣嶇疆闄愬埗")
+ private Boolean locationRequired;
+ @Schema(description = "鍧愭爣绯伙紝浠呮敮鎸� WGS84")
+ private String coordinateSystem;
+
+ @AssertTrue(message = "鍚敤瀹氫綅鎵撳崱鏃讹紝鍦扮偣鍚嶇О銆佺粡绾害鍜�10~5000绫虫墦鍗″崐寰勫繀椤诲畬鏁撮厤缃�")
+ public boolean isLocationConfigValid() {
+ if (!Boolean.TRUE.equals(locationRequired)) {
+ return true;
+ }
+ return locationName != null && !locationName.isBlank()
+ && longitude != null && latitude != null && radiusMeters != null
+ && radiusMeters >= 10 && radiusMeters <= 5000
+ && "WGS84".equalsIgnoreCase(coordinateSystem);
+ }
+
@Schema(description = "鐘舵�侊細0-鍚敤锛�1-绂佺敤", example = "0")
private Integer status;
@Schema(description = "澶囨敞", example = "閫傜敤浜庣爺鍙戦儴闂�")
private String remark;
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3