From 18891c60ab1c06a4acc85d0ec54dee50d1b1a19f Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 07 四月 2025 17:20:07 +0800
Subject: [PATCH] bug修改

---
 finance-system/src/main/resources/mapper/system/TbScoreMapper.xml |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/finance-system/src/main/resources/mapper/system/TbScoreMapper.xml b/finance-system/src/main/resources/mapper/system/TbScoreMapper.xml
index bb66666..f2334d7 100644
--- a/finance-system/src/main/resources/mapper/system/TbScoreMapper.xml
+++ b/finance-system/src/main/resources/mapper/system/TbScoreMapper.xml
@@ -68,13 +68,11 @@
     LEFT JOIN sys_user su ON tbc.dept_area_code = su.area_code
     <where>
       tbc.quarter = #{previousQuarter}
-      AND YEAR(tbc.reporting_time) = YEAR(
-      CURDATE())
       AND su.user_id in (SELECT user_id
       FROM sys_user
-      WHERE area_code LIKE CONCAT(SUBSTRING(#{areaCode}, 0, 4), '%')
-      AND user_type = 2
-      AND area_level = 4)
+      WHERE user_type = 2
+      AND area_level in (1,2,3,4)
+      )
     </where>
 
     GROUP BY tbc.dept_area_code
@@ -117,7 +115,7 @@
         AND su.area_code=#{query.areaCode}
       </if>
       <if test="query.previousQuarter != null and query.previousQuarter != ''">
-        AND tbd.quarter=#{previousQuarter}
+        AND tbd.quarter=#{query.previousQuarter}
       </if>
       group by su.area_code
     </where>
@@ -153,7 +151,7 @@
     LEFT JOIN sys_user su ON su.area_code = tbd.dept_area_code
     <where>
       AND tbd.quarter = #{nowQuarter}
-      AND su.area_level = '${@com.finance.common.enums.AreaLevelEnum@COUNTY.getCode()}'
+      # AND su.area_level = '${@com.finance.common.enums.AreaLevelEnum@COUNTY.getCode()}'
     </where>
     GROUP BY tbd.id) rs
     ORDER BY rs.score ASC
@@ -170,5 +168,29 @@
     GROUP BY tbd.id) rs
     ORDER BY rs.score DESC
   </select>
+  <select id="getCityAverageScore" resultType="java.lang.Double">
+    SELECT IFNULL(ROUND(SUM(res.score), 2), 0) AS total_score
+    FROM (SELECT SUM(ts.score) / COUNT(DISTINCT ts.basic_data_id) AS score
+          FROM tb_score ts
+                 JOIN tb_basic_data tbd ON tbd.id = ts.basic_data_id
+          WHERE tbd.quarter = #{previousQuarter}
+            AND (
+            tbd.dept_area_code LIKE CONCAT(#{areaCode}, '%')
+              OR (
+              #{areaCode} = '5101'
+                AND tbd.dept_area_code IN ('510008', '510015', '510017', '510025')
+              )
+            )
+          GROUP BY ts.basic_data_config_id) AS res
+
+  </select>
+  <select id="getCountyScoreList" resultType="java.lang.Double">
+    SELECT IFNULL(ROUND(SUM(ts.score), 2), 0) AS score
+    FROM tb_score ts
+           JOIN tb_basic_data tbd ON tbd.id = ts.basic_data_id
+    WHERE tbd.quarter = #{previousQuarter}
+      AND tbd.dept_area_code LIKE CONCAT(#{areaCode}, '%')
+    GROUP BY ts.basic_data_id
+  </select>
 
 </mapper>

--
Gitblit v1.7.1