From 99b667bdfd8d4fd4d56c2952510169d7f7be794c Mon Sep 17 00:00:00 2001
From: 沙世明 <shashiming@prec-tech.com>
Date: 星期四, 09 三月 2023 17:12:43 +0800
Subject: [PATCH] 产品报价金额自动计算

---
 force-app/main/default/classes/SI_NewQuoteEntryController.cls |   53 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/force-app/main/default/classes/SI_NewQuoteEntryController.cls b/force-app/main/default/classes/SI_NewQuoteEntryController.cls
index 04bda2a..9628ec8 100644
--- a/force-app/main/default/classes/SI_NewQuoteEntryController.cls
+++ b/force-app/main/default/classes/SI_NewQuoteEntryController.cls
@@ -221,6 +221,9 @@
                     // SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28 by vivek start
                     ,Configuration_Suggestion__c , Configuration_Suggestion_Feedback__c
                     // SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28 by vivek end
+                    // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm start
+                    , Salesdepartment_Owner__c 
+                    // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm end
                     FROM Opportunity Where Id = :oppId];
         // 澶氬勾淇濅慨 start
         trade = '澶栬部';
@@ -367,8 +370,8 @@
             }
         } else {
             //娣诲姞琛�
-            List<Quote> quoList =
-                [ SELECT Id,Name,Cancel_Decide__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,
+            List<Quote> quoList =//SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start QuotationChange__c,MainEngineWithoutMonitor__c,Interdepartmental__c,
+                [ SELECT Id,Name,Cancel_Decide__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,QuotationChange__c,MainEngineWithoutMonitor__c,Interdepartmental__c,
                         Dealer_Final_Price__c,TotalPrice__c,Estimation_List_Price__c,QuoteNumber,
                         CreatedByid,Queto_Confirm_Date__c,
                         QuoteToName,Quote_Expiration_Date__c,Quote_Comment__c,Stocking_Price__c,Unit_Price__c,
@@ -433,6 +436,7 @@
             if (copyQuoId == null) {
                     quo = quoList[0];
                     quoteOwner = quo.CreatedByid;
+                   
                     //SWAG-C5DBAL  銆愬鎵樸�� [绱ф�SI璇环鑲栧瘨鏃犳硶淇敼鎶ヤ环鍗�  绮剧悽鎶�鏈�  2021/07/30 start
                     //娉ㄩ噴鍘熼�昏緫
                     if(quo.Queto_Confirm_Date__c != null ||
@@ -717,6 +721,11 @@
         }
         // vivek end
         system.debug('鍒濆鍖栨椂鐨勯泦鍚堬細'+activities);
+         //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+         quo.Offer_Amount__c = true;
+         quo.TOTAL__c = true;
+         quo.Preferential_Gurantee_Period__c = true;
+         //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
         return null;
      }
 
@@ -2017,7 +2026,13 @@
         Boolean error = false;
         errorflg = false;
         errormessage = null;
-
+        //obsap 鏈�缁堢敤鎴峰悎鍚岄噾棰濋獙璇� fy start
+        if (quo.Dealer_Final_Price_Page__c == null) {
+            quo.Dealer_Final_Price__c.addError(System.Label.Error_Message3);
+            error = true;
+            errormessage = System.Label.Error_Message3;
+        }
+        //obsap 鏈�缁堢敤鎴峰悎鍚岄噾棰濋獙璇� fy end
         if (checkAgentsDeleteFlag() == false) {
             return false;
         }
@@ -2289,11 +2304,11 @@
             error = true;
             errormessage = System.Label.Error_Message3;
         }
-        if (quo.Dealer_Final_Price_Page__c == null) {
-            quo.Dealer_Final_Price__c.addError(System.Label.Error_Message3);
-            error = true;
-            errormessage = System.Label.Error_Message3;
-        }
+        // if (quo.Dealer_Final_Price_Page__c == null) {
+        //     quo.Dealer_Final_Price__c.addError(System.Label.Error_Message3);
+        //     error = true;
+        //     errormessage = System.Label.Error_Message3;
+        // }
         if (qb.Quote_Adjust_Calculate == null) {
             quo.Quote_Adjust_Calculate__c.addError(System.Label.Error_Message3);
             error = true;
@@ -2470,8 +2485,8 @@
             }
 
         } else {
-            List<Quote> qs = New List<Quote>();
-            qs = [select Id,OpportunityId,Pricebook2Id,Name,Estimation_List_Price__c,Dealer_Final_Price__c,
+            List<Quote> qs = New List<Quote>();//SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start QuotationChange__c,MainEngineWithoutMonitor__c,Interdepartmental__c,
+            qs = [select Id,OpportunityId,Pricebook2Id,Name,Estimation_List_Price__c,Dealer_Final_Price__c,QuotationChange__c,MainEngineWithoutMonitor__c,Interdepartmental__c,
                 Stocking_Price__c,Discount_Amount__c,Discount_Amount_Calculate__c,Quote_Adjust_Amount__c,Quote_Adjust_Calculate__c,
                 Agency1__c,OCM_Agent1_Price__c,Agency1_Profit__c,Agency1_Profit_Rate__c,Quote_No__c,
                 Agency2__c,Agent1_Agent2_Price__c,Agency2_Profit__c,Agency2_Profit_Rate__c,
@@ -2558,6 +2573,12 @@
         q.Quote_Comment__c = quo.Quote_Comment__c;
 
         q.Installation_location__c = quo.Installation_location__c;
+
+        //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+        q.QuotationChange__c = quo.QuotationChange__c;
+        q.MainEngineWithoutMonitor__c = quo.MainEngineWithoutMonitor__c;
+        q.Interdepartmental__c = quo.Interdepartmental__c;
+        //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
         /*
         if (hasType3Machine) {
             q.Installation_location__c = '';
@@ -3412,6 +3433,12 @@
         public boolean If_Need_Authorize { get; set; }
         public String Authorized_DB_No { get; set; }
         // LHJ End
+        // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm start
+        // 鍖婚櫌鍚堝悓閲戦姣斾緥
+        public Decimal rate_hospital { get; set; }
+        // 缁忛攢鍟�1鍚堝悓閲戦姣斾緥
+        public Decimal rate_agency1 { get; set; }
+        // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm end
 
         public OppInfo(Opportunity opp) {
             Account_RecordType_DeveloperName = opp.Account.RecordType.DeveloperName;
@@ -3426,6 +3453,12 @@
             If_Need_Authorize = opp.If_Need_Authorize__c;
             Authorized_DB_No = opp.Authorized_DB_No__c;
             // LHJ End
+            // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm start
+            String str_rate_hospital = ControllerUtil.getValueFromJSONString(System.Label.Quote_HospitalAmount_Rate, opp.Salesdepartment_Owner__c);
+            String str_rate_agency1 = ControllerUtil.getValueFromJSONString(System.Label.Quote_Agency1Amount_Rate, opp.Salesdepartment_Owner__c);
+            rate_hospital = String.isNotBlank(str_rate_hospital) ? Decimal.valueOf(str_rate_hospital) : 1.0;
+            rate_agency1 = String.isNotBlank(str_rate_agency1) ? Decimal.valueOf(str_rate_agency1) : 1.0;
+            // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm end
         }
     }
     //TODO 1.Quote銈儢銈搞偋銈儓杩藉姞

--
Gitblit v1.9.1