You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
4.6 KiB

<?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.qs.serve.modules.goods.mapper.GoodsAccreditMapper">
<sql id="queryPageSql">
select
'accredit' as unionType,
goods_accredit.`sku_id`,
goods_accredit.`spu_id`,
goods_accredit.`category_id`,
goods_accredit_item.`acc_type`,
goods_accredit_item.`target_id`,
goods_accredit.`code`,
goods_accredit.`name`,
'0' as biz_region_id,
'0' as sale_region_id,
'0' as supplier_id,
'0' as user_id,
goods_accredit_item.id+'_goods' as id,
goods_accredit_item.`target_type`,
goods_accredit_item.`target_code`,
goods_accredit_item.`target_name`,
goods_accredit_item.create_time,
sys_user.name as `create_user`,
sys_user.code as `create_user_code`
from goods_accredit
left join goods_accredit_item
on goods_accredit.id = goods_accredit_item.acc_id
left join sys_user on sys_user.id = goods_accredit_item.create_by
<where>
and `goods_accredit`.`del_flag` = 0
and `goods_accredit_item`.`del_flag` = 0
and `goods_accredit`.`empty_flag` = 0
<if test="query.userKeywords!=null and query.userKeywords!=''">
and ( sys_user.`code` like concat('%',#{query.userKeywords},'%')
or sys_user.`name` like concat('%',#{query.userKeywords},'%') )
</if>
<if test="query.codeList!=null and query.codeList.size > 0">
and goods_accredit.`code` in
<foreach collection="query.codeList" item ="codeitem" index="i" open="(" close=")" separator=",">
#{codeitem}
</foreach>
</if>
<if test="query.targetCodeList!=null and query.targetCodeList.size > 0">
and goods_accredit_item.`target_code` in
<foreach collection="query.targetCodeList" item ="codeitem" index="i" open="(" close=")" separator=",">
#{codeitem}
</foreach>
</if>
</where>
</sql>
<select id="queryPage" resultType="com.qs.serve.modules.goods.entity.dto.GoodsAccreditExt">
<include refid="queryPageSql"></include>
</select>
<sql id="queryPage2Sql">
select
'rule' as unionType,
'0' as sku_id,
'0' as `spu_id`,
'0' as `category_id`,
'0' as `acc_type`,
'0' as target_id,
goods_rule_item.target_code as `code`,
goods_rule_item.target_name as `name`,
goods_rule.biz_region_id,
goods_rule.sale_region_id,
goods_rule.supplier_id,
goods_rule.user_id,
goods_rule_item.id + '_rul' as id,
goods_rule_item.target_type,
goods_rule.code as target_code,
goods_rule.name as target_name,
goods_rule_item.create_time,
sys_user.name as `create_user`,
sys_user.code as `create_user_code`
from goods_rule
left join goods_rule_item
on goods_rule.id = goods_rule_item.rule_id
left join sys_user on sys_user.id = goods_rule_item.create_by
where 1=1
AND`goods_rule`.`del_flag` = 0
AND `goods_rule_item`.`del_flag` = 0
AND goods_rule.empty_flag = 0
<if test="query.userKeywords!=null and query.userKeywords!=''">
and ( sys_user.`code` like concat('%',#{query.userKeywords},'%')
or sys_user.`name` like concat('%',#{query.userKeywords},'%') )
</if>
<if test="query.codeList!=null and query.codeList.size > 0">
and goods_rule_item.`target_code` in
<foreach collection="query.codeList" item ="codeitem" index="i" open="(" close=")" separator=",">
#{codeitem}
</foreach>
</if>
<if test="query.targetCodeList!=null and query.targetCodeList.size > 0">
and goods_rule.`code` in
<foreach collection="query.targetCodeList" item ="codeitem" index="i" open="(" close=")" separator=",">
#{codeitem}
</foreach>
</if>
</sql>
<select id="queryPage2" resultType="com.qs.serve.modules.goods.entity.dto.GoodsAccreditExt">
<include refid="queryPage2Sql"></include>
</select>
<select id="queryUnionPage" resultType="com.qs.serve.modules.goods.entity.dto.GoodsAccreditExt">
<include refid="queryPage2Sql"></include>
union
<include refid="queryPageSql"></include>
</select>
</mapper>