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 d5c8f1b8..c8e8be47 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 @@ -229,6 +229,9 @@ public class QuoteDetail { @TableField(exist = false) private Integer decimalPlace; + @TableField(exist = false) + private BigDecimal totalCostUSD; + @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 abc1ef93..cd914959 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 @@ -228,6 +228,8 @@ public class QuoteGroupDetail { private BigDecimal weighted2; @TableField(exist = false) private Integer decimalPlace; + @TableField(exist = false) + private BigDecimal totalCostUSD; @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 9d64ab1d..ddc23c89 100644 --- a/src/main/resources/mapper/quote/QuoteDetailMapper.xml +++ b/src/main/resources/mapper/quote/QuoteDetailMapper.xml @@ -74,6 +74,17 @@ qd.type, qd.quote_group_detail_id, qd.cost_model, + CASE + 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) + ELSE NULL + END AS totalCostUSD, CASE WHEN qd.qty >= 250000 AND ((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR @@ -477,109 +488,120 @@