浏览代码

fix(system): 修复周日历计算错误

- 将 DAYOFWEEK 替换为 WEEKDAY+1 以正确计算周日历
- 修复日期计算逻辑,确保生成正确的日历数据- 优化 SQL 查询性能,提高系统响应速度
SheepHy 2 天之前
父节点
当前提交
37761b4c58

+ 0 - 5
national-motion-base-core/src/main/java/org/jeecg/common/util/UUIDGenerator.java

@@ -3,11 +3,6 @@ package org.jeecg.common.util;
 
 import java.net.InetAddress;
 
-/**
- * 
- * @Author  张代浩
- *
- */
 public class UUIDGenerator {
 
 	

+ 11 - 13
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppSitePriceRulesMapper.xml

@@ -7,12 +7,12 @@
             SELECT
                 1 AS offset_day,
                 CURDATE() AS date_val,
-                DAYOFWEEK(CURDATE()) - 1 AS dow
+                WEEKDAY(CURDATE()) + 1 AS dow
             UNION ALL
             SELECT
                 offset_day + 1,
                 date_val + INTERVAL 1 DAY,
-            DAYOFWEEK(date_val + INTERVAL 0 DAY)
+            WEEKDAY(date_val + INTERVAL 1 DAY) + 1
         FROM dates
         WHERE offset_day < 7
             ),
@@ -23,14 +23,15 @@
             r.end_time,
             r.selling_price,
             r.day_of_week,
-            ROW_NUMBER() OVER (PARTITION BY r.day_of_week ORDER BY r.selling_price ASC, r.start_time ASC) AS rn
-        FROM
-            nm_site_price_rules r
+            ROW_NUMBER() OVER (
+            PARTITION BY r.day_of_week
+            ORDER BY r.selling_price ASC, r.start_time ASC
+            ) AS rn
+        FROM nm_site_price_rules r
             LEFT JOIN nm_site_place sp ON r.site_place_id = sp.id
-        WHERE
-            r.view_status = 0
+        WHERE r.view_status = 0
           AND r.org_code = #{orgCode}
-          AND (#{categoryId} IS NULL OR r.category_id = #{categoryId})
+          AND r.category_id = #{categoryId}
             )
         SELECT
             es.id AS id,
@@ -49,11 +50,8 @@
                         ')'
                      )
                 END AS date_label
-        FROM
-            earliest_slots es
-                JOIN (SELECT offset_day, date_val, dow FROM dates) AS dm
-                     ON es.day_of_week = dm.dow
-        WHERE es.rn = 1
+        FROM earliest_slots es
+                 JOIN dates dm ON es.day_of_week = dm.dow AND es.rn = 1
         ORDER BY dm.offset_day
         ]]>
     </select>

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -197,7 +197,7 @@ public class SysUserController {
 				user.setPassword(sysUser.getPassword());
 				String roles = jsonObject.getString("selectedroles");
                 String departs = jsonObject.getString("selecteddeparts");
-                SysDepart departById = sysDepartService.getDepartById(departs);
+                SysDepart departById = sysDepartService.getDepartById(departs.split( ",")[0]);
                 if(oConvertUtils.isEmpty(departs)){
                     //vue3.0前端只传递了departIds
                     departs=user.getDepartIds();