From 73a6b1c45d1c875cce0bf074afd3261c5b0af0a8 Mon Sep 17 00:00:00 2001 From: qiezi <15576055375@163.com> Date: Fri, 9 May 2025 14:17:06 +0800 Subject: [PATCH] 20250509 --- .../xujie/sys/modules/quote/entity/Quote.java | 4 + .../sys/modules/quote/entity/QuoteDetail.java | 9 + .../quote/entity/QuoteGroupDetail.java | 4 + .../mapper/quote/QuoteDetailMapper.xml | 241 +++++++++++------- .../mapper/quote/QuoteGroupDetailMapper.xml | 14 + .../resources/mapper/quote/QuoteMapper.xml | 4 + 6 files changed, 177 insertions(+), 99 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/quote/entity/Quote.java b/src/main/java/com/xujie/sys/modules/quote/entity/Quote.java index 3491de2f..e2ac7640 100644 --- a/src/main/java/com/xujie/sys/modules/quote/entity/Quote.java +++ b/src/main/java/com/xujie/sys/modules/quote/entity/Quote.java @@ -101,6 +101,10 @@ public class Quote extends QueryPage { private String chipPrice; + private String quoteType; + + private String deltaFlag; + /** * ------------------(额外字段)---------------------- */ diff --git a/src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetail.java b/src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetail.java index 2f006499..5c2767c1 100644 --- a/src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetail.java +++ b/src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetail.java @@ -162,6 +162,8 @@ public class QuoteDetail { private String costModel; + private BigDecimal delta; + @TableField(exist = false) private Integer engChgLevel; @@ -234,6 +236,13 @@ public class QuoteDetail { @TableField(exist = false) private BigDecimal totalCostUSD; + @TableField(exist = false) + private String quoteType; + @TableField(exist = false) + private String deltaFlag; + @TableField(exist = false) + private BigDecimal deltaValue; + @TableField(exist = false) private List list; } diff --git a/src/main/java/com/xujie/sys/modules/quote/entity/QuoteGroupDetail.java b/src/main/java/com/xujie/sys/modules/quote/entity/QuoteGroupDetail.java index cd914959..8274fd3d 100644 --- a/src/main/java/com/xujie/sys/modules/quote/entity/QuoteGroupDetail.java +++ b/src/main/java/com/xujie/sys/modules/quote/entity/QuoteGroupDetail.java @@ -162,6 +162,8 @@ public class QuoteGroupDetail { private String costModel;// 2020/UFIDA + private BigDecimal delta; + @TableField(exist = false) private Integer engChgLevel; @@ -230,6 +232,8 @@ public class QuoteGroupDetail { private Integer decimalPlace; @TableField(exist = false) private BigDecimal totalCostUSD; + @TableField(exist = false) + private BigDecimal deltaValue; @TableField(exist = false) private List list; diff --git a/src/main/resources/mapper/quote/QuoteDetailMapper.xml b/src/main/resources/mapper/quote/QuoteDetailMapper.xml index ddc23c89..42ea623d 100644 --- a/src/main/resources/mapper/quote/QuoteDetailMapper.xml +++ b/src/main/resources/mapper/quote/QuoteDetailMapper.xml @@ -74,6 +74,7 @@ qd.type, qd.quote_group_detail_id, qd.cost_model, + qd.delta, CASE WHEN ((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR (qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) @@ -85,6 +86,19 @@ END) ELSE NULL END AS totalCostUSD, + CASE + when ((isnull(qd.quote_profit_rate, 0) - isnull(qd.delta, 0)) = 0) + then 0 + WHEN ((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR + (qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) + THEN + (qd.total_cost / + CASE + WHEN qd.currency1 = 'USD' THEN qd.exchange_rate1 + ELSE qd.exchange_rate2 + END) * ((qd.quote_profit_rate - qd.delta) / 100) + ELSE NULL + END AS deltaValue, CASE WHEN qd.qty >= 250000 AND ((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR @@ -111,7 +125,7 @@ END) * qd.quote_profit_rate / 100 - 1.5 ELSE NULL END AS weighted2, - bdp.decimal_place + bdp.decimal_place from plm_quote_detail qd left join part pp on qd.part_id = pp.id left join bu_decimal_place bdp on bdp.site = qd.site and bdp.bu_no = qd.bu_no @@ -143,104 +157,118 @@