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

191 lines
10 KiB
XML
Raw Normal View History

<?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.EmisTransPlanRuleMapper">
<resultMap type="EmisTransPlanRule" id="EmisTransPlanRuleResult" extends="com.xdadan.erp.emis.mapper.EmisBaseMapper.EmisBaseResult">
<result property="id" column="id" />
<result property="parentId" column="parent_id" />
<result property="ancestors" column="ancestors" />
<result property="lineCode" column="line_code" />
<result property="lineName" column="line_name" />
<result property="transType" column="trans_type" />
<result property="productType" column="product_type" />
<result property="startSiteCode" column="start_site_code" />
<result property="startSiteName" column="start_site_name" />
<result property="nextSiteCode" column="next_site_code" />
<result property="nextSiteName" column="next_site_name" />
<result property="supplierCode" column="supplier_code" />
<result property="status" column="status" />
</resultMap>
<sql id="selectEmisTransPlanRuleVo">
select r.id, r.parent_id, r.ancestors, r.line_code, r.trans_type, r.product_type, r.start_site_code,
s1.site_name as start_site_name, r.next_site_code, s2.site_name as next_site_name, r.supplier_code,
r.status, r.remark, r.del_flag, r.create_by, r.create_time, r.update_by, r.update_time, r.create_site, r.update_site
from emis_trans_plan_rule r
left join emis_site s1 on r.start_site_code = s1.site_code and s1.del_flag=0
left join emis_site s2 on r.next_site_code = s2.site_code and s2.del_flag=0
</sql>
<select id="selectEmisTransPlanRuleList" parameterType="EmisTransPlanRule" resultMap="EmisTransPlanRuleResult">
<include refid="selectEmisTransPlanRuleVo"/>
<where>
<if test="parentId != null"> and r.parent_id = #{parentId}</if>
<if test="ancestors != null and ancestors != ''"> and r.ancestors like concat(#{ancestors}, '%')</if>
<if test="lineCode != null and lineCode != ''"> and r.line_code = #{lineCode}</if>
<if test="transType != null and transType != ''"> and ( FIND_IN_SET(#{transType},r.trans_type) )</if>
<if test="productType != null and productType != ''"> and ( FIND_IN_SET(#{productType},r.product_type) )</if>
<if test="startSiteCode != null and startSiteCode != ''"> and r.start_site_code = #{startSiteCode}</if>
<if test="nextSiteCode != null and nextSiteCode != ''"> and r.next_site_code = #{nextSiteCode}</if>
<if test="supplierCode != null and supplierCode != ''"> and ( FIND_IN_SET(#{supplierCode},r.supplier_code) )</if>
<if test="status != null and status != ''"> and r.status = #{status}</if>
and r.del_flag = '0'
and LENGTH(r.ancestors) - LENGTH(REPLACE(r.ancestors, ',', '')) > 1
</where>
order by id desc
</select>
<select id="getEmisTransPlanRuleList" parameterType="EmisTransPlanRule" resultMap="EmisTransPlanRuleResult">
<include refid="selectEmisTransPlanRuleVo"/>
<where>
<if test="parentId != null"> and r.parent_id = #{parentId}</if>
<if test="ancestors != null and ancestors != ''"> and r.ancestors like concat(#{ancestors}, '%')</if>
<if test="lineCode != null and lineCode != ''"> and r.line_code = #{lineCode}</if>
<if test="transType != null and transType != ''"> and ( FIND_IN_SET(#{transType},r.trans_type) )</if>
<if test="productType != null and productType != ''"> and ( FIND_IN_SET(#{productType},r.product_type) )</if>
<if test="startSiteCode != null and startSiteCode != ''"> and r.start_site_code = #{startSiteCode}</if>
<if test="nextSiteCode != null and nextSiteCode != ''"> and r.next_site_code = #{nextSiteCode}</if>
<if test="supplierCode != null and supplierCode != ''"> and ( FIND_IN_SET(#{supplierCode},r.supplier_code) )</if>
<if test="status != null and status != ''"> and r.status = #{status}</if>
and r.del_flag = '0'
</where>
order by id
</select>
<select id="selectEmisTransPlanRuleById" parameterType="Long" resultMap="EmisTransPlanRuleResult">
<include refid="selectEmisTransPlanRuleVo"/>
where r.id = #{id} and r.del_flag = '0'
</select>
<select id="selectChildrenEmisTransPlanRuleById" parameterType="Long" resultMap="EmisTransPlanRuleResult">
<include refid="selectEmisTransPlanRuleVo"/>
where r.parent_id = #{id} and r.del_flag = '0'
</select>
<select id="hasChildByEmisTransPlanRuleId" parameterType="Long" resultType="Integer">
select count(1) from emis_trans_plan_rule
where parent_id = #{id} and del_flag = '0'
</select>
<select id="selectSupplierNamesByCodes" parameterType="String" resultType="String">
SELECT GROUP_CONCAT(s.name)
FROM emis_supplier s
WHERE FIND_IN_SET(s.code, #{supplierCodes}) AND s.del_flag = 0
</select>
<select id="selectProductTypeNamesByCodes" parameterType="String" resultType="String">
SELECT GROUP_CONCAT(s.prod_name)
FROM emis_trans_product s
WHERE FIND_IN_SET(s.prod_code, #{productType}) AND s.del_flag = 0
</select>
<insert id="insertEmisTransPlanRule" parameterType="EmisTransPlanRule" useGeneratedKeys="true" keyProperty="id">
insert into emis_trans_plan_rule
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="parentId != null">parent_id,</if>
<if test="ancestors != null">ancestors,</if>
<if test="lineCode != null and lineCode != ''">line_code,</if>
<if test="transType != null">trans_type,</if>
<if test="productType != null">product_type,</if>
<if test="startSiteCode != null">start_site_code,</if>
<if test="nextSiteCode != null">next_site_code,</if>
<if test="supplierCode != null">supplier_code,</if>
<if test="status != null">status,</if>
<if test="remark != null">remark,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="createSite != null">create_site,</if>
<if test="updateSite != null">update_site,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="parentId != null">#{parentId},</if>
<if test="ancestors != null">#{ancestors},</if>
<if test="lineCode != null and lineCode != ''">#{lineCode},</if>
<if test="transType != null">#{transType},</if>
<if test="productType != null">#{productType},</if>
<if test="startSiteCode != null">#{startSiteCode},</if>
<if test="nextSiteCode != null">#{nextSiteCode},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="status != null">#{status},</if>
<if test="remark != null">#{remark},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createSite != null">#{createSite},</if>
<if test="updateSite != null">#{updateSite},</if>
</trim>
</insert>
<update id="updateEmisTransPlanRule" parameterType="EmisTransPlanRule">
update emis_trans_plan_rule
<trim prefix="SET" suffixOverrides=",">
<if test="parentId != null">parent_id = #{parentId},</if>
<if test="ancestors != null">ancestors = #{ancestors},</if>
<if test="lineCode != null and lineCode != ''">line_code = #{lineCode},</if>
<if test="transType != null">trans_type = #{transType},</if>
<if test="productType != null">product_type = #{productType},</if>
<if test="startSiteCode != null">start_site_code = #{startSiteCode},</if>
<if test="nextSiteCode != null">next_site_code = #{nextSiteCode},</if>
<if test="supplierCode != null">supplier_code = #{supplierCode},</if>
<if test="status != null">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createSite != null">create_site = #{createSite},</if>
<if test="updateSite != null">update_site = #{updateSite},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteEmisTransPlanRuleById" parameterType="Long">
update emis_trans_plan_rule set del_flag = '1' where id = #{id}
</delete>
<delete id="deleteEmisTransPlanRuleByIds" parameterType="String">
update emis_trans_plan_rule set del_flag = '1' where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<select id="selectSupplierInfoByCodes" resultType="java.util.Map">
SELECT code, name
FROM emis_supplier
WHERE del_flag = '0'
AND code IN
<foreach collection="list" item="code" open="(" separator="," close=")">
#{code}
</foreach>
</select>
<select id="selectProductTypeInfoByCodes" resultType="java.util.Map">
SELECT prod_code as code, prod_name as name
FROM emis_trans_product
WHERE del_flag = '0'
AND prod_code IN
<foreach collection="list" item="code" open="(" separator="," close=")">
#{code}
</foreach>
</select>
</mapper>