157 lines
7.7 KiB
XML
157 lines
7.7 KiB
XML
<?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.price.mapper.PrcPriceSetMapper">
|
|
|
|
<resultMap type="PrcPriceSet" id="PrcPriceSetResult">
|
|
<id property="priceSetId" column="price_set_id" />
|
|
<result property="priceSetCode" column="price_set_code" />
|
|
<result property="priceSetName" column="price_set_name" />
|
|
<result property="priceSetNote" column="price_set_note" />
|
|
<result property="setType" column="set_type" />
|
|
<result property="defaultDiscount" column="default_discount" />
|
|
<result property="defaultType" column="default_type" />
|
|
<result property="calculateSign" column="calculate_sign" />
|
|
<result property="effectiveDate" column="effective_date" />
|
|
<result property="expireDate" column="expire_date" />
|
|
<result property="status" column="status" />
|
|
<result property="tmsId" column="tms_id" />
|
|
<result property="createBy" column="created_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="updated_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
<result property="productCount" column="product_count" />
|
|
<result property="customerCount" column="customer_count" />
|
|
</resultMap>
|
|
|
|
<sql id="selectPrcPriceSetVo">
|
|
select s.price_set_id, s.price_set_code, s.price_set_name, s.price_set_note,
|
|
s.set_type, s.default_discount, s.default_type, s.calculate_sign,
|
|
s.effective_date, s.expire_date, s.status, s.tms_id,
|
|
s.created_by, s.create_time, s.updated_by, s.update_time,
|
|
(select count(distinct d.product_code) from prc_price_set_detail d where d.price_set_id = s.price_set_id) as product_count,
|
|
(select count(1) from prc_customer_price_set c where c.price_set_id = s.price_set_id) as customer_count
|
|
from prc_price_set s
|
|
</sql>
|
|
|
|
<select id="selectPrcPriceSetById" parameterType="Long" resultMap="PrcPriceSetResult">
|
|
<include refid="selectPrcPriceSetVo"/>
|
|
where s.price_set_id = #{priceSetId}
|
|
</select>
|
|
|
|
<select id="selectPrcPriceSetList" parameterType="PrcPriceSet" resultMap="PrcPriceSetResult">
|
|
<include refid="selectPrcPriceSetVo"/>
|
|
<where>
|
|
<if test="setType != null and setType != ''">
|
|
AND s.set_type = #{setType}
|
|
</if>
|
|
<if test="status != null and status != ''">
|
|
AND s.status = #{status}
|
|
</if>
|
|
<if test="tmsId != null">
|
|
AND s.tms_id = #{tmsId}
|
|
</if>
|
|
<if test="priceSetName != null and priceSetName != ''">
|
|
AND s.price_set_name like concat('%', #{priceSetName}, '%')
|
|
</if>
|
|
<if test="keyword != null and keyword != ''">
|
|
AND (
|
|
s.price_set_code like concat('%', #{keyword}, '%')
|
|
OR s.price_set_name like concat('%', #{keyword}, '%')
|
|
OR exists (
|
|
select 1 from prc_customer_price_set c
|
|
where c.price_set_id = s.price_set_id
|
|
and (
|
|
c.customer_name like concat('%', #{keyword}, '%')
|
|
or concat(c.customer_id, '') like concat('%', #{keyword}, '%')
|
|
)
|
|
)
|
|
)
|
|
</if>
|
|
</where>
|
|
order by s.price_set_id desc
|
|
</select>
|
|
|
|
<select id="countByName" parameterType="PrcPriceSet" resultType="int">
|
|
select count(1) from prc_price_set
|
|
where price_set_name = #{priceSetName}
|
|
<if test="priceSetId != null">
|
|
AND price_set_id <> #{priceSetId}
|
|
</if>
|
|
<if test="tmsId != null">
|
|
AND tms_id = #{tmsId}
|
|
</if>
|
|
</select>
|
|
|
|
<insert id="insertPrcPriceSet" parameterType="PrcPriceSet" useGeneratedKeys="true" keyProperty="priceSetId">
|
|
insert into prc_price_set (
|
|
<if test="priceSetCode != null and priceSetCode != ''">price_set_code,</if>
|
|
<if test="priceSetName != null and priceSetName != ''">price_set_name,</if>
|
|
<if test="priceSetNote != null">price_set_note,</if>
|
|
<if test="setType != null and setType != ''">set_type,</if>
|
|
<if test="defaultDiscount != null">default_discount,</if>
|
|
<if test="defaultType != null">default_type,</if>
|
|
<if test="calculateSign != null">calculate_sign,</if>
|
|
<if test="effectiveDate != null">effective_date,</if>
|
|
<if test="expireDate != null">expire_date,</if>
|
|
<if test="status != null and status != ''">status,</if>
|
|
<if test="tmsId != null">tms_id,</if>
|
|
<if test="createBy != null and createBy != ''">created_by,</if>
|
|
create_time
|
|
) values (
|
|
<if test="priceSetCode != null and priceSetCode != ''">#{priceSetCode},</if>
|
|
<if test="priceSetName != null and priceSetName != ''">#{priceSetName},</if>
|
|
<if test="priceSetNote != null">#{priceSetNote},</if>
|
|
<if test="setType != null and setType != ''">#{setType},</if>
|
|
<if test="defaultDiscount != null">#{defaultDiscount},</if>
|
|
<if test="defaultType != null">#{defaultType},</if>
|
|
<if test="calculateSign != null">#{calculateSign},</if>
|
|
<if test="effectiveDate != null">#{effectiveDate},</if>
|
|
<if test="expireDate != null">#{expireDate},</if>
|
|
<if test="status != null and status != ''">#{status},</if>
|
|
<if test="tmsId != null">#{tmsId},</if>
|
|
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
|
sysdate()
|
|
)
|
|
</insert>
|
|
|
|
<update id="updatePrcPriceSet" parameterType="PrcPriceSet">
|
|
update prc_price_set
|
|
<set>
|
|
<if test="priceSetCode != null and priceSetCode != ''">price_set_code = #{priceSetCode},</if>
|
|
<if test="priceSetName != null and priceSetName != ''">price_set_name = #{priceSetName},</if>
|
|
<if test="priceSetNote != null">price_set_note = #{priceSetNote},</if>
|
|
<if test="setType != null and setType != ''">set_type = #{setType},</if>
|
|
default_discount = #{defaultDiscount},
|
|
<if test="defaultType != null">default_type = #{defaultType},</if>
|
|
<if test="calculateSign != null">calculate_sign = #{calculateSign},</if>
|
|
<if test="effectiveDate != null">effective_date = #{effectiveDate},</if>
|
|
expire_date = #{expireDate},
|
|
<if test="status != null and status != ''">status = #{status},</if>
|
|
<if test="tmsId != null">tms_id = #{tmsId},</if>
|
|
<if test="updateBy != null and updateBy != ''">updated_by = #{updateBy},</if>
|
|
update_time = sysdate()
|
|
</set>
|
|
where price_set_id = #{priceSetId}
|
|
</update>
|
|
|
|
<update id="updatePrcPriceSetStatus" parameterType="PrcPriceSet">
|
|
update prc_price_set
|
|
<set>
|
|
status = #{status},
|
|
<if test="updateBy != null and updateBy != ''">updated_by = #{updateBy},</if>
|
|
update_time = sysdate()
|
|
</set>
|
|
where price_set_id = #{priceSetId}
|
|
</update>
|
|
|
|
<delete id="deletePrcPriceSetByIds" parameterType="Long">
|
|
delete from prc_price_set where price_set_id in
|
|
<foreach item="priceSetId" collection="array" open="(" separator="," close=")">
|
|
#{priceSetId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
</mapper>
|