From d68c61517a3a6d4ec4d47844c21bdc143f99cbab Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 17 四月 2024 22:58:05 +0800
Subject: [PATCH] 大屏接口

---
 ruoyi-system/src/main/resources/mapper/system/TbDataScreenScoreMapper.xml |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/TbDataScreenScoreMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TbDataScreenScoreMapper.xml
index 535266b..b79cc22 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TbDataScreenScoreMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TbDataScreenScoreMapper.xml
@@ -18,5 +18,92 @@
   <sql id="Base_Column_List">
     id, dept_area_code, basic_data_id, data_screen_config_id, score, score_rate, create_time
   </sql>
+  <select id="queryScore4Map" resultType="com.ruoyi.system.vo.RiskMapVO">
+    SELECT tdss.score, su.area_code, su.area_name
+    FROM tb_data_screen_score tdss
+           LEFT JOIN tb_data_screen_config tbsc ON tbsc.id = tdss.data_screen_config_id
+           LEFT JOIN tb_basic_data tbd ON tbd.id = tdss.basic_data_id
+           LEFT JOIN sys_user su ON su.area_code = tbd.dept_area_code
+    WHERE 1 = 1
+      AND tbd.quarter = #{nowQuarter}
+      AND tbsc.id = #{dataScreenConfigId}
+  </select>
+  <select id="queryRiskRanking" resultType="com.ruoyi.system.vo.RiskRankingVO">
+    SELECT tdss.score, su.area_code, su.area_name
+    FROM tb_data_screen_score tdss
+           LEFT JOIN tb_data_screen_config tbsc ON tbsc.id = tdss.data_screen_config_id
+           LEFT JOIN tb_basic_data tbd ON tbd.id = tdss.basic_data_id
+           LEFT JOIN sys_user su ON su.area_code = tbd.dept_area_code
+    WHERE 1 = 1
+      AND tbd.quarter = #{nowQuarter}
+      AND tbsc.id = #{dataScreenConfigId}
+      AND su.area_level LIKE '县'
+    ORDER BY tdss.score DESC
+  </select>
+  <select id="selectRiskByQuarter" resultType="com.ruoyi.system.domain.TbDataScreenScore">
+    SELECT tdss.*
+    FROM tb_data_screen_score tdss
+    LEFT JOIN tb_data_screen_config tbsc ON tbsc.id = tdss.data_screen_config_id
+    LEFT JOIN tb_basic_data tbd ON tbd.id = tdss.basic_data_id
+    WHERE 1 = 1
+    AND tbd.quarter = #{nowQuarter}
+    AND tbsc.id = #{dataScreenConfigId}
+    <if test="areaCode !=null and areaCode !=''">
+      AND tbd.dept_area_code = #{areaCode}
+    </if>
+  </select>
+  <select id="queryScoreByAreaAndYear"
+    resultType="com.ruoyi.system.vo.DataScreenScoreVO">
+    SELECT tdss.*,tbsc.sub_type
+    FROM tb_data_screen_score tdss
+    LEFT JOIN tb_data_screen_config tbsc ON tbsc.id = tdss.data_screen_config_id
+    LEFT JOIN tb_basic_data tbd ON tbd.id = tdss.basic_data_id
+    WHERE 1 = 1
+    AND tbd.dept_area_code = #{areaCode}
+    AND tbsc.id = #{dataScreenConfigId}
+    <if test="yearType==1">
+      AND YEAR(tbd.reporting_time) = YEAR(CURDATE())
+    </if>
+    <if test="yearType==2">
+      AND YEAR(tbd.reporting_time) = YEAR(CURDATE())-1
+    </if>
+  </select>
+  <select id="selectIndicators"
+    resultType="com.ruoyi.system.vo.DataScreenScoreVO">
+    SELECT tdss.*,tbsc.sub_type,tbsc.max_score
+    FROM tb_data_screen_score tdss
+    LEFT JOIN tb_data_screen_config tbsc ON tbsc.id = tdss.data_screen_config_id
+    LEFT JOIN tb_basic_data tbd ON tbd.id = tdss.basic_data_id
+    WHERE 1 = 1
+    AND tbd.dept_area_code = #{areaCode}
+    AND tbsc.type = #{dataScreenConfigEnum}
+    <if test="yearType!=null and yearType==1">
+      AND YEAR(tbd.reporting_time) = YEAR(CURDATE())
+    </if>
+    <if test="yearType!=null and yearType==2">
+      AND YEAR(tbd.reporting_time) = YEAR(CURDATE())-1
+    </if>
+    <if test="nowQuarter!=null and nowQuarter != ''">
+      AND tbd.quarter = #{nowQuarter}
+    </if>
+  </select>
+  <select id="getRankByScore" resultType="java.lang.Integer">
+    SET @rank = 0;
+
+    SELECT `rank`,
+           score,
+           dept_area_code
+    FROM (SELECT tdss.score, tdss.dept_area_code, (@rank := @rank + 1) AS `rank`
+          FROM tb_data_screen_score tdss
+                 LEFT JOIN tb_data_screen_config tbsc ON tbsc.id = tdss.data_screen_config_id
+                 LEFT JOIN tb_basic_data tbd ON tbd.id = tdss.basic_data_id
+          WHERE 1 = 1
+            AND tbsc.type = #{dataScreenConfigEnum}
+            AND tbsc.sub_type = #{subType}
+            AND tbd.quarter = #{nowQuarter}
+          ORDER BY tdss.score DESC) AS rank_data
+    WHERE dept_area_code = #{areaCode}
+      AND score = #{score}
+  </select>
 
 </mapper>

--
Gitblit v1.7.1