From e23edcf2619ad46fd77a710fca6c21de78234bc0 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 07 一月 2025 17:33:06 +0800 Subject: [PATCH] 核算重构完成 --- ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml | 16 +++++++++++----- 1 files changed, 11 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 2206157..589615f 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml @@ -4,7 +4,8 @@ <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 @@ -12,7 +13,8 @@ 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 + 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} @@ -23,16 +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(score), 0) AS score + IFNULL(-SUM(b.score), 0) AS score FROM t_calculate_rule a - LEFT JOIN t_contract_result_record b ON SUBSTRING_INDEX(b.rule_ids, ',', -1) = a.id AND b.deleted = 0 AND b.result_id = #{resultId} - WHERE a.contract_id = #{contractId} AND a.deleted = 0 + 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