fuliqi
2024-09-05 cd24a045bd9ee29505ddc9760d25f5d4037f4f0c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ycl.platform.mapper.ContractResultMapper">
 
 
    <select id="selectCheckResultList" resultType="com.ycl.platform.domain.vo.ContractResultVO">
        SELECT c.*,
        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
        LEFT JOIN
        t_contract ct ON c.contract_id = ct.id and ct.deleted = 0
        where
        c.deleted = 0
        <if test="unitId != null">
            AND c.unit_id = #{unitId}
        </if>
        <if test="createStartTime != null">
            AND c.check_time BETWEEN #{createStartTime} AND #{createEndTime}
        </if>
        <if test="publish != null">
            AND c.publish = #{publish}
        </if>
    </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
        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
        GROUP BY a.rule_name
    </select>
</mapper>