Browse Source

2025-09-22

报价优化
master
fengyuan_yang 5 months ago
parent
commit
8272786d79
  1. 4
      src/main/java/com/spring/modules/quote/entity/Quote.java
  2. 12
      src/main/resources/mapper/quote/QuoteDetailMapper.xml
  3. 10
      src/main/resources/mapper/quote/QuoteMapper.xml

4
src/main/java/com/spring/modules/quote/entity/Quote.java

@ -182,6 +182,10 @@ public class Quote extends QueryPage {
@TableField(exist = false) @TableField(exist = false)
private String currencyDesc; private String currencyDesc;
@TableField(exist = false) @TableField(exist = false)
private String projectId; private String projectId;
@TableField(exist = false)
private String searchPartNo;
} }

12
src/main/resources/mapper/quote/QuoteDetailMapper.xml

@ -64,12 +64,10 @@
qd.quote_tax_total_price, qd.quote_tax_total_price,
qd.quote_tax_unit_price, qd.quote_tax_unit_price,
qd.currency1, qd.currency1,
dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency1,
qd.site) as currencyDesc1,
dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency1, qd.site) as currencyDesc1,
qd.exchange_rate1, qd.exchange_rate1,
qd.currency2, qd.currency2,
dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency2,
qd.site) as currencyDesc2,
dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency2, qd.site) as currencyDesc2,
qd.exchange_rate2, qd.exchange_rate2,
qd.moq, qd.moq,
qd.currency_total_cost1, qd.currency_total_cost1,
@ -84,11 +82,9 @@
pp.plm_part_no, pp.plm_part_no,
pp.ifs_part_no, pp.ifs_part_no,
convert(decimal(20,6),(case when exchange_rate2 = 0 or exchange_rate2 is null then 0 else unit_price/exchange_rate2 end)) as unitPriceRate convert(decimal(20,6),(case when exchange_rate2 = 0 or exchange_rate2 is null then 0 else unit_price/exchange_rate2 end)) as unitPriceRate
from plm_quote_detail qd from plm_quote_detail qd
left join plm_quote q on qd.quote_id = q.id
left join part pp
on qd.part_no = pp.part_no and qd.site = pp.site
left join plm_quote q on qd.quote_id = q.id
left join part pp on qd.part_no = pp.part_no and qd.site = pp.site
<where> <where>
<if test="id != null"> <if test="id != null">
and qd.id = #{id} and qd.id = #{id}

10
src/main/resources/mapper/quote/QuoteMapper.xml

@ -99,6 +99,16 @@
</foreach> </foreach>
) )
</if> </if>
<if test="params.searchPartNo != null and params.searchPartNo != ''">
AND EXISTS (
SELECT 1
FROM plm_quote_detail b
left join part pp on b.part_no = pp.part_no and b.site = pp.site
left join plm_customer_part_info as pc on b.part_no = pc.part_no and b.site = pc.site
WHERE b.quote_id = q.id
AND (pp.plm_part_no like #{params.searchPartNo} or pp.ifs_part_no like #{params.searchPartNo} or pc.customer_part_no like #{params.searchPartNo})
)
</if>
</where> </where>
order by q.id desc order by q.id desc
</select> </select>

Loading…
Cancel
Save