2025-03-23 08:39:16 +08:00
|
|
|
<?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.hzs.sale.wares.mapper.BdWaresDetailMapper">
|
|
|
|
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
|
|
<resultMap id="BdWaresDetailExt" type="com.hzs.common.domain.sale.ext.BdWaresDetailExt">
|
|
|
|
<result column="PK_ID" property="pkId"/>
|
|
|
|
<result column="PK_WARES_SPECS_SKU" property="pkWaresSpecsSku"/>
|
|
|
|
<result column="WARES_CODE" property="waresCode"/>
|
|
|
|
<result column="WARES_NAME" property="waresName"/>
|
|
|
|
<result column="IS_FREE_MAIL" property="isFreeMail"/>
|
|
|
|
<result column="PK_CREATOR" property="pkCreator"/>
|
|
|
|
<result column="CREATION_TIME" property="creationTime"/>
|
|
|
|
<result column="PK_MODIFIED" property="pkModified"/>
|
|
|
|
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
|
|
|
<result column="DEL_FLAG" property="delFlag"/>
|
|
|
|
<result column="PK_COUNTRY" property="pkCountry"/>
|
|
|
|
<result column="PK_WARES" property="pkWares"/>
|
|
|
|
<result column="PK_PRODUCT" property="pkProduct"/>
|
|
|
|
<result column="QUANTITY" property="quantity"/>
|
|
|
|
<result column="IS_GIFT" property="isGift"/>
|
|
|
|
<result column="SPECS_NAME" property="specsName"/>
|
|
|
|
<result column="SPECS_NAME_ID" property="specsNameId"/>
|
|
|
|
<result column="PRICE" property="price"/>
|
|
|
|
<result column="ACHIEVE" property="achieve"/>
|
|
|
|
<result column="ASS_ACHIEVE" property="assAchieve"/>
|
|
|
|
<result column="PK_AIR_POSTAGE" property="pkAirPostage"/>
|
|
|
|
<result column="PK_OCEAN_POSTAGE" property="pkOceanPostage"/>
|
|
|
|
<result column="PK_OCEAN_POSTAGE" property="pkOceanPostage"/>
|
|
|
|
<result column="WARES_QUANTITY" property="waresQuantity"/>
|
|
|
|
<result column="IS_MAKER_GIFT" property="isMakerGift"/>
|
|
|
|
<result column="PK_SPECIAL_CURRENCY" property="pkSpecialCurrency"/>
|
|
|
|
<result column="SHIPPING_CHANNEL" property="shippingChannel"/>
|
|
|
|
<result column="PK_SUPPLIER" property="pkSupplier"/>
|
|
|
|
<result column="PRODUCT_CODE" property="productCode"/>
|
|
|
|
<result column="PRE_SALE_STATUS" property="preSaleStatus"/>
|
|
|
|
<result column="PK_PRODUCT_BAS" property="pkProductBas"/>
|
|
|
|
<result column="PK_UNIT" property="pkUnit"/>
|
2025-04-07 17:40:05 +08:00
|
|
|
<result column="SKU_CODE" property="skuCode"/>
|
2025-03-23 08:39:16 +08:00
|
|
|
<collection property="waresSpecsList" ofType="com.hzs.common.domain.sale.ext.WaresSpecsExt">
|
|
|
|
<result column="PK_SPECS_TYPE" property="pkSpecsType"/>
|
|
|
|
<result column="PK_SPECS" property="pkSpecs"/>
|
|
|
|
<result column="B_SPECS_NAME" property="specsName"/>
|
|
|
|
</collection>
|
|
|
|
</resultMap>
|
|
|
|
|
|
|
|
<select id="queryWaresDetailByCondition" resultMap="BdWaresDetailExt">
|
2025-04-08 20:22:36 +08:00
|
|
|
<foreach collection="orderItemsParams" item="item" index="index" separator=" union all ">
|
2025-03-23 08:39:16 +08:00
|
|
|
select bd.pk_id,bs.pk_id pk_wares_specs_sku,bw.is_free_mail,be.pk_land_postage,
|
|
|
|
be.pk_air_postage,be.pk_ocean_postage,bw.pk_id pk_wares,be.is_maker_gift,be.pre_sale_status,
|
2025-04-07 17:40:05 +08:00
|
|
|
be.pk_special_currency,bw.wares_code, bw.wares_name, bd.is_gift is_gift,
|
2025-03-23 08:39:16 +08:00
|
|
|
bd.pk_product,bs.price,bs.achieve,bp.pk_supplier,bp.shipping_channel,bp.product_code,
|
|
|
|
bs.ass_achieve,b.specs_name,b.specs_name_id from bd_wares bw
|
|
|
|
inner join bd_wares_extend be
|
|
|
|
on bw.pk_id = be.pk_wares
|
|
|
|
inner join bd_wares_detail bd
|
|
|
|
on bw.pk_id = bd.pk_wares
|
|
|
|
left join bd_wares_specs_sku bs
|
|
|
|
on bd.pk_id = bs.pk_wares_detail and bs.del_flag=0
|
|
|
|
left join bd_product bp
|
|
|
|
on bd.pk_product=bp.pk_id and bp.del_flag=0
|
|
|
|
left join (
|
2025-04-07 17:40:05 +08:00
|
|
|
select pk_wares_specs_sku,wmsys.wm_concat(distinct(sc.specs_name))
|
|
|
|
specs_name,wmsys.wm_concat(distinct(sc.pk_id)) specs_name_id
|
2025-03-23 08:39:16 +08:00
|
|
|
from bd_wares_specs_relation br
|
|
|
|
left join bd_wares_specs bp
|
|
|
|
on br.pk_wares_specs= bp.pk_id
|
|
|
|
left join bd_specs sc
|
|
|
|
on bp.pk_specs = sc.pk_id
|
|
|
|
<where>
|
|
|
|
<if test="item.waresItemsParamList != null and item.waresItemsParamList.size >0">
|
|
|
|
pk_wares_specs_sku in
|
|
|
|
<foreach collection="item.waresItemsParamList" item="param" open="(" separator="," close=")">
|
|
|
|
#{param.pkWaresSpecsSku}
|
|
|
|
</foreach>
|
|
|
|
</if>
|
|
|
|
</where>
|
|
|
|
group by pk_wares_specs_sku) b
|
|
|
|
on bs.pk_id = b.pk_wares_specs_sku
|
|
|
|
where bw.del_flag=0 and be.del_flag=0
|
|
|
|
and bd.del_flag=0 and be.is_put_on=0
|
|
|
|
and be.is_sale=0 and bs.is_put_on=0
|
|
|
|
<if test="item.waresCode != null and item.waresCode != ''">
|
|
|
|
and bw.wares_code = #{item.waresCode}
|
|
|
|
</if>
|
|
|
|
<choose>
|
|
|
|
<when test="transType == null">
|
|
|
|
and 1=1
|
|
|
|
</when>
|
|
|
|
<when test="transType ==1">
|
|
|
|
and be.is_land_trans=0
|
|
|
|
</when>
|
|
|
|
<when test="transType ==2">
|
|
|
|
and be.is_air_trans=0
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
and be.is_ocean_trans=0
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
<if test="item.waresItemsParamList != null and item.waresItemsParamList.size >0">
|
|
|
|
and bs.pk_id in
|
|
|
|
<foreach collection="item.waresItemsParamList" item="param" open="(" separator="," close=")">
|
|
|
|
#{param.pkWaresSpecsSku}
|
|
|
|
</foreach>
|
|
|
|
</if>
|
|
|
|
</foreach>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="queryWaresDetailSpecsByCondition" resultMap="BdWaresDetailExt">
|
|
|
|
select * from (
|
|
|
|
<foreach collection="orderItemsParams" item="item" index="index" separator="union">
|
|
|
|
select be.pk_wares,bw.wares_code,be.pre_sale_status,bs.pk_id pk_wares_specs_sku,bd.pk_product,
|
|
|
|
bp.pk_specs,bt.pk_product_bas,bp.pk_specs_type,bc.specs_name b_specs_name,bt.unit pk_unit,
|
|
|
|
bt.shipping_channel,nvl(bd.price,0) price,nvl(bd.achieve,0) achieve,bd.quantity from bd_wares bw
|
|
|
|
inner join bd_wares_extend be
|
|
|
|
on bw.pk_id = be.pk_wares
|
|
|
|
inner join bd_wares_detail bd
|
|
|
|
on bw.pk_id = bd.pk_wares
|
|
|
|
left join bd_wares_specs_sku bs
|
|
|
|
on bd.pk_id = bs.pk_wares_detail and bs.del_flag=0
|
|
|
|
left join bd_wares_specs_relation br
|
|
|
|
on br.pk_wares_specs_sku=bs.pk_id and br.del_flag=0
|
|
|
|
left join bd_wares_specs bp
|
|
|
|
on br.pk_wares_specs= bp.pk_id and bp.del_flag=0
|
|
|
|
left join bd_specs bc
|
|
|
|
on bc.pk_id=bp.pk_specs and bc.del_flag=0
|
|
|
|
left join bd_product bt
|
|
|
|
on bt.pk_id =bd.pk_product and bt.del_flag=0
|
|
|
|
where bw.del_flag=0 and bd.del_flag=0 and be.del_flag=0
|
|
|
|
and bw.special_area = #{specialArea}
|
|
|
|
<if test="item.waresItemsParamList != null and item.waresItemsParamList.size >0">
|
|
|
|
and bs.pk_id in
|
|
|
|
<foreach collection="item.waresItemsParamList" item="param" open="(" separator="," close=")">
|
|
|
|
#{param.pkWaresSpecsSku}
|
|
|
|
</foreach>
|
|
|
|
</if>
|
|
|
|
</foreach>
|
|
|
|
)
|
|
|
|
order by pk_wares_specs_sku,pk_specs
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectByWaresCode" resultType="com.hzs.sale.wares.param.CuProductParams">
|
|
|
|
select
|
|
|
|
p.cover,p.PK_ID productId ,p.PRODUCT_CODE productCode ,p.PRODUCT_NAME productName,wd.QUANTITY quantity,
|
|
|
|
be.is_maker_gift isMakerGift,wd.IS_GIFT isGift
|
|
|
|
from BD_WARES_DETAIL wd
|
|
|
|
left join BD_PRODUCT p on p.PK_ID = wd.PK_PRODUCT
|
|
|
|
inner join BD_WARES w on w.PK_ID = wd.PK_WARES
|
|
|
|
left join BD_WARES_extend be on be.pk_wares=w.pk_id
|
|
|
|
where wd.del_flag = 0
|
|
|
|
and p.del_flag = 0
|
|
|
|
and w.del_flag = 0
|
|
|
|
and be.del_flag = 0
|
|
|
|
and w.WARES_CODE = #{waresCode}
|
|
|
|
and w.SPECIAL_AREA =#{specialArea}
|
|
|
|
<if test="isGift != null">
|
|
|
|
and wd.IS_GIFT = #{isGift}
|
|
|
|
</if>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectByPkWares" resultType="com.hzs.common.domain.sale.ext.BdWaresDetailExt">
|
|
|
|
select wd.*, bp.PRODUCT_NAME productName
|
|
|
|
from BD_WARES_DETAIL wd
|
|
|
|
left join BD_PRODUCT bp on bp.PK_ID = wd.PK_PRODUCT
|
|
|
|
where wd.DEL_FLAG = 0
|
|
|
|
and wd.PK_WARES = #{pkWares}
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="listByPkProduct" resultType="com.hzs.sale.product.vo.WaresDetailVo">
|
|
|
|
|
|
|
|
select wd.PK_WARES pkWares,bw.IS_PRE_SALE isPreSale from BD_WARES_DETAIL wd
|
|
|
|
left join bd_wares bw on bw.pk_id = wd.PK_WARES
|
|
|
|
where wd.del_flag = 0 and bw.del_flag = 0
|
|
|
|
<if test="pkProducts != null and pkProducts.size > 0">
|
|
|
|
and wd.PK_PRODUCT in
|
|
|
|
<foreach collection="pkProducts" item="item" open="(" close=")" separator=",">
|
|
|
|
#{item}
|
|
|
|
</foreach>
|
|
|
|
</if>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectByList" resultType="com.hzs.sale.wares.vo.WaresProductDetailVo">
|
|
|
|
select bp.PRODUCT_CODE productCode, bp.PRODUCT_NAME productName, wd.QUANTITY productQuantity
|
|
|
|
from BD_WARES_DETAIL wd
|
|
|
|
left join bd_product bp on bp.pk_id = wd.PK_PRODUCT
|
|
|
|
where wd.del_flag = 0
|
|
|
|
and wd.PK_WARES = #{pkWares}
|
|
|
|
</select>
|
|
|
|
|
|
|
|
</mapper>
|