From ead4df22dca33a867279471821ca675f91dec760 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期六, 14 五月 2022 18:44:54 +0800
Subject: [PATCH] FixIssue0514

---
 force-app/main/default/classes/NewQuoteEntryWebService.cls |  459 +++++++++++++--------------------------------------------
 1 files changed, 106 insertions(+), 353 deletions(-)

diff --git a/force-app/main/default/classes/NewQuoteEntryWebService.cls b/force-app/main/default/classes/NewQuoteEntryWebService.cls
index 17471a1..eab2a28 100644
--- a/force-app/main/default/classes/NewQuoteEntryWebService.cls
+++ b/force-app/main/default/classes/NewQuoteEntryWebService.cls
@@ -1,376 +1,129 @@
 global class NewQuoteEntryWebService {
 
-    WebService static List<Product2> getProduct2(List<String> ids) {
-        List<Product2> p2 =
-            [select Id, Name, SFDA_Status__c, Intra_Trade_Cost_RMB__c,
-             Intra_Trade_List_RMB__c, Foreign_Trade_Cost_US__c,
-             Foreign_Trade_List_US__c, Sales_Possibility__c,
-             Estimation_Entry_Possibility__c, StorageStatus__c
-             // 澶氬勾淇濅慨 start
-             , GuranteeType__c
-             , Entend_gurantee_period_all__c
-             //, Foreign_Trade_Gurantee_US__c
-             , Intra_Trade_Gurantee_RMB__c
-             //, If_Consumable__c
-             , Intra_Trade_Service_RMB__c
-             ,Maintenance_Price_Year__c
-             //澶栬锤澶氬勾淇� 妫�绱㈠璐稿瓧娈� 绮剧悽鎶�鏈� wql 2021/01/29 start
-             ,NoDiscount_Foreign__c
-             ,Intra_Trade_Foreign_RMB__c
-             ,Repair_Contract_USD__c  
-             //澶栬锤澶氬勾淇� 妫�绱㈠璐稿瓧娈� 绮剧悽鎶�鏈� wql 2021/01/29 start
-             
-             // 澶氬勾淇濅慨 end
-             FROM Product2
-             Where Id in :ids];
-        return p2;
-    }
+    private static Map<String, String> paymentTermsMap = new Map<String, String> {
+        'Z001' => '棰勬敹娆�/棰勪粯娆�',
+        'Z002' => '绔嬪嵆浠樻',
+        'Z003' => '鏈堢粨30澶╁唴浠樻',
+        'Z004' => '鏈堢粨60澶╁唴浠樻',
+        'Z005' => '鏈堢粨90澶╁唴浠樻',
+        'Z006' => '鏈堢粨120澶╁唴浠樻',
+        'Z007' => '鏈堢粨25澶╁唴浠樻',
+        'Z008' => '鏈堢粨55澶╁唴浠樻',
+        'Z009' => '鏈堢粨85澶╁唴浠樻',
+        'Z010' => '鏈堢粨115澶╁唴浠樻',
+        'Z011' => '鏈堢粨175澶╁唴浠樻',
+        'Z012' => '鏈堢粨205澶╁唴浠樻',
+        'Z013' => '鍗婃湀缁擄紝15鏃ヤ箣鍓嶅彂璐э紝褰撴湀15鏃ュ埌鏈�',
+        'Z014' => '鏈堢粨30澶╁唴浠樻',
+        'Z015' => '楠屾敹鍚�15澶╃數姹�',
+        'Z020' => '100%鍙戣揣鍚�30澶╁唴鏀粯',
+        'Z021' => '100%鍙戣揣鍚�60澶╁唴鐢垫眹鏀粯',
+        'Z030' => '鏀跺埌鍙戠エ鍚�30澶╁唴鐢垫眹',
+        'Z045' => '鏈堢粨45澶╁唴浠樻',
+        'Z060' => '鏀跺埌鍙戠エ鍚�60澶╁唴鐢垫眹',
+        'Z075' => '鏀跺埌鍙戠エ鍚�75澶╁唴鐢垫眹',
+        'Z090' => '鏀跺埌鍙戠エ鍚�90澶╁唴鐢垫眹',
+        'Z0LC' => '100% L/C (90/10)',
+        'Z120' => '鏀跺埌鍙戠エ鍚�120澶╁唴鐢垫眹',
+        'Z1LC' => '100% L/C (80/20)',
+        'Z1TT' => '90%TT ADV锛�10%TT AFTER',
+        'Z2LC' => '100% L/C (70/30)',
+        'Z2TT' => '80%TT ADV锛�20%TT AFTER',
+        'Z30E' => '涓嬫湀鏈�',
+        'Z3LC' => '100% L/C 90 days',
+        'Z3TT' => '70%TT ADV锛�30%TT AFTER',
+        'Z4LC' => '90%L/CTransfer 10%TT AFTER',
+        'Z4TT' => '100% TT AFTER',
+        'Z5LC' => '100%L/C at sight Transfer',
+        'Z5TT' => '30% TT ADV锛�50% TT AT SIGHT锛�20% TT AFTER',
+        'Z60E' => '涓�2涓湀鏈�',
+        'Z6LC' => '100%L/C (85/15)',
+        'Z6TT' => '30% TT ADV锛�60% TT AT SIGHT锛�10% TT AFTER',
+        'Z7LC' => '100% L/C (60/40)',
+        'Z7TT' => '100锛匱T AFTER(80/20)',
+        'Z8TT' => '100% TT AFTER锛�70/30锛�',
+        'Z9TT' => '100%TT鍙戣揣鍚�20澶╁唴鏀粯',
+        'ZCOD' => 'C.O.D.',
+        'ZD60' => '绔嬪嵆搴斾粯鐨� 鍒版湡鍑�鍊�',
+        'ZFR1' => '鍗婃湀缁擄紝15鏃ヤ箣鍓嶅彂璐э紝褰撴湀15鏃ュ埌鏈�',
+        'ZL6T' => '90% LC 60 days锛�10% TT AFTER',
+        'ZL95' => '95% L/C AFTER,5% L/C AFTER 6M FROM ACCEPTANCE DATE',
+        'ZLC1' => '100% L/C (90/10) Transfer',
+        'ZLC2' => '100% L/C AT SIGHT (95/5)',
+        'ZLT1' => '90%LC锛�10%TT',
+        'ZLT2' => '80%LC锛�20%TT',
+        'ZLT3' => '70%LC锛�30%TT',
+        'ZLT4' => '95%LC锛�5%TT',
+        'ZLT5' => '50%L/C锛�50%TT after',
+        'ZT20' => '20% T/T ADV,80% T/T AFTER',
+        'ZT30' => '30% T/T ADV, 70%T/T AFTER',
+        'ZT35' => '35% TT ADV锛�65% TT AFTER',
+        'ZT40' => '40% TT ADV锛�60% TT AFTER',
+        'ZT50' => '50% TT ADV锛�50% TT AFTER',
+        'ZT55' => '95%TT ADV锛�5%TT AFTER',
+        'ZT90' => '楠屾敹鍚堟牸鍚嶵/T鏀粯90%锛岃澶囨甯歌繍琛屼笁涓湀T/T鏀粯10%',
+        'ZTT1' => 'TT AFTER DELIVERY 45 DAY',
+        'ZTT2' => 'TT AFTER DELIVERY 120 DAY',
+        'ZTT3' => '100%TT鍙戣揣鍚�15涓伐浣滄棩鍐呮敮浠�',
+        'ZTT4' => '楠屾敹鍚堟牸鍚嶵/T鏀粯80%锛岃澶囨甯歌繍琛屼笁涓湀T/T鏀粯20%',
+        'ZZ60' => '60 DAYS AFTER ISSUING INVOICE',
+        'ZZ95' => '95% L/C AFTER,5% T/T AFTER 6M FROM ACCEPTANCE DATE',
+        'ZZLC' => '100% L/C AT SIGHT',
+        'ZZTT' => '100% TT IN ADVANCE'
+    };
 
-    WebService static List<QuoteLineItem> getQuoteLineItem(String quoId) {
-        System.debug(Logginglevel.ERROR, 'NewQuoteEntryWebService  getQuoteLineItem  Start ' + quoId);
+	WebService static String selectQuotation(String oppId, String quoId) {
+        String rs = '';
 
-        // 鍗板埛鏃ャ亴銇傘倠鍫村悎銆併亱銇ゅ鏇淬亴銇傘倠鍫村悎銆佺⒑瑾嶃儭銉冦偦銉笺偢銈掑嚭銇�
-        List<QuoteLineItem> items = new List<QuoteLineItem>();
-        if (String.isBlank(quoId) == false) {
-            items = [Select Quote.Quote_Date__c, Quote.BidAnnounce__c, PricebookEntry.Product2.Packing_list_manual__c,
-                     PricebookEntryId, SFDA_Status__c, Cost__c, UnitPrice__c, ListPrice__c, Quantity, Qty_Unit__c,
-                     Id, ProductCode__c, Asset_Model_No__c, Name__c, Subtotal, AgencySubtotal__c  , AgencyUnitPrice__c, Present__c
-                     // CHAN-B4YAB8 2018/11/09 涓氬姟鏈轰細浜у搧鐨勮禒閫併�佺粡閿�鍟嗗皬璁°�佸崟浠�
-                     // 澶氬勾淇濅慨 start
-                     , multiYearWarranty__c ,  GuaranteePeriod__c,warrantyType__c, NoDiscountTotal__c
-                     // 澶氬勾淇濅慨 end
-                     From QuoteLineItem where Quoteid = :quoId Order by Item_Order__c];
-        }
+        List<Quote> quotes = [select Id,Name,QuoteNumber,Account.name,ExpirationDate,Subtotal,Discount,TotalPrice,GrandTotal,PaymentTerms__c
+                                from Quote
+                               where Id = :quoId];
+        List<QuoteLineItem> qlis = [select Id,Product2.name,Product2.ProductCode,Quantity,Subtotal,TotalPrice,PricebookEntryId,UnitPrice,Discount,Description
+                                      from QuoteLineItem
+                                     where Quoteid = :quoId
+                                     Order by Id];
 
-        return items;
-    }
-
-    WebService static Boolean selectQuotation(String oppId, String quoId) {
-        Boolean rt = false;
-        // 鍙互閫夋嫨锛屾病鏈夎鍙栨秷杩囩殑鎶ヤ环
-        List<Quote> quotes = [select Id, Estimation_List_Price__c, Dealer_Final_Price__c, Agency1__c, Agency1_Profit__c, Agency1_Profit_Rate__c,
-                              Agency2__c, Agent1_Agent2_Price__c, Agency2_Profit__c, Agency2_Profit_Rate__c, Stocking_Price__c, Quote_No__c, Name,
-                              OCM_Sales_Forecast__c, OCM_Agent1_Price__c, Opportunity.RecordType.DeveloperName, TotalPrice__c
-                              from Quote where Id = :quoId and Cancel_Decide__c = false];
-        List<QuoteLineItem> qlis = [select Id, Id__c, SFDA_Status__c, Name__c, ListPrice__c, Quantity, UnitPrice__c, Qty_Unit__c, Cost__c,
-                                    BSS_Category__c, Subtotal__c, PricebookEntryId
-                                    from QuoteLineItem where Quoteid = :quoId Order by Item_Order__c, Id];
         Savepoint sp = Database.setSavepoint();
         try {
             if (quotes.size() > 0) {
                 Quote quo = quotes[0];
+
                 Opportunity o = New Opportunity();
-                List<Opportunity> os = New List<Opportunity>();
-                os = [select Id, Estimation_List_Price__c, Dealer_Final_Price__c, Estimation_List_Price_Without_Tax__c,
-                      Agency1__c, OCM_Agent1_Price__c, Agency1_Profit__c, Agency1_Profit_Rate__c, Stocking_Price__c,
-                      Agency2__c, Agent1_Agent2_Price__c, Agency2_Profit__c, Agency2_Profit_Rate__c
-                      From Opportunity Where Id = :oppid];
-                if (os.size() > 0) {
+                List<Opportunity> os = [select Id From Opportunity Where Id =:oppId];
+                if (os.size()>0) {
                     o = os[0];
-                    o.Estimation_List_Price__c = quo.Estimation_List_Price__c;
-                    o.Wholesale_Price__c = quo.OCM_Sales_Forecast__c;
-                    o.Dealer_Final_Price__c = quo.Dealer_Final_Price__c;
-                    o.Agency1__c = quo.Agency1__c;
-                    o.OCM_Agent1_Price__c = quo.OCM_Agent1_Price__c;
-                    o.Agency1_Profit__c = quo.Agency1_Profit__c;
-                    o.Agency1_Profit_Rate__c = quo.Agency1_Profit_Rate__c;
-                    o.Agency2__c = quo.Agency2__c;
-                    o.Agent1_Agent2_Price__c = quo.Agent1_Agent2_Price__c;
-                    o.Agency2_Profit__c = quo.Agency2_Profit__c;
-                    o.Agency2_Profit_Rate__c = quo.Agency2_Profit_Rate__c;
-                    o.Stocking_Price__c = quo.Stocking_Price__c;
-                    o.Estimation_No__c = quo.Quote_No__c;
-                    o.Estimation_Name__c = quo.Name;
-                    o.Estimation_Id__c = quo.Id;
+                    o.SyncedQuoteId = quo.Id;
+                    o.Quote_PaymentTerms_Text__c = paymentTermsMap.get(quo.PaymentTerms__c);
+                    update o;
 
-                    ControllerUtil.updOpp(o);
-
-                    List<OpportunityLineItem> ols = New List<OpportunityLineItem>();
-                    OpportunityLineItem ol = New OpportunityLineItem();
-                    ols = [select Id from OpportunityLineItem Where OpportunityId = :oppid];
-                    if (ols.size() > 0) {
-                        //delete
-                        ControllerUtil.delOppLine(ols);
+ /*                   List<OpportunityLineItem> ols = [select Id from OpportunityLineItem Where OpportunityId =:oppId];
+                    if (ols.size()>0) {
+                        delete ols;
                     }
 
-                    Integer i = 1;
                     ols = New List<OpportunityLineItem>();
-                    if (qlis.size() > 0) {
-                        for (QuoteLineItem ql : qlis) {
-                            if (ql.PricebookEntryId != null) {
-                                ol = New OpportunityLineItem();
-                                ol.OpportunityId = oppId;
-                                ol.Id__c = ql.Id__c;
-                                ol.SFDA_Status__c = ql.SFDA_Status__c;
-                                ol.Name__c = ql.Name__c;
-                                ol.ListPrice__c = ql.ListPrice__c;
-                                ol.Quantity = ql.Quantity;
-                                ol.UnitPrice = 0;
-                                ol.UnitPrice__c = ql.UnitPrice__c;
-                                ol.Qty_Unit__c = ql.Qty_Unit__c;
-                                //銈炽偣銉堛伅灏忚▓娓堛倰鐧婚尣
-                                ol.Cost__c = ql.Cost__c;
-                                ol.BSS_Category__c = ql.BSS_Category__c;
-
-                                //OCM澹蹭笂浜堟脯閲戦 * (灏忚▓/瑕嬬鍚堣▓)
-                                if (ql.Subtotal__c != null && quo.OCM_Sales_Forecast__c != null && quo.TotalPrice__c != null) {
-                                    if (ql.Subtotal__c > 0 && quo.TotalPrice__c > 0) {
-                                        ol.OCM_Sales_Forecast__c =  quo.OCM_Sales_Forecast__c * (ql.Subtotal__c / quo.TotalPrice__c);
-                                    }
-                                }
-                                //渚℃牸琛�
-                                ol.PricebookEntryId = ql.PricebookEntryId;
-                                //涓︺伋闋�
-                                ol.Item_Order__c = i;
-                                ols.add(ol);
-                                i++;
-                            }
-                        }
-                        ControllerUtil.insOppLine(ols);
+                    for (QuoteLineItem qli : qlis) {
+                        OpportunityLineItem ol = New OpportunityLineItem();
+                        ol.PricebookEntryId = qli.PricebookEntryId;
+                        ol.OpportunityId = oppId;
+                        ol.Quantity =  qli.Quantity;
+                        ol.UnitPrice = qli.UnitPrice;
+                        ol.Description = qli.Description;
+                        ols.add(ol);
                     }
-                    rt = true;
+
+                    if (ols.size()>0) {
+                        insert ols;
+                    }*/
                 }
             }
-        } catch (DmlException de) {
-            Database.rollback(sp);
-            throw de;
+
+            rs = '1';
         } catch (Exception e) {
             Database.rollback(sp);
-            throw e;
+            rs = e.getMessage();
         }
-        return rt;
-    }
-    //SWAG-C3BAVY 銆愬鎵樸�戣浠锋柊鏃ode 鏇挎崲 绮剧悽鎶�鏈� wql 20210607 start
-    //鐢ㄤ簬鎶ヤ环鍗曟潯鏇挎崲浜у搧otcode
-    WebService static Boolean updateOTCode(String tempQuoId){
-        Boolean successFlag = true;
-        //瀹氫箟璇环id
-        String tempOppId = '';
 
-        //瀛樻斁鎵�鏈夋姤浠疯 浜у搧id
-        List<String> product2Ids = new List<String>();
-        //浜у搧list
-        List<Product2> Product2List = new List<Product2>();
-        //key:鏃х殑浜у搧鍨嬪彿锛泇alue:瀵瑰簲鐨勬柊浜у搧id
-        Map<String,String> newProIdsMap = new Map<String,String>();
-        //key:鏂颁骇鍝乮d锛泇alue:鏂颁环鏍兼墜鍐宨d
-        Map<String,String> newPriceBookIdMap = new Map<String,String>();
-        
-        //list灏佽绫� 鐢ㄦ灏佽绫� 璺宠繃 涓嶈兘鐩存帴鏇存柊琛岄」鐩笂浜у搧
-        List<QELine> activities;
-        //clone鎶ヤ环琛�
-        List<QuoteLineItem> QuoteLineItemCloneList = new List<QuoteLineItem>();
-        //clone璇环琛�
-        List<OpportunityLineItem> OpportunityLineItemCloneList = new List<OpportunityLineItem>();
-
-/* ----------------------------------------鍓嶆湡鏁版嵁鍑嗗  wql start ----------------------------------------- */
-        //鍏堣幏鍙栬浠穒d
-        List<quote> quoteList= [select OpportunityId from quote where id =:tempQuoId];
-        if(quoteList.size()>0){
-            tempOppId = quoteList[0].OpportunityId;
-        }
-        //鑾峰彇鎵�鏈夋姤浠疯 锛堣sql浣滀负鐩存帴insert鍏嬮殕鐢� 鏈�濂戒笉瑕佹坊鍔犲叾浠栦細鏈夊奖鍝嶇殑瀛楁锛�
-        List<QuoteLineItem> QuoteLineItemList =
-            [Select id,Asset_Model_No__c,ProductCode__c,PricebookEntry.Product2Id, PricebookEntry.Product2.SFDA_Status__c,SFDA_Status__c, BSS_Category__c,Qty_Unit__c, Cost__c, UnitPrice__c,UnitPrice, ListPrice__c, Quantity, PricebookEntryId, UnitPrice_Page__c,AgencyUnitPrice__c, AgencySubtotal__c, Present__c, multiYearWarranty__c , If_Cancel_Guarantee__c , GuaranteePeriod__c, ServicePrice__c , GuranteePrice__c, ProductEntend_gurantee_period_all__c,ProductGuranteePrice__c,  GuranteeType__c,warrantyType__c, productServicePrice__c, NoDiscountTotal__c, provistonPeriod__c, Maintenance_Price_Year__c,Quoteid,Id__c,OCM_Sales_Forecast__c,NameForPrint__c,NameForPrintDelimiter__c,Asset_Model_No_forPrint__c,Cost_Subtotal__c,Name__c,Subtotal__c,Quantity__c,ProductSetName__c,CanNotCancelFlag__c  From QuoteLineItem where Quoteid =:tempQuoId Order by Item_Order__c, Id];
-        //鍒ゆ柇鏄惁鏈夎椤圭洰
-        if(QuoteLineItemList.size()>0){
-            for(QuoteLineItem qli :QuoteLineItemList){
-                Product2Ids.add(qli.PricebookEntry.Product2Id );
-            }
-        }
-        /* ---------------杩欓儴鍒嗗叾瀹為渶瑕佺敤涓ゆ 浣嗘槸webservice娌″姙娉曞啓鍏遍��  wql start ------------------------ */        
-        //濡傛灉浜у搧id鏈夊��
-        if(product2Ids.size()>0){
-            //鏍规嵁鐜版湁鐨勪骇鍝乮d 鏌ヨ浜у搧鍨嬪彿鍜屽搴旀柊鐨勪骇鍝乮d
-            Product2List = [select ProductCode,Correspond_Code__c from Product2 where id in:product2Ids and Correspond_Code__c !=null];
-        }
-        //瀛樻斁key:鏃х殑浜у搧鍨嬪彿锛泇alue:瀵瑰簲鐨勬柊浜у搧id
-        if(Product2List.size()>0){
-            for(Product2 p :Product2List){
-                newProIdsMap.put(p.ProductCode,p.Correspond_Code__c);
-            }
-        }
-        //鏍规嵁鏂颁骇鍝乮d锛岃幏鍙栦环鏍兼墜鍐宨d  杩欓噷鍥犱负姣忎釜浜у搧瀵瑰簲涓ゆ潯浠锋牸鎵嬪唽 CNY / USD  ,鍏堢洿鎺ラ粯璁ゅ彇CNY鐨勪环鏍兼墜鍐�
-        List<PriceBookEntry> priceBookList = [SELECT Id,Product2Id FROM PriceBookEntry WHERE Product2Id in:newProIdsMap.values() and CurrencyIsoCode ='CNY'];
-        if(priceBookList.size()>0){
-            for(PriceBookEntry pbe:priceBookList){
-                newPriceBookIdMap.put(pbe.Product2Id,pbe.Id);
-            }
-        }
-        /* ---------------杩欓儴鍒嗗叾瀹為渶瑕佺敤涓ゆ 浣嗘槸webservice娌″姙娉曞啓鍏遍��  wql end ------------------------ */ 
-        
-/* ----------------------------------------鍓嶆湡鏁版嵁鍑嗗  wql end ----------------------------------------- */        
-
-/* ------------------------------- 鎶ヤ环琛� 鍏ㄥ垹鍏ㄥ 鏇挎崲浜у搧otcode  wql start ------------------------------------- */        
-        activities =new List<QELine>();
-        if(QuoteLineItemList.size()>0){
-            for(QuoteLineItem q :QuoteLineItemList){
-                QELine c = null;
-                if(q.PricebookEntry.Product2.SFDA_Status__c =='鍋滄'){
-                    System.debug('111:');
-                    System.debug('newProIdsMap:'+newProIdsMap);
-                    System.debug('newPriceBookIdMap:'+newPriceBookIdMap);
-                    System.debug('q.Asset_Model_No__c');
-                     c = new QELine(q,'闇�瑕佹浛鎹�',newProIdsMap.get(q.ProductCode__c),newPriceBookIdMap.get(newProIdsMap.get(q.ProductCode__c)));
-                }else{
-                    System.debug('222:');
-                     c = new QELine(q,'',newProIdsMap.get(q.ProductCode__c),newPriceBookIdMap.get(newProIdsMap.get(q.ProductCode__c)));
-                }
-                
-                System.debug('C::'+c);
-                activities.add(c);
-            }
-        }
-        try {
-            //鎶ヤ环琛屽厛鍒犲悗澧� start
-            if(QuoteLineItemList.size()>0){
-                delete QuoteLineItemList;
-            }
-            if(activities.size()>0){
-                for(QELine  qe:activities){
-                    //new 琛岄」鐩�
-                    QuoteLineItem quo = new QuoteLineItem();
-                    //澶嶅埗鎶ヤ环琛�
-                    quo = qe.pageObject;
-                    //addlist
-                    QuoteLineItemCloneList.add(quo);
-                }
-            }
-            system.debug('QuoteLineItemCloneList:'+QuoteLineItemCloneList);
-            //鎶ヤ环琛屽厛鍒犲悗澧� start
-            if(QuoteLineItemCloneList.size()>0){
-                insert QuoteLineItemCloneList;
-            }
-            //鎶ヤ环琛屽厛鍒犲悗澧� end
-        } catch (Exception e) {
-            successFlag = false;
-        }
-        
-        
-/* ------------------------------- 鎶ヤ环琛� 鍏ㄥ垹鍏ㄥ 鏇挎崲浜у搧otcode  wql end ------------------------------------- */        
-
-/* ------------------------------- 璇环琛� 鍏ㄥ垹鍏ㄥ 鏇挎崲浜у搧otcode  wql start ------------------------------------- */        
-List<OpportunityLineItem>  OpportunityLineItemList=[Select id,OpportunityId,PricebookEntry.Product2Id, Asset_Model_No__c,PricebookEntry.Product2.SFDA_Status__c, SFDA_Status__c, Name__c, ProductCode__c,Qty_Unit__c, Cost__c, ListPrice__c, Quantity, BSS_Category__c, TotalPrice,Product_Cost__c, Product_ListPrice__c,PricebookEntryId,UnitPrice__c, TotalPrice__c, AgencyUnitPrice__c, AgencySubtotal__c, Present__c, multiYearWarranty__c , If_Cancel_Guarantee__c , GuaranteePeriod__c,ServicePrice__c , GuranteePrice__c,ProductEntend_gurantee_period_all__c,ProductGuranteePrice__c, GuranteeType__c,warrantyType__c, productServicePrice__c,NoDiscountTotal__c, provistonPeriod__c, Maintenance_Price_Year__c,OCM_Sales_Forecast__c,NumberOfObjective_146P__c,Id__c,OCM_man_province_txt__c,Objective_146P__c,Important_Rroduct__c,If_170Pro__c,If_EP_T1_F__c,If_AHPro__c,Is_DangerousChemicals__c,CanNotCancelFlag__c,Item_Order__c,target__c,Register_alleffective__c,strategyProductText__c From OpportunityLineItem Where OpportunityId =:tempOppId Order by Item_Order__c, Id];
-        //鍒ゆ柇鏄惁鏈夎椤圭洰
-        Product2Ids = new List<String>();
-        Product2List = new List<Product2>();
-        newProIdsMap.clear();
-        newPriceBookIdMap.clear();
-        priceBookList = new List<PriceBookEntry>();
-
-        if(OpportunityLineItemList.size()>0){
-            for(OpportunityLineItem oli :OpportunityLineItemList){
-                Product2Ids.add(oli.PricebookEntry.Product2Id );
-            }
-        }
-        /* ---------------杩欓儴鍒嗗叾瀹為渶瑕佺敤涓ゆ 浣嗘槸webservice娌″姙娉曞啓鍏遍��  wql start ------------------------ */        
-        //濡傛灉浜у搧id鏈夊��
-        if(product2Ids.size()>0){
-            //鏍规嵁鐜版湁鐨勪骇鍝乮d 鏌ヨ浜у搧鍨嬪彿鍜屽搴旀柊鐨勪骇鍝乮d
-            Product2List = [select ProductCode,Correspond_Code__c from Product2 where id in:product2Ids and Correspond_Code__c !=null];
-        }
-        //瀛樻斁key:鏃х殑浜у搧鍨嬪彿锛泇alue:瀵瑰簲鐨勬柊浜у搧id
-        if(Product2List.size()>0){
-            for(Product2 p :Product2List){
-                newProIdsMap.put(p.ProductCode,p.Correspond_Code__c);
-            }
-        }
-        //鏍规嵁鏂颁骇鍝乮d锛岃幏鍙栦环鏍兼墜鍐宨d  杩欓噷鍥犱负姣忎釜浜у搧瀵瑰簲涓ゆ潯浠锋牸鎵嬪唽 CNY / USD  ,鍏堢洿鎺ラ粯璁ゅ彇CNY鐨勪环鏍兼墜鍐�
-        priceBookList = [SELECT Id,Product2Id FROM PriceBookEntry WHERE Product2Id in:newProIdsMap.values() and CurrencyIsoCode ='CNY'];
-        if(priceBookList.size()>0){
-            for(PriceBookEntry pbe:priceBookList){
-                newPriceBookIdMap.put(pbe.Product2Id,pbe.Id);
-            }
-        }
-        /* ---------------杩欓儴鍒嗗叾瀹為渶瑕佺敤涓ゆ 浣嗘槸webservice娌″姙娉曞啓鍏遍��  wql end ------------------------ */
-        activities =new List<QELine>();
-        System.debug('鏈�寮�濮嬬殑锛歄pportunityLineItemList锛�'+OpportunityLineItemList);
-        System.debug('鏈�寮�濮嬬殑鏁伴噺锛�'+OpportunityLineItemList.size());
-        if(OpportunityLineItemList.size()>0){
-            for(OpportunityLineItem opp :OpportunityLineItemList){
-                QELine c = null;
-                if(opp.PricebookEntry.Product2.SFDA_Status__c =='鍋滄'){
-                     System.debug('zzzzz:');
-                     System.debug('newProIdsMap:'+newProIdsMap);
-                     System.debug('opp.ProductCode__c:'+opp.ProductCode__c);
-                     c = new QELine(opp,'闇�瑕佹浛鎹�',newProIdsMap.get(opp.ProductCode__c),newPriceBookIdMap.get(newProIdsMap.get(opp.ProductCode__c)));
-                }else{
-                     c = new QELine(opp,'',newProIdsMap.get(opp.ProductCode__c),newPriceBookIdMap.get(newProIdsMap.get(opp.ProductCode__c)));
-                }
-                System.debug('C::'+c);
-                activities.add(c);
-            }
-        }
-        try {
-            //璇环琛屽厛鍒犲悗澧� start
-            if(OpportunityLineItemList.size()>0){
-                delete OpportunityLineItemList;
-            }
-            system.debug('璇环琛岀殑琛屾暟锛�'+activities.size());
-            //璇环琛屽厛鍒犲悗澧� end
-            if(activities.size()>0){
-                for(QELine  ql:activities){
-                    //new 琛岄」鐩�
-                    OpportunityLineItem oppli = new OpportunityLineItem();
-                    //璇环鎶ヤ环琛�
-                    oppli = ql.pageOppObject;
-                    //addlist
-                    OpportunityLineItemCloneList.add(oppli);
-                }
-            }
-            
-            system.debug('OpportunityLineItemCloneList:'+OpportunityLineItemCloneList);
-            //鎶ヤ环琛屽厛鍒犲悗澧� start
-            if(OpportunityLineItemCloneList.size()>0){
-                insert OpportunityLineItemCloneList;
-            }
-        } catch (Exception e) {
-            successFlag = false;
-        }
-        
-/* ------------------------------- 璇环琛� 鍏ㄥ垹鍏ㄥ 鏇挎崲浜у搧otcode  wql end ------------------------------------- */        
-        return successFlag;
-    }
-
-    //鎶ヤ环鏇挎崲浜у搧code 灏佽绫�
-    public class QELine {
-        //鎶ヤ环琛�
-        public QuoteLineItem pageObject;
-        //璇环琛�
-        public OpportunityLineItem pageOppObject;
-        //鏈夊弬鏋勯��
-        public QELine(QuoteLineItem qli,String otcode,String proId,String tempPriceBookEntryId){
-            this.pageObject = qli.clone();
-            //鏇挎崲浜у搧鍜屼环鏍兼墜鍐�
-            System.debug('333:');
-            if(String.isNotBlank(otcode)){
-                System.debug('444:');
-                if(tempPriceBookEntryId!=null){
-                    this.pageObject.PricebookEntryId=tempPriceBookEntryId  ;
-                }
-                // if(proId!=null){
-                //     System.debug('555:');
-                //     this.pageObject.PricebookEntry.Product2Id=proId  ;
-                // }
-                
-            }
-        }
-        //璇环琛岄亶鍘�
-        public QELine(OpportunityLineItem oli,String otcode,String proId,String tempPriceBookEntryId){
-            this.pageOppObject = oli.clone();
-            //insert 鎶ヤ环涓嶉渶瑕乮d
-            // this.Id  	=	qli.Id;
-            //鏇挎崲浜у搧鍜屼环鏍兼墜鍐�
-            if(String.isNotBlank(otcode)){
-                if(tempPriceBookEntryId!=null){
-                    this.pageOppObject.PricebookEntryId=tempPriceBookEntryId  ;
-                }
-                // if(proId!=null){
-                //     this.pageOppObject.PricebookEntry.Product2Id=proId ;
-                // }
-                
-            }
-        }
-    }
-    //SWAG-C3BAVY 銆愬鎵樸�戣浠锋柊鏃ode 鏇挎崲 绮剧悽鎶�鏈� wql 20210607 end
+        return rs;
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1