emis-service/emis-biz/src/main/resources/mapper/EmisSalesCommissionRatioMapper.xml

208 lines
11 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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.xdadan.erp.emis.mapper.EmisSalesCommissionRatioMapper">
<resultMap type="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio" id="EmisSalesCommissionRatioResult" extends="com.xdadan.erp.emis.mapper.EmisBaseMapper.EmisBaseResult">
<result property="id" column="id" />
<result property="salesExecutive" column="sales_executive" />
<result property="salesExecutiveRatio" column="sales_executive_ratio" />
<result property="salesmen" column="salesmen" />
<result property="salesmenRatio" column="salesmen_ratio" />
<result property="salesSupport" column="sales_support" />
<result property="salesSupportRatio" column="sales_support_ratio" />
<result property="status" column="status" />
<result property="startDate" column="start_date" />
<result property="endDate" column="end_date" />
</resultMap>
<sql id="selectEmisSalesCommissionRatioVo">
select id, sales_executive, sales_executive_ratio, salesmen, salesmen_ratio, sales_support, sales_support_ratio, status, start_date, end_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_sales_commission_ratio
</sql>
<!-- 查询列表 -->
<select id="selectEmisSalesCommissionRatioList" parameterType="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio" resultMap="EmisSalesCommissionRatioResult">
<include refid="selectEmisSalesCommissionRatioVo"/>
<where>
del_flag='0'
<if test="salesExecutive != null and salesExecutive != ''">AND sales_executive like concat('%', #{salesExecutive}, '%')</if>
<if test="salesmen != null and salesmen != ''">AND salesmen like concat('%', #{salesmen}, '%')</if>
<if test="salesSupport != null and salesSupport != ''">AND sales_support like concat('%', #{salesSupport}, '%')</if>
<if test="status != null and status != ''">AND status = #{status}</if>
<if test="delFlag != null and delFlag != ''">AND del_flag = #{delFlag}</if>
<if test="startDate != null">AND start_date = #{startDate}</if>
<if test="endDate != null">AND end_date = #{endDate}</if>
<!-- 处理status=2/3的特殊逻辑 -->
<if test="params.endDateBeforeNow != null and params.endDateBeforeNow == true">
and end_date &lt; NOW()
</if>
<if test="params.endDateAfterNow != null and params.endDateAfterNow == true">
and end_date &gt;= NOW()
</if>
<!-- 查询运单寄件日期在计提表有效期内的记录 -->
<if test="params.sendDate != null">
and start_date &lt;= #{params.sendDate} and end_date &gt;= #{params.sendDate}
</if>
<!-- 根据销售支持人员对应的用户状态过滤 -->
<if test="params.userStatus != null and params.userStatus != ''">
and exists(select 1 from sys_user
where emp_name = emis_sales_commission_ratio.sales_support
and del_flag='0'
and bl_open=#{params.userStatus})
</if>
</where>
ORDER BY id DESC
</select>
<!-- 主键查询 -->
<select id="selectEmisSalesCommissionRatioById" parameterType="long" resultMap="EmisSalesCommissionRatioResult">
<include refid="selectEmisSalesCommissionRatioVo"/>
where del_flag='0' and id = #{id}
</select>
<!-- 新增 -->
<insert id="insertEmisSalesCommissionRatio" parameterType="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio" useGeneratedKeys="true" keyProperty="id">
insert into emis_sales_commission_ratio
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="salesExecutive != null and salesExecutive != ''">sales_executive,</if>
<if test="salesExecutiveRatio != null">sales_executive_ratio,</if>
<if test="salesmen != null and salesmen != ''">salesmen,</if>
<if test="salesmenRatio != null">salesmen_ratio,</if>
<if test="salesSupport != null and salesSupport != ''">sales_support,</if>
<if test="salesSupportRatio != null">sales_support_ratio,</if>
<if test="status != null">status,</if>
<if test="startDate != null">start_date,</if>
<if test="endDate != null">end_date,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="delFlag != null and delFlag != ''">del_flag,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null and updateBy != ''">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="createSite != null and createSite != ''">create_site,</if>
<if test="updateSite != null and updateSite != ''">update_site,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="salesExecutive != null and salesExecutive != ''">#{salesExecutive},</if>
<if test="salesExecutiveRatio != null">#{salesExecutiveRatio},</if>
<if test="salesmen != null and salesmen != ''">#{salesmen},</if>
<if test="salesmenRatio != null">#{salesmenRatio},</if>
<if test="salesSupport != null and salesSupport != ''">#{salesSupport},</if>
<if test="salesSupportRatio != null">#{salesSupportRatio},</if>
<if test="status != null">#{status},</if>
<if test="startDate != null">#{startDate},</if>
<if test="endDate != null">#{endDate},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createSite != null and createSite != ''">#{createSite},</if>
<if test="updateSite != null and updateSite != ''">#{updateSite},</if>
</trim>
</insert>
<!-- 修改 -->
<update id="updateEmisSalesCommissionRatio" parameterType="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio">
UPDATE emis_sales_commission_ratio
<set>
<if test="salesExecutive != null">sales_executive = #{salesExecutive},</if>
<if test="salesExecutiveRatio != null">sales_executive_ratio = #{salesExecutiveRatio},</if>
<if test="salesmen != null">salesmen = #{salesmen},</if>
<if test="salesmenRatio != null">salesmen_ratio = #{salesmenRatio},</if>
<if test="salesSupport != null">sales_support = #{salesSupport},</if>
<if test="salesSupportRatio != null">sales_support_ratio = #{salesSupportRatio},</if>
<if test="status != null">status = #{status},</if>
<if test="startDate != null">start_date = #{startDate},</if>
<if test="endDate != null">end_date = #{endDate},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
update_time = NOW(),
<if test="updateSite != null">update_site = #{updateSite},</if>
</set>
WHERE id = #{id}
</update>
<!-- 软删除 -->
<update id="deleteEmisSalesCommissionRatioById" parameterType="long">
UPDATE emis_sales_commission_ratio
SET del_flag = '1', update_time = NOW()
WHERE id = #{id}
</update>
<!-- 批量软删除 -->
<update id="deleteEmisSalesCommissionRatioByIds" parameterType="long">
UPDATE emis_sales_commission_ratio
SET del_flag = '1', update_time = NOW()
WHERE id IN
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!-- 验重:salesExecutive、salesmen、salesSupport、status、startDate、endDate都相同视为重复 -->
<select id="checkUnique" parameterType="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio" resultType="int">
SELECT COUNT(1)
FROM emis_sales_commission_ratio
WHERE sales_executive = #{salesExecutive}
AND salesmen = #{salesmen}
AND sales_support = #{salesSupport}
AND status = #{status}
AND (
start_date &lt;= #{endDate} and end_date &gt;= #{startDate}
)
AND del_flag = '0'
<if test="id != null">AND id != #{id}</if>
</select>
<!-- 检查一个销售联系人是否已经对应了其他销售主管 -->
<select id="countBySalesmenAndDifferentExecutive" parameterType="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio" resultType="int">
SELECT COUNT(1)
FROM emis_sales_commission_ratio
WHERE salesmen = #{salesmen}
AND salesmen IS NOT NULL
AND salesmen != ''
AND sales_executive IS NOT NULL
AND sales_executive != ''
<if test="salesExecutive != null and salesExecutive != ''">
AND sales_executive != #{salesExecutive}
</if>
AND del_flag = '0'
<if test="id != null">AND id != #{id}</if>
</select>
<!-- 检查一个销售支持是否已经对应了其他销售联系人 -->
<select id="countBySalesSupportAndDifferentSalesmen" parameterType="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio" resultType="int">
SELECT COUNT(1)
FROM emis_sales_commission_ratio
WHERE sales_support = #{salesSupport}
AND sales_support IS NOT NULL
AND sales_support != ''
AND salesmen IS NOT NULL
AND salesmen != ''
<if test="salesmen != null and salesmen != ''">
AND salesmen != #{salesmen}
</if>
AND del_flag = '0'
<if test="id != null">AND id != #{id}</if>
</select>
<!-- 检查一个销售支持是否已经对应了其他销售主管 -->
<select id="countBySalesSupportAndDifferentExecutive" parameterType="com.xdadan.erp.emis.domain.EmisSalesCommissionRatio" resultType="int">
SELECT COUNT(1)
FROM emis_sales_commission_ratio
WHERE sales_support = #{salesSupport}
AND sales_support IS NOT NULL
AND sales_support != ''
AND sales_executive IS NOT NULL
AND sales_executive != ''
<if test="salesExecutive != null and salesExecutive != ''">
AND sales_executive != #{salesExecutive}
</if>
AND del_flag = '0'
<if test="id != null">AND id != #{id}</if>
</select>
</mapper>