From 13247cdd98c94e4f7ec438e2495a8e4ee5978aa4 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 11 二月 2026 17:27:22 +0800
Subject: [PATCH] feat: 已进行开票、回款操作的销售台账需限制不能编辑

---
 src/main/java/com/ruoyi/staff/utils/LocationUtils.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/utils/LocationUtils.java b/src/main/java/com/ruoyi/staff/utils/LocationUtils.java
new file mode 100644
index 0000000..d335235
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/utils/LocationUtils.java
@@ -0,0 +1,37 @@
+package com.ruoyi.staff.utils;
+
+// 宸ュ叿绫伙細璁$畻涓や釜缁忕含搴︿箣闂寸殑璺濈锛堢悆闈㈣窛绂伙級
+public class LocationUtils {
+    private static final double EARTH_RADIUS = 6371000; // 鍦扮悆鍗婂緞锛屽崟浣嶇背
+
+    /**
+     * 璁$畻涓や釜缁忕含搴︿箣闂寸殑璺濈锛堢背锛�
+     * @param lat1 绗竴涓偣绾害
+     * @param lon1 绗竴涓偣缁忓害
+     * @param lat2 绗簩涓偣绾害
+     * @param lon2 绗簩涓偣缁忓害
+     * @return 璺濈锛堢背锛�
+     */
+    public static double calculateDistance(double lat1, double lon1, double lat2, double lon2) {
+        // 杞姬搴�
+        double radLat1 = Math.toRadians(lat1);
+        double radLon1 = Math.toRadians(lon1);
+        double radLat2 = Math.toRadians(lat2);
+        double radLon2 = Math.toRadians(lon2);
+
+        // 宸��
+        double deltaLat = radLat1 - radLat2;
+        double deltaLon = radLon1 - radLon2;
+
+        // 鐞冮潰璺濈鍏紡
+        double distance = 2 * Math.asin(Math.sqrt(
+                Math.pow(Math.sin(deltaLat / 2), 2) +
+                        Math.cos(radLat1) * Math.cos(radLat2) *
+                                Math.pow(Math.sin(deltaLon / 2), 2)
+        ));
+        distance = distance * EARTH_RADIUS;
+        // 淇濈暀涓や綅灏忔暟
+        distance = Math.round(distance * 100) / 100.0;
+        return distance;
+    }
+}

--
Gitblit v1.9.3