From 6af08bad1986a72fa196afeb04c389c005fab673 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 30 八月 2024 11:52:08 +0800
Subject: [PATCH] bug修改

---
 finance-system/src/main/resources/mapper/system/TbScoreMapper.xml |   40 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 3 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..1ef4e11 100644
--- a/finance-system/src/main/resources/mapper/system/TbScoreMapper.xml
+++ b/finance-system/src/main/resources/mapper/system/TbScoreMapper.xml
@@ -72,9 +72,19 @@
       CURDATE())
       AND su.user_id in (SELECT user_id
       FROM sys_user
-      WHERE area_code LIKE CONCAT(SUBSTRING(#{areaCode}, 0, 4), '%')
+      WHERE (
+      (
+      #{areaCode} = '510000'
+      AND area_code LIKE CONCAT( SUBSTRING( #{areaCode}, 1, 2 ), '%' ))
+      OR (
+      #{areaCode} != '510000'
+      AND area_code LIKE CONCAT( SUBSTRING( #{areaCode}, 1, 4 ), '%' ))
+      OR (
+      #{areaCode}= '510100'
+      AND area_code IN ( '510008', '510015', '510017', '510025' ))
+      )
       AND user_type = 2
-      AND area_level = 4)
+      AND area_level in (1,2,3,4))
     </where>
 
     GROUP BY tbc.dept_area_code
@@ -153,7 +163,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 +180,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