From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新

---
 force-app/main/default/classes/AgencyOppUpdHandler.cls |  191 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 189 insertions(+), 2 deletions(-)

diff --git a/force-app/main/default/classes/AgencyOppUpdHandler.cls b/force-app/main/default/classes/AgencyOppUpdHandler.cls
index 8b7863f..642b4d3 100644
--- a/force-app/main/default/classes/AgencyOppUpdHandler.cls
+++ b/force-app/main/default/classes/AgencyOppUpdHandler.cls
@@ -27,7 +27,10 @@
         set_AgencyOpportunity_OCSMOwner();
 
         if (updAgencyOpportunityMap.size() > 0) {
+            // 璺宠繃璇环trigger
+            StaticParameter.EscapeOppandStaTrigger = true;
             update updAgencyOpportunityMap.values();
+            StaticParameter.EscapeOppandStaTrigger = false;
         }
     }
 
@@ -36,9 +39,75 @@
         set_AgencyOpportunity_OCSMOwner();
 
         if (updAgencyOpportunityMap.size() > 0) {
+            // 璺宠繃璇环trigger
+            StaticParameter.EscapeOppandStaTrigger = true;
             update updAgencyOpportunityMap.values();
+            StaticParameter.EscapeOppandStaTrigger = false;
         }
+
+        updateTask(); // 2022-6-27 yjk  璇环浠诲姟
     }
+
+
+    //2022-6-27 yjk  璇环浠诲姟 start
+    private void updateTask() {
+        List<Id> oppIds = new List<Id>();
+        List<Id> canceloppIds = new List<Id>();//20221208 you DB202211594688
+
+        List<Opportunity> opList = new List<Opportunity>();
+        for(Opportunity opp : newList){
+            //if(opp.IF_Submit__c == true && oldMap.get(opp.id).IF_Submit__c ==false){
+            if(opp.Assistant_Applied_Date__c != null && oldMap.get(opp.id).Assistant_Applied_Date__c == null){
+                oppIds.add(opp.id);
+                Opportunity op = new Opportunity();
+                op.Id = opp.Id;
+                op.ConfirmationofAward_createTime__c = (opp.Task_createTime__c !=null || opp.ifOpenBid__c =='闈炲叕寮�鎷涙爣') ? Date.today() : null; //20220823 you
+                op.ConfirmationofAward__c = 'OLY涓爣';
+                opList.add(op);
+            }
+            // 2022-11-22 ssm DB202211311158 鍙栨秷win鐨勬椂鍊欏垽鏂槸鍚︽湁浠诲姟 濡傛灉娌℃湁浠诲姟鐨勮瘽灏辨竻绌� 鏈変换鍔$殑鏃跺�欎繚鐣欑粨鏋�
+            // if(opp.Assistant_Applied_Date__c == null && oldMap.get(opp.id).Assistant_Applied_Date__c != null){//鍙栨秷鍚堝悓鐢宠鏃ワ紝瀛楁娓呯┖
+            if(opp.Assistant_Applied_Date__c == null && oldMap.get(opp.id).Assistant_Applied_Date__c != null && 
+                !(!opp.SAP_Send_OK__c && oldMap.get(opp.id).SAP_Send_OK__c && oldMap.get(opp.id).Task_createTime__c != null)){
+                Opportunity op = new Opportunity();
+                op.Id = opp.Id;
+                op.ConfirmationofAward_createTime__c = null;
+                op.ConfirmationofAward__c = '';
+                opList.add(op);
+            }
+            if(opp.ConfirmationofAward__c != null && oldMap.get(opp.id).ConfirmationofAward__c == null){
+                oppIds.add(opp.id);
+            }
+            //20221208 you DB202211594688  鍙栨秷 鏈畬鎴愮殑澶卞崟鎶ュ憡浠诲姟
+            if(opp.ConfirmationofAward__c != null && oldMap.get(opp.id).ConfirmationofAward__c !=null && oldMap.get(opp.id).ConfirmationofAward__c=='绔炰簤瀵规墜涓爣' && opp.ConfirmationofAward__c=='OLY涓爣' && opp.LostTask_createTime__c !=null && opp.LostTask_comfirmTime__c ==null){
+               canceloppIds.add(opp.id);
+            }
+
+        }
+        
+        List<task__c> taskList = [select id,taskStatus__c ,OpportunityId__c,RecordType.Name from task__c where ((RecordType.Name in ('涓爣缁撴灉纭')  and OpportunityId__c in :oppIds) OR (RecordType.Name in ('澶卞崟鎶ュ憡浠诲姟')  and OpportunityId__c in :canceloppIds)) and taskStatus__c = '02 鎺ュ彈'];
+        for(task__c tsk : taskList){
+            if(tsk.RecordType.Name=='澶卞崟鎶ュ憡浠诲姟'){
+                tsk.taskStatus__c = '04 鍙栨秷';
+                tsk.cancelDate__c = date.today();
+                tsk.cancelReasonSelect__c = '淇敼涓爣缁撴灉';  
+                Opportunity op = new Opportunity();
+                op.Id = tsk.OpportunityId__c;
+                op.LostTask_createTime__c =null;
+                opList.add(op);
+            }else{
+                tsk.taskStatus__c = '03 瀹屾垚';
+            }
+			
+		}
+        if(null!=opList && opList.size()>0){
+           update opList;
+        }
+
+		update taskList;
+    }
+
+    //2022-6-27 yjk  璇环浠诲姟 end
 
     //private void insertOppFromAgencyOpportunity() {
     //    for(Opportunity nObj : newList) {
@@ -72,12 +141,30 @@
     // 璇环 Win 鐨勬椂鍊� 鏇存柊 .璇环 鐨� Amount__c = oppMap.get(ao.Id)
     private void set_AgencyOpportunity_Amount() {
         Map<Id, Decimal> oppMap = new Map<Id, Decimal>();
+        Set<String> oppIdSet = new Set<String>(); // 20220720 ljh 璁板綍WIN鏃剁偣鐨勬垬鐣ヤ骇鍝佸垽鏂� start
         for(Opportunity nObj : newList) {
             Opportunity oObj = oldMap.get(nObj.Id);
-            if(nObj.Agency_Opportunity__c != null && nObj.AgencyOpp_FromOCM__c == true && oObj.SAP_Send_OK__c == false && nObj.SAP_Send_OK__c == true) {
-                oppMap.put(nObj.Agency_Opportunity__c, nObj.Dealer_Final_Price__c);
+            // 20220720 ljh 璁板綍WIN鏃剁偣鐨勬垬鐣ヤ骇鍝佸垽鏂� start
+            // if(nObj.Agency_Opportunity__c != null && nObj.AgencyOpp_FromOCM__c == true && oObj.SAP_Send_OK__c == false && nObj.SAP_Send_OK__c == true) {
+            //     oppMap.put(nObj.Agency_Opportunity__c, nObj.Dealer_Final_Price__c);
+            // }
+            if( oObj.SAP_Send_OK__c == false && nObj.SAP_Send_OK__c == true) {
+                if(nObj.Agency_Opportunity__c != null && nObj.AgencyOpp_FromOCM__c == true){
+                    oppMap.put(nObj.Agency_Opportunity__c, nObj.Dealer_Final_Price__c);
+                }
+                oppIdSet.add(nObj.Id);
             }
+            // 20220720 ljh 璁板綍WIN鏃剁偣鐨勬垬鐣ヤ骇鍝佸垽鏂� end
         }
+        // 20220720 ljh 璁板綍WIN鏃剁偣鐨勬垬鐣ヤ骇鍝佸垽鏂� start
+        if(oppIdSet.size() > 0 ){
+            List<OpportunityLineItem> OppLIlist = [select Id,Key_product_147P_Text__c,Key_product_147P__c from OpportunityLineItem  where OpportunityId in :oppIdSet];
+            for(OpportunityLineItem oli : OppLIlist){
+                oli.Key_product_147P_Text__c = oli.Key_product_147P__c;
+            }
+             update OppLIlist;
+        }
+        // 20220720 ljh 璁板綍WIN鏃剁偣鐨勬垬鐣ヤ骇鍝佸垽鏂� end
         if (oppMap.size() > 0) {
             List<Agency_Opportunity__c> aoList = [select Id, Name, Amount__c from Agency_Opportunity__c where Id in :oppMap.keySet()];
             for(Agency_Opportunity__c ao : aoList) {
@@ -110,4 +197,104 @@
         }
 
     }
+        @TestVisible
+    public static void testI() {
+        integer i = 0;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1