<?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.ruoyi.system.mapper.WagesConversionMapper">

    <resultMap id="WagesConversionData" type="com.ruoyi.system.model.wages.dao.WagesConversionData">
        <id property="id" column="id"/>
        <result property="jsonData" column="json_data"/>
        <result property="ifGenerateVoucher" column="if_generate_voucher"/>
        <result property="createTime" column="create_date"/>
        <result property="updateTime" column="update_date"/>
        <result property="yearMonth" column="wage_month"/>
        <result property="mineId" column="mine_id"/>
        <result property="templateId" column="template_id"/>
    </resultMap>

    <insert id="save">
        insert into wages_conversion_data (json_data, if_generate_voucher, wage_month, value, mine_id)
        values (#{jsonData}, 0, #{yearMonth}, #{value},#{mineId})
    </insert>
    <delete id="deleteFromConversionToDate">
        delete
        from wages_conversion_data
        where wage_month = #{date};
    </delete>
    <delete id="deleteWagesDataById" parameterType="int">
        delete from wages_conversion_data
        where id = #{id}
    </delete>

    <select id="selectWagesConversionDataList" resultMap="WagesConversionData">
        select id, if_generate_voucher, wage_month, create_date, update_date,mine_id
        from wages_conversion_data
        where if_generate_voucher = 0 <if test="date != null"> and wage_month = #{date}</if>
        <if test="mineId != null"> and mine_id = #{mineId}</if>
        order by create_date desc limit #{n}, #{size}
    </select>
    <select id="selectWagesConversionDataById" parameterType="integer"
            resultMap="WagesConversionData">
        select id, json_data, if_generate_voucher,
               wage_month, create_date, update_date,mine_id,
               template_id
        from wages_conversion_data
        where id = #{id}
    </select>
    <select id="selectWagesValueAndDate" resultType="com.ruoyi.system.model.wages.vo.WagesConversionDataVO">
        select wage_month as yearMonth, value as value
        from wages_conversion_data where mine_id = #{id};
    </select>

    <update id="update">
        update wages_conversion_data
        <trim prefix="SET" suffixOverrides=",">
            update_date = now(),
            <if test="jsonData != null">json_data = #{jsonData}</if>
        </trim>
        where id = #{id}
    </update>
</mapper>