fuliqi
2025-02-10 27e913d6d28a9cfa0785d15453a4de10fd36ce6d
ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml
@@ -1,83 +1,41 @@
<?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">
<?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.CalculateRecordMapper">
    <resultMap type="com.ycl.platform.domain.entity.CalculateRecord" id="CalculateRecordResult">
        <result property="id"    column="id"    />
        <result property="date"    column="date"    />
        <result property="ruleId"    column="rule_id"    />
        <result property="unitId"    column="unit_id"    />
        <result property="totalAmount"    column="total_amount"    />
        <result property="deductAmount"    column="deduct_amount"    />
        <result property="score"    column="score"    />
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.CalculateReportDetailVO">
        <result column="id" property="id" />
        <result column="create_time" property="createTime" />
        <result column="deduct_category" property="unitName" />
        <result column="score_condition" property="contractName" />
        <result column="description" property="calculateTime" />
        <result column="deduct_money" property="deductMoney" />
        <result column="score" property="deductMoney" />
        <collection property="recordList" column="contract_id" select="selectByContractId" ofType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO"/>
    </resultMap>
    <sql id="selectCalculateRecordVo">
        select id, date, rule_id, unit_id, total_amount, deduct_amount, score from t_calculate_record
    </sql>
    <select id="selectCalculateRecordList" resultMap="CalculateRecordResult">
        <include refid="selectCalculateRecordVo"/>
        <where>
            <if test="date != null "> and date = #{date}</if>
            <if test="ruleId != null "> and rule_id = #{ruleId}</if>
            <if test="unitId != null "> and unit_id = #{unitId}</if>
            <if test="totalAmount != null "> and total_amount = #{totalAmount}</if>
            <if test="deductAmount != null "> and deduct_amount = #{deductAmount}</if>
            <if test="score != null "> and score = #{score}</if>
        </where>
    </select>
    <select id="selectCalculateRecordById" resultMap="CalculateRecordResult">
        <include refid="selectCalculateRecordVo"/>
        where id = #{id}
    </select>
    <insert id="insertCalculateRecord" parameterType="CalculateRecord">
        insert into t_calculate_record
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="date != null">date,</if>
            <if test="ruleId != null">rule_id,</if>
            <if test="unitId != null">unit_id,</if>
            <if test="totalAmount != null">total_amount,</if>
            <if test="deductAmount != null">deduct_amount,</if>
            <if test="score != null">score,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="date != null">#{date},</if>
            <if test="ruleId != null">#{ruleId},</if>
            <if test="unitId != null">#{unitId},</if>
            <if test="totalAmount != null">#{totalAmount},</if>
            <if test="deductAmount != null">#{deductAmount},</if>
            <if test="score != null">#{score},</if>
         </trim>
    </insert>
    <update id="updateCalculateRecord">
    <update id="updateBatch" parameterType="java.util.List">
        update t_calculate_record
        <trim prefix="SET" suffixOverrides=",">
            <if test="date != null">date = #{date},</if>
            <if test="ruleId != null">rule_id = #{ruleId},</if>
            <if test="unitId != null">unit_id = #{unitId},</if>
            <if test="totalAmount != null">total_amount = #{totalAmount},</if>
            <if test="deductAmount != null">deduct_amount = #{deductAmount},</if>
            <if test="score != null">score = #{score},</if>
        <trim prefix="set" suffixOverrides=","><!-- 表示在生成的 SQL 语句前面添加 set 关键字,并移除末尾逗号 -->
            <trim prefix="deduct_money =case" suffix="end,"><!-- 构造case语法 末尾加上end,如果需要更新多个字段复制这个trim -->
                <foreach collection="list" item="item">
                    when id=#{item.id} then #{item.deductMoney}
                </foreach>
            </trim>
        </trim>
        where id = #{id}
        where id in
        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
            #{item.id,jdbcType=BIGINT}
        </foreach>
    </update>
    <delete id="deleteCalculateRecordById" >
        delete from t_calculate_record where id = #{id}
    </delete>
    <update id="batchPublish">
        update t_calculate_record set status = 'PUBLISHED'
        where contract_id = #{contractId} and which_year =#{whichYear}
    </update>
    <delete id="deleteCalculateRecordByIds" >
        delete from t_calculate_record where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
    <update id="updatePublishById">
        update t_calculate_record set status = #{status}
        where id = #{id}
    </update>
</mapper>