新增按版本获取价格设置明细的接口,优化产品下拉选项查询,更新相关服务和前端调用逻辑。
This commit is contained in:
@@ -45,14 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
ifnull(p.is_del, '0') as is_del,
|
||||
p.source_sheet, null as remark, null as tms_id,
|
||||
v.created_by, p.create_time, v.updated_by, p.update_time,
|
||||
(select count(distinct ifnull(c.country_code, c.country_name)) from prc_price_set_detail c
|
||||
where ifnull(c.is_del, '0') = '0'
|
||||
and (c.psp_id = p.psp_id or (c.psv_id = p.psv_id and c.product_code = p.product_code))
|
||||
) as country_count,
|
||||
(select count(*) from prc_surcharge_rel r
|
||||
inner join prc_surcharge s on s.sc_id = r.sc_id and ifnull(s.is_del, '0') = '0'
|
||||
where ifnull(r.is_del, '0') = '0'
|
||||
and r.product_id = p.psp_id and r.price_type = 'PRODUCT') as surcharge_count
|
||||
null as country_count, null as surcharge_count
|
||||
from prc_price_set_product p
|
||||
inner join prc_price_set_version v on v.psv_id = p.psv_id
|
||||
</sql>
|
||||
@@ -176,6 +169,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<!-- Dropdown: same filters as list, without per-row country/surcharge count scans -->
|
||||
<select id="selectBmsProductOptions" parameterType="BmsProduct" resultMap="BmsProductResult">
|
||||
select p.psp_id as product_id, p.psv_id, p.price_type, p.product_code, p.product_name, p.service_level, p.cargo_attr,
|
||||
p.dest_region, p.tax_mode,
|
||||
p.effective_time as effective_date, p.expire_time as expire_date, p.status,
|
||||
ifnull(p.is_del, '0') as is_del,
|
||||
null as update_note, null as source_sheet, null as remark, null as tms_id,
|
||||
null as created_by, p.create_time, null as updated_by, p.update_time,
|
||||
null as country_count, null as surcharge_count
|
||||
from prc_price_set_product p
|
||||
inner join prc_price_set_version v on v.psv_id = p.psv_id
|
||||
<where>
|
||||
and p.price_type = 'PRODUCT'
|
||||
and ifnull(p.is_del, '0') = '0'
|
||||
<choose>
|
||||
<when test="psvId != null">
|
||||
AND p.psv_id = #{psvId}
|
||||
</when>
|
||||
<when test="statusGroup != null and statusGroup == 'effect'">
|
||||
AND v.price_set_id is null AND v.status = '1'
|
||||
</when>
|
||||
<when test="statusGroup != null and statusGroup == 'pending'">
|
||||
AND v.price_set_id is null AND v.status in ('0', '3')
|
||||
</when>
|
||||
<when test="statusGroup != null and statusGroup == 'expired'">
|
||||
AND v.status = '2'
|
||||
</when>
|
||||
<otherwise>
|
||||
AND p.psv_id = <include refid="latestProductPsv"/>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="productCode != null and productCode != ''">
|
||||
AND p.product_code like concat('%', #{productCode}, '%')
|
||||
</if>
|
||||
<if test="productName != null and productName != ''">
|
||||
AND p.product_name like concat('%', #{productName}, '%')
|
||||
</if>
|
||||
<if test="taxMode != null and taxMode != ''">
|
||||
AND p.tax_mode = #{taxMode}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND v.status = #{status}
|
||||
</if>
|
||||
<if test="effectStatus != null and effectStatus != ''">
|
||||
AND v.status = #{effectStatus}
|
||||
</if>
|
||||
<if test="statusGroup != null and statusGroup == 'active'">
|
||||
AND v.status in ('0', '1')
|
||||
</if>
|
||||
<if test="cargoAttr != null and cargoAttr != ''">
|
||||
AND p.cargo_attr like concat('%', #{cargoAttr}, '%')
|
||||
</if>
|
||||
<if test="params != null and params.keyword != null and params.keyword != ''">
|
||||
AND (p.product_code like concat('%', #{params.keyword}, '%')
|
||||
OR p.product_name like concat('%', #{params.keyword}, '%'))
|
||||
</if>
|
||||
</where>
|
||||
order by p.product_code asc, p.psp_id desc
|
||||
</select>
|
||||
|
||||
<insert id="insertBmsProduct" parameterType="BmsProduct" useGeneratedKeys="true" keyProperty="productId">
|
||||
insert into prc_price_set_product (
|
||||
price_type, psv_id, product_code, product_name, service_level, cargo_attr,
|
||||
|
||||
Reference in New Issue
Block a user