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/OpportunityLineItemTrigger.cls |   80 +++++++++++++++++++++++++++++++--------
 1 files changed, 63 insertions(+), 17 deletions(-)

diff --git a/force-app/main/default/classes/OpportunityLineItemTrigger.cls b/force-app/main/default/classes/OpportunityLineItemTrigger.cls
index 118fb99..e3f1570 100644
--- a/force-app/main/default/classes/OpportunityLineItemTrigger.cls
+++ b/force-app/main/default/classes/OpportunityLineItemTrigger.cls
@@ -22,7 +22,7 @@
 
         List<OpportunityLineItem> retList =
             [Select Id, OpportunityId, Category3__c, Product2.MDM_Model_No__c, Opportunity.STMS_Package_Sale__c
-             , Opportunity.State_Owner__c, Product2.Family, Opportunity.EnergyHost__c
+             , Opportunity.State_Owner__c, Product2.Family, Opportunity.EnergyHost__c, Product2.Asset_Model_No__c
              from OpportunityLineItem
              where OpportunityId in: selIds
              order by OpportunityId];
@@ -51,6 +51,14 @@
                 }
             }
             Map<String, Opportunity> updateOpportunityMap = new Map<String, Opportunity>();
+            Boolean flg_usg =false;
+            Boolean flg_usg1 =false;
+            for (OpportunityLineItem oli1 : retList) {
+                if(oli1.Product2.Asset_Model_No__c != null && oli1.Product2.Asset_Model_No__c.contains('USG-400')){
+                    flg_usg1 = true;
+                    break;
+                }
+            }    
             for (OpportunityLineItem oli : retList) {
                 // 鑾峰彇鍘熷瓧娈靛��
                 String oppId = oli.OpportunityId;
@@ -67,16 +75,30 @@
                         // 鍒ゆ柇 璇环浜у搧鏄惁鍚湁 ENG 涓绘満 浜у搧
                         string mapkey1 = 'ENG_涓绘満';
                         string mapkey2 = 'ENG_鑳介噺涓绘満';
+                        //if (oli.Product2.Asset_Model_No__c != null && oli.Product2.Asset_Model_No__c.contains('USG-400')) {
+                        //     flg_usg = true;
+                        // }
                         if (familyMap.containsKey(mapkey1) || familyMap.containsKey(mapkey2)) {
+                            OpportunityLineItem FamMap1 = familyMap.get(mapkey1);
+                            OpportunityLineItem FamMap2 = familyMap.get(mapkey2);
+                            if((FamMap1 !=null && FamMap1.Product2.Asset_Model_No__c != null && FamMap1.Product2.Asset_Model_No__c.contains('USG-400')) || (FamMap2 !=null &&FamMap2.Product2.Asset_Model_No__c != null && FamMap2.Product2.Asset_Model_No__c.contains('USG-400'))){
+                               flg_usg = true;
+                            }  
+                            system.debug('flg_usg=='+flg_usg+'========='+familyMap.size());      
                             // 鍙惈鏈� ENG 涓绘満浜у搧
                             if (familyMap.size() == 1 ) {
                                 //鑳介噺鎵撳寘 False
                                 //鑳介噺涓绘満 True
-                                if (getOldStmsPackageSale || !getOldEnergyHost) {
+                                //if (getOldStmsPackageSale || !getOldEnergyHost) {
                                     updateOpportunity.STMS_Package_Sale__c = false;
-                                    updateOpportunity.EnergyHost__c =  true;
+                                    //updateOpportunity.EnergyHost__c =  true;
+                                    if(flg_usg){
+                                        updateOpportunity.EnergyHost__c =  true;
+                                    }else{
+                                        updateOpportunity.EnergyHost__c =  false;
+                                    }
                                     updateOpportunityMap.put(oppId, updateOpportunity);
-                                }
+                                //}
                             } else {
                                 //鍒ゆ柇鏄惁閮芥槸涓绘満
                                 Boolean principalMachine = true;
@@ -84,6 +106,7 @@
                                 Boolean energyHost = true;
                                 Boolean notContains = true;
                                 Boolean principalMachinENG = false;
+                                
                                 for(String key :familyMap.keySet()) {
 
 
@@ -99,17 +122,26 @@
                                             principalMachinENG = true;
                                         }
                                     } 
+                                    
                                 }
+                                system.debug(energyHost+'===='+notContains+'===='+principalMachinENG);
                                 
+                                system.debug('==='+flg_usg1);
                                 if (energyHost ) {
                                     // 閮芥槸鑳介噺涓绘満
                                     //鑳介噺鎵撳寘 False
                                     //鑳介噺涓绘満 True
-                                    if (getOldStmsPackageSale || !getOldEnergyHost) {
+                                    system.debug('鑳介噺鎵撳寘=='+getOldStmsPackageSale+'==鑳介噺涓绘満=='+getOldEnergyHost);
+                                    //if (getOldStmsPackageSale || !getOldEnergyHost) {
                                         updateOpportunity.STMS_Package_Sale__c = false;
-                                        updateOpportunity.EnergyHost__c =  true;
+                                        //updateOpportunity.EnergyHost__c =  true;
+                                        if(flg_usg1){
+                                            updateOpportunity.EnergyHost__c =  true;
+                                        }else{
+                                            updateOpportunity.EnergyHost__c =  false;
+                                        }
                                         updateOpportunityMap.put(oppId, updateOpportunity);
-                                    }     
+                                    //}     
                                    
                                    
                                 } else {
@@ -117,27 +149,42 @@
                                         // 鍙湁 ENG 涓绘満
                                         //鑳介噺鎵撳寘 False
                                         //鑳介噺涓绘満 True
-                                        if (getOldStmsPackageSale || !getOldEnergyHost) {
+                                        //if (getOldStmsPackageSale || !getOldEnergyHost) {
                                             updateOpportunity.STMS_Package_Sale__c = false;
-                                            updateOpportunity.EnergyHost__c =  true;
+                                            //updateOpportunity.EnergyHost__c =  true;
+                                            if(flg_usg1){
+                                                updateOpportunity.EnergyHost__c =  true;
+                                            }else{
+                                                updateOpportunity.EnergyHost__c =  false;
+                                            }
                                             updateOpportunityMap.put(oppId, updateOpportunity);
-                                        }     
+                                        //}     
                                     } else {
                                         if (principalMachinENG ) {
                                             // 鑳介噺鎵撳寘 True
                                             // 鑳介噺涓绘満 False
-                                            if (!getOldStmsPackageSale || getOldEnergyHost) {
+                                            //if (!getOldStmsPackageSale || getOldEnergyHost) {
                                                 updateOpportunity.STMS_Package_Sale__c = true;
-                                                updateOpportunity.EnergyHost__c =  false;
+                                                //updateOpportunity.EnergyHost__c =  false;
+                                                if(flg_usg1){
+                                                    updateOpportunity.EnergyHost__c =  true;
+                                                }else{
+                                                    updateOpportunity.EnergyHost__c =  false;
+                                                }
                                                 updateOpportunityMap.put(oppId, updateOpportunity);
-                                            }    
+                                            //}    
                                         } else {
-                                            if (getOldStmsPackageSale || getOldEnergyHost) {
+                                            //if (getOldStmsPackageSale || getOldEnergyHost) {
                                                 updateOpportunity.STMS_Package_Sale__c = false;
-                                                updateOpportunity.EnergyHost__c =  false;
+                                                //updateOpportunity.EnergyHost__c =  false;
+                                                if(flg_usg1){
+                                                    updateOpportunity.EnergyHost__c =  true;
+                                                }else{
+                                                    updateOpportunity.EnergyHost__c =  false;
+                                                }
                                                 updateOpportunityMap.put(oppId, updateOpportunity);
 
-                                            }
+                                            //}
                                         }
                                     }
                                 }
@@ -175,7 +222,6 @@
 
                     }
                 }
-
             }
 
 

--
Gitblit v1.9.1