fuliqi
2024-08-09 b04753affc29f1042d0eb75b0af87824a0f4a8aa
ycl-server/src/main/resources/mapper/zgyw/ContractScoreMapper.xml
@@ -22,12 +22,33 @@
        select id, publish_id, template_id, num, score, create_user, create_user_name, update_user, update_user_name, create_time, update_time from t_contract_score
    </sql>
    <select id="selectDefaultScoreList" resultMap="DefaultScoreResult">
        <include refid="selectDefaultScoreVo"/>
        <where>
            <if test="publishId != null "> and publish_id = #{publishId}</if>
            <if test="templateId != null "> and template_id = #{templateId}</if>
        </where>
    <select id="selectDefaultScoreList" resultType="com.ycl.platform.domain.entity.ContractScore">
        SELECT
        cs.*,
        u.unit_name AS unitName,
        c.name AS contractName
        FROM
        t_contract_score cs
        LEFT JOIN
        t_yw_unit u ON cs.unit_id = u.id and u.deleted = 0
        LEFT JOIN
        t_contract c ON cs.contract_id = c.id and c.deleted = 0
        where
            cs.deleted = 0
        <if test="unitId != null">
            AND cs.unit_id = #{unitId}
        </if>
        <if test="createStartTime != null">
            AND cs.create_time BETWEEN #{createStartTime} AND #{createEndTime}
        </if>
        <if test="auditingStartTime != null">
            AND cs.auditing_time BETWEEN #{auditingStartTime} AND #{auditingEndTime}
        </if>
        <if test="auditingStatus != null">
            AND cs.auditing_status = #{auditingStatus}
        </if>
        ORDER BY
        cs.create_time DESC
    </select>
    <select id="selectDefaultScoreById" resultMap="DefaultScoreResult">
@@ -90,4 +111,15 @@
            #{id}
        </foreach>
    </delete>
    <select id="calculate" resultType="java.util.Map">
        SELECT
            SUBSTRING_INDEX(rule_name, '/', 1) AS name,
            COUNT(*) AS num,
            -SUM(score) AS score
        FROM t_contract_score
        WHERE auditing_status = 'PASS' AND deleted = 0
        GROUP BY SUBSTRING_INDEX(rule_name, '/', 1)
    </select>
</mapper>