From 27e913d6d28a9cfa0785d15453a4de10fd36ce6d Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 10 二月 2025 11:17:59 +0800
Subject: [PATCH] 首页录像统计加上间歇

---
 ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml
index 9ff0965..589615f 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml
@@ -4,16 +4,18 @@
 
 
     <select id="selectCheckResultList" resultType="com.ycl.platform.domain.vo.ContractResultVO">
-        SELECT c.*,
+        SELECT c.id,c.publish,c.contract_id,c.check_time,c.unit_id,c.which_year,c.which_month,
+        (IFNULL(-SUM(b.score), 0) + 100) AS score,
         u.unit_name AS unitName,
         ct.name AS contractName
         FROM t_contract_result c
         LEFT JOIN
-        t_yw_unit u ON c.unit_id = u.id and u.deleted = '0'
+        t_yw_unit u ON c.unit_id = u.id and u.deleted = 0
         LEFT JOIN
-        t_contract ct ON c.contract_id = ct.id and ct.deleted = '0'
-        where
-        c.deleted = '0'
+        t_contract ct ON c.contract_id = ct.id and ct.deleted = 0
+        LEFT JOIN t_contract_score b ON b.contract_id = c.contract_id AND auditing_status = 'PASS' AND b.deleted = 0  AND MONTH(b.create_time) = c.which_month AND YEAR(b.create_time) = c.which_year
+        <where>
+        c.deleted = 0
         <if test="unitId != null">
             AND c.unit_id = #{unitId}
         </if>
@@ -23,5 +25,20 @@
         <if test="publish != null">
             AND c.publish = #{publish}
         </if>
+        </where>
+        GROUP BY c.id
+    </select>
+
+    <select id="selectCheckResultRecordList" resultType="com.ycl.platform.domain.entity.ContractResultRecord">
+        SELECT
+            a.rule_name,
+            COUNT(b.id) AS num,
+            IFNULL(-SUM(b.score), 0) AS score
+        FROM t_calculate_rule a
+            LEFT JOIN t_contract_result tcr on a.contract_id = tcr.contract_id AND tcr.id = #{resultId}
+            LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0  AND MONTH(b.create_time) = tcr.which_month AND YEAR(b.create_time) = tcr.which_year
+        WHERE
+        a.contract_id = #{contractId} AND a.deleted = 0
+        GROUP BY a.rule_name
     </select>
 </mapper>

--
Gitblit v1.8.0