From f1bb6af7ec8ea81ba1b40eef0dabeeef3eee4bbb Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期五, 12 四月 2024 11:48:56 +0800
Subject: [PATCH] 123

---
 force-app/main/default/lwc/lexNewQuoteEntry/lexNexQuoteEntryUtil.js |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/force-app/main/default/lwc/lexNewQuoteEntry/lexNexQuoteEntryUtil.js b/force-app/main/default/lwc/lexNewQuoteEntry/lexNexQuoteEntryUtil.js
index 99868fb..307b4ca 100644
--- a/force-app/main/default/lwc/lexNewQuoteEntry/lexNexQuoteEntryUtil.js
+++ b/force-app/main/default/lwc/lexNewQuoteEntry/lexNexQuoteEntryUtil.js
@@ -4,6 +4,7 @@
 export var DataStatus;
 export var newQuoteFlagex;
 export var MultiYearWarrantyTotalPriceExport;
+export var ExtendedWarrantyAmountTotalPriceExport;
 export var newQuoteFlagExp;
 export var productStatusUpdatedExp;
 export var quoExp;
@@ -606,6 +607,7 @@
     quo.Dealer_Final_Price_Page__c = quoin.Dealer_Final_Price_Page__c!=undefined&&quoin.Dealer_Final_Price_Page__c!=='' ?localParseFloat(quoin.Dealer_Final_Price_Page__c):null;
     quo.OCM_Agent1_Price_Page__c = quoin.OCM_Agent1_Price_Page__c!=undefined &&quoin.OCM_Agent1_Price_Page__c!==''? localParseFloat(quoin.OCM_Agent1_Price_Page__c):null;
     quo.MultiYearWarrantyTotalPrice__c = quoin.MultiYearWarrantyTotalPrice__c!=undefined? localParseFloat(quoin.MultiYearWarrantyTotalPrice__c):null;
+    quo.ExtendedWarrantyAmountTotalPrice__c = quoin.ExtendedWarrantyAmountTotalPrice__c!=undefined? localParseFloat(quoin.ExtendedWarrantyAmountTotalPrice__c):null;
     quo.Estimation_List_Price__c = quoin.Estimation_List_Price__c!=undefined? localParseFloat(quoin.Estimation_List_Price__c):null;
     quo.QuoteTotal_Page__c = quoin.QuoteTotal_Page__c !=undefined?localParseFloat(quoin.QuoteTotal_Page__c):null;
     quo.Agency1_Profit__c = quoin.Agency1_Profit__c !=undefined?localParseFloat(quoin.Agency1_Profit__c):null;
@@ -1275,6 +1277,7 @@
         contractmultiYearWarranty = quo.multiYearWarranty__c;
     }
     var MultiYearWarrantyTotalPrice__c = 0.00;
+    var  ExtendedWarrantyAmountTotalPrice__c = 0.00;
     jzDataToBeproduct.forEach(jzdtbt=>{
         var GuranteeType =jzdtbt.pageObject.GuranteeType__c;
         // 淇濅慨绫诲瀷
@@ -1308,6 +1311,7 @@
             warrantyType = '甯傚満澶氬勾淇濅慨';
             var Quantity =jzdtbt.Quantity__c;
             MultiYearWarrantyTotalPrice__c = MultiYearWarrantyTotalPrice__c + localParseFloat(ServicePrice) * localParseFloat(Quantity);
+            // ExtendedWarrantyAmountTotalPrice__c = ExtendedWarrantyAmountTotalPrice__c + localParseFloat(jzdtbt.exPrice) * localParseFloat(Quantity);
             NoDiscountTotal = localParseFloat(ServicePrice) * localParseFloat(Quantity);
         }
         else if (GuranteeType == '甯傚満' && contractmultiYearWarranty && CanNotCancelledGurantee) {
@@ -1318,6 +1322,7 @@
             // 鏁伴噺
             var Quantity = jzdtbt.Quantity__c;
             MultiYearWarrantyTotalPrice__c = MultiYearWarrantyTotalPrice__c + localParseFloat(ServicePrice) * localParseFloat(Quantity);
+            // ExtendedWarrantyAmountTotalPrice__c = ExtendedWarrantyAmountTotalPrice__c + localParseFloat(jzdtbt.exPrice) * localParseFloat(Quantity);
             NoDiscountTotal = localParseFloat(ServicePrice) * localParseFloat(Quantity);
         }
         else if (GuranteeType == '甯傚満') {
@@ -1390,6 +1395,7 @@
 
     });
     MultiYearWarrantyTotalPriceExport = MultiYearWarrantyTotalPrice__c;
+    ExtendedWarrantyAmountTotalPriceExport= ExtendedWarrantyAmountTotalPrice__c;
     return jzDataToBeproduct;
 }
 export function initQuoteLineItemcheck(quoteLineItem,productStatusUpdated){
@@ -1525,7 +1531,9 @@
     //no discount price 鍚堣
     var noDiscountPriceTotal = hidden_MultiYearWarrantyTotalPrice;
     noDiscountPriceTotal = localParseFloat(noDiscountPriceTotal);
-    TotalPrice = TotalPrice - noDiscountPriceTotal;
+    var exPriceTotal = quo.ExtendedWarrantyAmountTotalPrice__c;
+    exPriceTotal = localParseFloat(exPriceTotal);
+    TotalPrice = TotalPrice - noDiscountPriceTotal - exPriceTotal;
     jzDataToBeproduct.forEach(jzdtbt=>{
         s = jzdtbt.Quantity__c;
         s = localParseInt(s);
@@ -1601,6 +1609,8 @@
     x = localParseFloat(x);
     var y = quo.hidden_Estimation_List;
     y = localParseFloat(y);
+    var z = quo.ExtendedWarrantyAmountTotalPrice__c;
+    z = localParseFloat(z);
     var noDiscountPriceTotal = hidden_MultiYearWarrantyTotalPrice;
     noDiscountPriceTotal = localParseFloat(noDiscountPriceTotal);
     var thirdPartyEstimation_List_Price = 0;
@@ -1665,7 +1675,9 @@
                 //no discount price 鍚堣
                 var noDiscountPriceTotal = hidden_MultiYearWarrantyTotalPrice;
                 noDiscountPriceTotal = localParseFloat(noDiscountPriceTotal);
-                var t = (y - noDiscountPriceTotal - thirdPartyEstimation_List_Price) / (Estimation_List_Price - thirdPartyEstimation_List_Price) * 100;
+                var exPriceTotal = quo.ExtendedWarrantyAmountTotalPrice__c;
+                exPriceTotal = localParseFloat(exPriceTotal);
+                var t = (y - noDiscountPriceTotal - exPriceTotal - thirdPartyEstimation_List_Price) / (Estimation_List_Price - thirdPartyEstimation_List_Price) * 100;
                 quo.AgencyDiscount__c = toNumComma(t);
                 // j$(escapeVfId('Page:mainForm:block:AgencyDiscount')).val(toNumComma(t));
             }
@@ -1793,6 +1805,8 @@
     //no discount price 鍚堣
     var noDiscountPriceTotal = hidden_MultiYearWarrantyTotalPrice;
     noDiscountPriceTotal = localParseFloat(noDiscountPriceTotal);
+    var exPriceTotal = quo.ExtendedWarrantyAmountTotalPrice__c;
+    exPriceTotal = localParseFloat(exPriceTotal);
     jzDataToBeproduct.forEach(jzdtbt=>{
         s = jzdtbt.Quantity__c;
         s = localParseInt(s);
@@ -1834,7 +1848,7 @@
                 VenderName = '';
             }
             if (VenderName == 'OSH' || VenderName == '') {
-                yy = localParseFloat(x * (z - noDiscountPriceTotal) / y);
+                yy = localParseFloat(x * (z - noDiscountPriceTotal - exPriceTotal) / y);
                 jzdtbt.pageObject.Subtotal__c = toNum(yy + s * noDiscountPrice);
                 // jzdtbt.Subtotal__c = toNumComma(yy + s * noDiscountPrice);
                 jzdtbt.Subtotal__c = yy + s * noDiscountPrice;
@@ -1846,7 +1860,7 @@
             zz = zz + yy;
         }
     });
-    quo.QuoteTotal_Page__c = toNumComma(zz + noDiscountPriceTotal);
+    quo.QuoteTotal_Page__c = toNumComma(zz + noDiscountPriceTotal + exPriceTotal);
     quoExp = quo;
     return jzDataToBeproduct;
 }
@@ -2202,7 +2216,7 @@
         dataMap.set(key,value);
     });
     jzDataToBeproduct.forEach(jzdtbt=>{
-        var x, y, z, c;
+        var x, y, z, c ,e;
         if(dataMap.has(jzdtbt.lineNo)){
             var datavaue = dataMap.get(jzdtbt.lineNo);
             if(datavaue.Quantity__c){
@@ -2212,6 +2226,8 @@
                 // jzdtbt.UnitPrice_Page__c = toNumComma(datavaue.UnitPrice_Page__c);
                 jzdtbt.UnitPrice_Page__c = datavaue.UnitPrice_Page__c;
             }
+            console.log("saf");
+            console.log(jzdtbt);
             if(datavaue.Learning_Community){
                 jzdtbt.Learning_Community = datavaue.Learning_Community;
                 jzdtbt.multiYearWarrantyList.forEach(item=>{
@@ -2223,9 +2239,11 @@
                     jzdtbt.exPrice = 0;
                 }
             }
+            console.log("saf");
             x = localParseInt(jzdtbt.Quantity__c);
             y = localParseFloat(jzdtbt.UnitPrice_Page__c);
             c = localParseFloat(jzdtbt.Cost_c);
+            e = localParseFloat(jzdtbt.exPrice);
             z = x * y;
             // jzdtbt.Subtotal__c = toNumComma(z)
             jzdtbt.Subtotal__c = z
@@ -2335,13 +2353,15 @@
             mp = localParseFloat(mp);
             var num = quo.Quote_Adjust_Calculate__c;
             num = localParseFloat(num);
+            var ex = quo.ExtendedWarrantyAmountTotalPrice__c;
+            ex.localParseFloat(ex);
             quo.Quote_Adjust_Calculate__c = toNumComma(num);
             num = (100 + num) / 100;
             z=localParseFloat(z);
             var rh = oppInfo.rate_hospital;
             var ra = oppInfo.rate_agency1;
             quo.Dealer_Final_Price_Page__c = toNumComma(z*rh);
-            quo.OCM_Agent1_Price_Page__c = Saleslet ? toNumComma(z*num*ra+mp) : '';
+            quo.OCM_Agent1_Price_Page__c = Saleslet ? toNumComma(z*num*ra+mp+ex) : '';
         }
     // }
     quoExp = quo;
@@ -2641,7 +2661,8 @@
             //DB202312560765 you 鍚︽湁EndoRapid璧勮川妫�鏌� start 
             item.IFEndoRapidFlag = jzdtbt.IFEndoRapidFlag;
             //DB202312560765 you 鍚︽湁EndoRapid璧勮川妫�鏌� end
-            if(jzdtbt.PricebookEntry.Product2.ProductCategory__c == 'SP涓绘満'){
+            var qwe = jzdtbt.PricebookEntry ? jzdtbt.PricebookEntry.Product2.ProductCategory__c : jzdtbt.pageObject.PricebookEntry.Product2.ProductCategory__c;
+            if(qwe == 'SP涓绘満'){
                 item.SPAssistantFlag = true;
                 flag = true;
             }
@@ -2656,7 +2677,9 @@
 export function  Agent1comput(quo,Saleslet,oppInfo){
     var z = quo.Estimation_List_Price__c;
     var mp =quo.MultiYearWarrantyTotalPrice__c;
+    var ex = quo.ExtendedWarrantyAmountTotalPrice__c;
     mp = localParseFloat(mp);
+    ex = localParseFloat(ex);
     var num = quo.Quote_Adjust_Calculate__c;
     num = localParseFloat(num);
     quo.Quote_Adjust_Calculate__c = toNumComma(num);
@@ -2665,6 +2688,6 @@
     var rh = oppInfo.rate_hospital;
     var ra = oppInfo.rate_agency1;
     quo.Dealer_Final_Price_Page__c = toNumComma(z*rh);
-    quo.OCM_Agent1_Price_Page__c = Saleslet ? toNumComma(z*num*ra+mp):'';
+    quo.OCM_Agent1_Price_Page__c = Saleslet ? toNumComma(z*num*ra+mp+ex):'';
     return quo;
 }
\ No newline at end of file

--
Gitblit v1.9.1