From 36d15f189de2e83ce2576715dac30c3c260388dd Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 14:47:50 +0800
Subject: [PATCH] fixconflict

---
 force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger |  566 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 566 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
index 0fedc68..40e3ffc 100644
--- a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
+++ b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 trigger ConsumableOrderDetail2Trigger on Consumable_order_details2__c(after insert, after update, after delete) {
     Set<String> orderSet = new Set<String>();
 
@@ -45,22 +46,82 @@
                 (results1.RemoveBox_No__c != null &&
                 results1.RemoveBox_No__c != 1)
             ) {
+=======
+trigger ConsumableOrderDetail2Trigger on Consumable_order_details2__c (after insert, after update, after delete) {
+    Set<String> orderSet = new Set<String>();
+    
+    if (StaticParameter.EscapeOrderDetail2Trigger) {
+        return ;
+    }
+    if (trigger.isInsert){
+        for (Consumable_order_details2__c local : Trigger.New) {         
+            if (local.Consumable_order_minor__c!=null && 
+                local.Dealer_Returned__c == false)
+            orderSet.add(local.Consumable_order_minor__c);
+        }
+    }
+
+    if (trigger.isUpdate){
+        for (Consumable_order_details2__c local : Trigger.New) {         
+            //if (local.Consumable_order_minor__c!=null &&
+            //    local.Dealer_Arrive__c != Trigger.oldMap.get(local.Id).get('Dealer_Arrive__c'))
+            if (local.Consumable_order_minor__c!=null) orderSet.add(local.Consumable_order_minor__c);
+        }
+    }
+
+    if (trigger.isDelete){
+        for (Consumable_order_details2__c local : Trigger.old) {
+            if (local.Consumable_order_minor__c!=null) orderSet.add(local.Consumable_order_minor__c);
+        }
+    }
+
+        
+    if (orderSet.size()>0){
+        // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇挎崲 SQL start by 寮犵帀灞�
+        list<Consumable_order_details2__c> allresults = 
+        [SELECT Consumable_order_minor__c, Deliver_date__c, 
+            Dealer_Returned__c, Dealer_Arrive__c, RemoveBox_No__c,Cancellation_Date__c
+            FROM Consumable_order_details2__c
+             WHERE Consumable_order_minor__c in :orderSet ];
+        // 2018骞�8鏈�9鏃� HWAG-B3D9UV  end by 寮犵帀灞�
+        
+        // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� start by 寮犵帀灞�
+        map<string,Integer> orderSetResults =  new map<string,Integer>();
+        for(Consumable_order_details2__c results1 : allresults){
+            if(results1.Dealer_Arrive__c == false || results1.Dealer_Returned__c== true
+                || (results1.RemoveBox_No__c !=null &&  results1.RemoveBox_No__c !=1)){
+>>>>>>> LEXCommunityLiJun
                 continue;
             }
             string Consumable_order_minor_str = String.valueOf(results1.Consumable_order_minor__c);
 
+<<<<<<< HEAD
             if (orderSetResults.containsKey(Consumable_order_minor_str)) {
                 orderSetResults.put(Consumable_order_minor_str, orderSetResults.get(Consumable_order_minor_str) + 1);
             } else {
                 orderSetResults.put(Consumable_order_minor_str, 1);
+=======
+            if(orderSetResults.containsKey(Consumable_order_minor_str)){
+                orderSetResults.put(Consumable_order_minor_str,
+                    orderSetResults.get(Consumable_order_minor_str)+1);
+            }else{
+                orderSetResults.put(Consumable_order_minor_str,1);
+>>>>>>> LEXCommunityLiJun
             }
         }
 
         List<Consumable_Order__c> consumableOrderlist = new List<Consumable_Order__c>();
+<<<<<<< HEAD
         for (String strOrder : orderSet) {
             Integer cnt = 0;
             for (string key : orderSetResults.keySet()) {
                 if (key.equals(strOrder)) {
+=======
+        for (String strOrder:orderSet){
+            Integer cnt =0;
+            for (string key : orderSetResults.keySet()) {
+                if(key.equals(strOrder)){
+>>>>>>> LEXCommunityLiJun
                     cnt = orderSetResults.get(key);
                     break;
                 }
@@ -72,7 +133,11 @@
             consumableOrderlist.add(consumableOrder);
         }
         // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� end end by 寮犵帀灞�
+<<<<<<< HEAD
 
+=======
+        
+>>>>>>> LEXCommunityLiJun
         /* 2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熸湁SQL 涓庤祴鍊� start by 寮犵帀灞�
         AggregateResult[] results = [SELECT Consumable_order_minor__c,count(Id) cnt 
                                      FROM Consumable_order_details2__c 
@@ -98,12 +163,18 @@
         }
         2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熸湁SQL 涓庤祴鍊� end by 寮犵帀灞�
         */
+<<<<<<< HEAD
         if (consumableOrderlist.size() > 0) {
             update consumableOrderlist;
+=======
+        if (consumableOrderlist.size() > 0){
+           update consumableOrderlist;
+>>>>>>> LEXCommunityLiJun
         }
 
         //鏇存柊娑堣�楀搧璁㈠崟鐨勫彂璐ф棩鏈�
         // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪��  start by 寮犵帀灞�
+<<<<<<< HEAD
         Set<string> resultsKeySet = new Set<String>();
         map<string, Date> DeliverdateResults = new Map<string, Date>(); //鏈�鏂板彂璐ф椂闂�
         map<string, Date> DeliverdateminResults = new Map<string, Date>(); //鏈�鏃╁彂璐ф椂闂�
@@ -129,10 +200,42 @@
                 }
             } else {
                 DeliverdateminResults.put(Consumable_order_minor_str, results1.Deliver_date__c);
+=======
+        Set<string> resultsKeySet =  new Set<String>();
+        map<string,Date> DeliverdateResults =  new map<string,Date>();//鏈�鏂板彂璐ф椂闂�
+        map<string,Date> DeliverdateminResults =  new map<string,Date>();//鏈�鏃╁彂璐ф椂闂�
+        for(Consumable_order_details2__c results1 : allresults){
+            if(results1.Dealer_Arrive__c == true || results1.Dealer_Returned__c== true){
+                continue;
+            }
+            string Consumable_order_minor_str = String.valueOf(results1.Consumable_order_minor__c);
+            if(DeliverdateResults.containsKey(Consumable_order_minor_str)){
+                if(DeliverdateResults.get(Consumable_order_minor_str)
+                    < results1.Deliver_date__c
+                    ){
+                    DeliverdateResults.put(Consumable_order_minor_str,results1.Deliver_date__c);
+                    resultsKeySet.add(Consumable_order_minor_str);
+                }
+            }else{
+                DeliverdateResults.put(Consumable_order_minor_str,results1.Deliver_date__c);
+                resultsKeySet.add(Consumable_order_minor_str);
+            }
+            //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part1 start
+            if(DeliverdateminResults.containsKey(Consumable_order_minor_str)){
+                if(DeliverdateminResults.get(Consumable_order_minor_str)
+                    > results1.Deliver_date__c
+                    ){
+                    DeliverdateminResults.put(Consumable_order_minor_str,results1.Deliver_date__c);
+                    resultsKeySet.add(Consumable_order_minor_str);
+                }
+            }else{
+                DeliverdateminResults.put(Consumable_order_minor_str,results1.Deliver_date__c);
+>>>>>>> LEXCommunityLiJun
                 resultsKeySet.add(Consumable_order_minor_str);
             }
             //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part1 end
         }
+<<<<<<< HEAD
 
         //涓や釜DeliverdateResults.keySet()锛孌eliverdateminResults.keySet() 鍚堝苟浣滀负涓�涓狶ist 锛岄亶鍘哃ist
         //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part2 start
@@ -198,6 +301,73 @@
         // system.debug('DeliverdateResults==============' + DeliverdateResults);
         // //鑾峰彇鏈�鏃╁彂璐ф棩鏈� end
 
+=======
+        
+        //涓や釜DeliverdateResults.keySet()锛孌eliverdateminResults.keySet() 鍚堝苟浣滀负涓�涓狶ist 锛岄亶鍘哃ist
+        //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part2 start
+        consumableOrderlist = new List<Consumable_Order__c>();
+        for(string temp : resultsKeySet){
+            Consumable_Order__c consumableOrder1 = new Consumable_Order__c();
+            consumableOrder1.Id = temp;
+            if(DeliverdateResults.get(temp)!=null){
+                consumableOrder1.Shipment_Date__c = DeliverdateResults.get(temp);
+            }
+            if(DeliverdateminResults.get(temp)!=null){
+                consumableOrder1.First_Delivery__c = DeliverdateResults.get(temp);
+            }
+            consumableOrderlist.add(consumableOrder1);
+        }
+        
+        //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part2 end
+        // List<Consumable_Order__c> consumableOrderminlist = new List<Consumable_Order__c>();//鏈�鏃╁彂璐ф椂闂�
+        // for (string key : DeliverdateminResults.keySet()) {
+        //    if(DeliverdateminResults.get(key)!=null){
+        //         Consumable_Order__c consumableOrder1 = new Consumable_Order__c();
+        //         consumableOrder1.Id = key;
+        //         consumableOrder1.First_Delivery__c = DeliverdateResults.get(key);
+        //         consumableOrderminlist.add(consumableOrder1);
+        //     }
+        // }
+        
+        // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪��  end by 寮犵帀灞�
+        
+        //鑾峰彇鏃╁彂璐ф棩鏈� start
+        // system.debug('DeliverdateResults==============' + DeliverdateResults);
+        // system.debug('璧板埌鏈�鏃╁彂璐ф棩鏈�');
+        // map<string,Date> DeliverdateminResults =  new map<string,Date>();
+        // for(Consumable_order_details2__c results1 : allresults){
+        //     if(results1.Dealer_Arrive__c == true || results1.Dealer_Returned__c== true){
+        //         continue;
+        //     }
+        //     string Consumable_order_minor_str = String.valueOf(results1.Consumable_order_minor__c);
+        //     if(DeliverdateminResults.containsKey(Consumable_order_minor_str)){
+        //         if(DeliverdateminResults.get(Consumable_order_minor_str)
+        //             > results1.Deliver_date__c
+        //             ){
+        //                 DeliverdateminResults.put(Consumable_order_minor_str,results1.Deliver_date__c);
+        //         }
+
+        //     }else{
+        //         DeliverdateminResults.put(Consumable_order_minor_str,results1.Deliver_date__c);
+        //     }
+        // }
+        // List<Consumable_Order__c> consumableOrderminlist = new List<Consumable_Order__c>();
+        // for (string key : DeliverdateminResults.keySet()) {
+        //    if(DeliverdateminResults.get(key)!=null){
+        //         Consumable_Order__c consumableOrder1 = new Consumable_Order__c();
+        //         consumableOrder1.Id = key;
+        //         consumableOrder1.First_Delivery__c = DeliverdateResults.get(key);
+        //         consumableOrderminlist.add(consumableOrder1);
+        //     }
+        // }
+
+        // if(consumableOrderminlist.size() > 0){
+        //     update consumableOrderminlist; 
+        // }
+        // system.debug('DeliverdateResults==============' + DeliverdateResults);
+        // //鑾峰彇鏈�鏃╁彂璐ф棩鏈� end
+
+>>>>>>> LEXCommunityLiJun
         /* 2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熸湁SQL 涓庤祴鍊� start by 寮犵帀灞�
         AggregateResult[] results1 = [SELECT Consumable_order_minor__c,max(Deliver_date__c) Deliver_date__c
                                       FROM Consumable_order_details2__c 
@@ -216,6 +386,7 @@
             }
         }
         2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熸湁SQL 涓庤祴鍊� end by 寮犵帀灞� */
+<<<<<<< HEAD
         if (consumableOrderlist.size() > 0) {
             update consumableOrderlist;
         }
@@ -255,6 +426,47 @@
 
         // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪��  end by 寮犵帀灞�
 
+=======
+        if (consumableOrderlist.size() > 0){
+           update consumableOrderlist;
+        }
+        
+        //鏇存柊寰呯‘璁ゆ敹璐ф暟閲�
+        // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪��  start by 寮犵帀灞�
+        map<string,Integer> resultsMap2 =  new map<string,Integer>();
+        for(Consumable_order_details2__c results1 : allresults){
+            if(results1.Dealer_Arrive__c == true || results1.Dealer_Returned__c== true ||
+                results1.Cancellation_Date__c!=null){
+                continue;
+            }
+            string Consumable_order_minor_str = String.valueOf(results1.Consumable_order_minor__c);
+            if(resultsMap2.containsKey(Consumable_order_minor_str)){
+                    resultsMap2.put(Consumable_order_minor_str,
+                        resultsMap2.get(Consumable_order_minor_str)+1);
+            }else{
+                resultsMap2.put(Consumable_order_minor_str,1);
+            }
+        }
+        consumableOrderlist = new List<Consumable_Order__c>();
+        for (String strOrder:orderSet){
+            Integer cnt =0;
+            for (string key : resultsMap2.keySet()) {
+                if(key.equals(strOrder)){
+                    cnt = resultsMap2.get(key);
+                    break;
+                }
+            }
+
+            Consumable_Order__c consumableOrder2 = new Consumable_Order__c();
+            consumableOrder2.Id = strOrder;
+            consumableOrder2.Delivery_detail_count__c = cnt;
+            if(consumableOrder2.Delivery_detail_count__c == 0){consumableOrder2.More_than_seven_days__c = 0;}
+            consumableOrderlist.add(consumableOrder2);
+        }
+
+        // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪��  end by 寮犵帀灞�
+    
+>>>>>>> LEXCommunityLiJun
         /* 2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熸湁SQL 涓庤祴鍊� start by 寮犵帀灞�
         AggregateResult[] results2 = [SELECT Consumable_order_minor__c,count(Id) cnt 
                                       FROM Consumable_order_details2__c 
@@ -279,6 +491,7 @@
             consumableOrderlist.add(consumableOrder2);
         }
         2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熸湁SQL 涓庤祴鍊� end by 寮犵帀灞� */
+<<<<<<< HEAD
         if (consumableOrderlist.size() > 0) {
             update consumableOrderlist;
         }
@@ -377,12 +590,98 @@
             // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇夸唬涓嬮潰SQL select end by 寮犵帀灞�
             //Back up by DTT - Li Jun 2023-06-14 End
 
+=======
+        if (consumableOrderlist.size() > 0){
+           update consumableOrderlist;
+        }
+    }
+    //Back up by DTT - Li Jun 2023-06-14 Start for reduce soql times
+    // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鑾峰彇鎵�鏈夌殑record ID start by 寮犵帀灞�
+    //List<RecordType> allrtList = [select Id,DeveloperName from RecordType where SobjectType = 'Consumable_orderdetails__c'];
+    // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鑾峰彇鎵�鏈夌殑record ID end by 寮犵帀灞�
+    //Back up by DTT - Li Jun 2023-06-14 Start
+    //鍒拌揣鍜岃繑鍝佹椂,鐢熸垚鎴栦慨鏀规秷璐瑰搧璁㈣揣鏄庣粏
+    Set<String> arrivedSet = new Set<String>();
+    Set<String> returnSet = new Set<String>();
+    if (trigger.isUpdate || trigger.isInsert || trigger.isDelete){
+        if (trigger.isUpdate || trigger.isInsert){
+            for (Consumable_order_details2__c detail2 : Trigger.New) {
+                Consumable_order_details2__c oldDetail2 = null;
+                if (Trigger.isUpdate) oldDetail2 = Trigger.oldMap.get(detail2.Id);
+                if (detail2.Consumable_Arrived_order__c != null) {
+                    arrivedSet.add(detail2.Consumable_Arrived_order__c);
+                }
+
+                if ((oldDetail2 == null || oldDetail2.Consumable_Return_order__c == null) && detail2.Consumable_Return_order__c != null) {
+                    returnSet.add(detail2.Consumable_Return_order__c);
+                }
+            }
+        }
+        if (trigger.isDelete){
+            for (Consumable_order_details2__c det2 : Trigger.old) {                            
+                if (det2.Consumable_Arrived_order__c != null) {
+                    arrivedSet.add(det2.Consumable_Arrived_order__c);
+                }
+
+                if (det2.Consumable_Return_order__c != null) {
+                    returnSet.add(det2.Consumable_Return_order__c);
+                }
+            }
+        }
+        System.debug('arrivedSet +++++' + arrivedSet);
+    // 2018骞�8鏈�14鏃� HWAG-B3D9UV 鍦ㄨ繘琛孨FM110澶勭悊鏃� 璺宠繃arrivedset  start by 寮犵帀灞�
+        if (StaticParameter.EscapeConsumableOrderDetail2Trigger) {
+        return ;
+        }
+    // 2018骞�8鏈�14鏃� HWAG-B3D9UV 鍦ㄨ繘琛孨FM110澶勭悊鏃� 璺宠繃arrivedset  start by 寮犵帀灞�
+        if (arrivedSet.size() > 0) {
+            Map<Id, Consumable_order__c> arrivedMap = new Map<Id, Consumable_order__c>([select Id, RecordType.DeveloperName, Name from Consumable_order__c where Id in :arrivedSet]);
+            List<Consumable_orderdetails__c> detail1List = [select Id, Name, Asset_Model_No__c, Consumable_count__c, Consumable_order__c from Consumable_orderdetails__c where Consumable_order__c in :arrivedSet];
+            Map<String,Consumable_orderdetails__c> detail1Map = new Map<String,Consumable_orderdetails__c>();
+            for (Consumable_orderdetails__c detail1 : detail1List) {
+                String key = '' + detail1.Consumable_order__c + detail1.Asset_Model_No__c;
+                detail1Map.put(key, detail1);
+            }
+
+            arrivedSet.clear();
+            for (Consumable_order__c arrivedCo : arrivedMap.values()) {
+                if (arrivedCo.RecordType.DeveloperName == 'Arrive') {
+                    arrivedSet.add(arrivedCo.Id);
+                }
+            }
+
+            AggregateResult[] results = [select Consumable_Arrived_order__c, Asset_Model_No__c, count(bar_code__c) recordCount 
+                                         from Consumable_order_details2__c 
+                                         where Consumable_Arrived_order__c in :arrivedSet 
+                                         and Dealer_Arrive__c = true
+                                         //and Dealer_Returned__c <> true
+                                         AND (RemoveBox_No__c=null or RemoveBox_No__c=1) 
+                                         group by Consumable_Arrived_order__c, Asset_Model_No__c];
+            Map<String, Integer> keyCount = new Map<String, Integer>();
+            
+            for(AggregateResult ar: results){               
+                String key = '' + ar.get('Consumable_Arrived_order__c') + ar.get('Asset_Model_No__c');
+                keyCount.put(key, Integer.valueOf(ar.get('recordCount')));
+            }
+            //Back up by DTT - Li Jun 2023-06-14 Start
+            // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇夸唬涓嬮潰SQL select start by 寮犵帀灞�           
+            // List<RecordType> rtList = new List<RecordType>();
+            // for(RecordType rtl : allrtList){
+            //     if('Detail1_Arrival'.equals(rtl.DeveloperName)){
+            //         rtList.add(rtl);
+            //     }
+            // }
+            // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇夸唬涓嬮潰SQL select end by 寮犵帀灞�
+            //Back up by DTT - Li Jun 2023-06-14 End          
+
+>>>>>>> LEXCommunityLiJun
             /* 2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熻幏鍙� recordtype start by 寮犵帀灞�
             List<RecordType> rtList = [select Id from RecordType where DeveloperName = 'Detail1_Arrival' and SobjectType = 'Consumable_orderdetails__c'];
              2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熻幏鍙� recordtype end by 寮犵帀灞� */
             //Back up by DTT - Li Jun 2023-06-14 Start
             // Id recordTypeId = null;
             // if (rtList.size() > 0) recordTypeId = rtList[0].Id;
+<<<<<<< HEAD
             //Back up by DTT - Li Jun 2023-06-14 End
             Id recordtypeId = Schema.SObjectType.Consumable_Orderdetails__c.getRecordTypeInfosByDeveloperName()
                 .get('Detail1_Arrival')
@@ -397,38 +696,73 @@
             Map<Id, Integer> noCount = new Map<Id, Integer>();
             for (AggregateResult ar : results) {
                 noCount.put((Id) ar.get('Consumable_order__c'), Integer.valueOf(ar.get('noCount')));
+=======
+            //Back up by DTT - Li Jun 2023-06-14 End            
+            Id recordtypeId = Schema.SObjectType.Consumable_Orderdetails__c.getRecordTypeInfosByDeveloperName().get('Detail1_Arrival').getRecordTypeId();
+            results = [select Consumable_order__c, count(Id) noCount 
+                       from Consumable_orderdetails__c 
+                       where Consumable_order__c in :arrivedSet 
+                       group by Consumable_order__c];
+            System.debug('results +++++' + results);
+            Map<Id, Integer> noCount = new Map<Id, Integer>();
+            for(AggregateResult ar: results){
+                noCount.put((Id)ar.get('Consumable_order__c'), Integer.valueOf(ar.get('noCount')));
+>>>>>>> LEXCommunityLiJun
             }
             System.debug('noCount +++++' + noCount);
             Map<String, Consumable_orderdetails__c> upsertMap = new Map<String, Consumable_orderdetails__c>();
             Map<String, Consumable_orderdetails__c> deletetMap = new Map<String, Consumable_orderdetails__c>();
             Map<String, String> assetModelNoMap = new Map<String, String>();
+<<<<<<< HEAD
             if (Trigger.isUpdate || Trigger.isInsert) {
                 for (Consumable_order_details2__c detail2 : Trigger.New) {
                     //Dataloader銇у垵鏈熷湪搴櫥閷层倰銇椼仧銇傘仺銆併儑銉笺偪淇銇屽叆銇c仧銇ㄣ亶銇槑绱�1銇屾洿鏂般仌銈屻仾銇勩��
                     //if (trigger.isUpdate && detail2.ManualRegisteredStock__c == true) continue;
                     if (detail2.Consumable_Arrived_order__c == null)
                         continue;
+=======
+            if (trigger.isUpdate || trigger.isInsert){
+                for (Consumable_order_details2__c detail2 : Trigger.New) {  
+                    //Dataloader銇у垵鏈熷湪搴櫥閷层倰銇椼仧銇傘仺銆併儑銉笺偪淇銇屽叆銇c仧銇ㄣ亶銇槑绱�1銇屾洿鏂般仌銈屻仾銇勩��
+                    //if (trigger.isUpdate && detail2.ManualRegisteredStock__c == true) continue;                  
+                    if (detail2.Consumable_Arrived_order__c == null) continue;
+>>>>>>> LEXCommunityLiJun
                     String key = '' + detail2.Consumable_Arrived_order__c + detail2.Asset_Model_No__c;
                     //if (upsertMap.get(key) != null) continue;
                     Integer count = keyCount.get(key);
                     Consumable_orderdetails__c detail1 = detail1Map.get(key);
 
+<<<<<<< HEAD
                     if (detail1 == null)
                         detail1 = new Consumable_orderdetails__c();
+=======
+                    if (detail1 == null) detail1 = new Consumable_orderdetails__c();
+>>>>>>> LEXCommunityLiJun
                     detail1.Consumable_Arrivecount__c = count;
                     if (detail1.Id == null) {
                         Consumable_order__c co = arrivedMap.get(detail2.Consumable_Arrived_order__c);
                         Integer index = noCount.get(co.Id);
+<<<<<<< HEAD
                         if (index == null)
                             index = 0;
                         if (assetModelNoMap.containsKey(detail2.Asset_Model_No__c)) {
                             continue;
                         } else {
+=======
+                        if (index == null) index = 0;
+                        if(assetModelNoMap.containsKey(detail2.Asset_Model_No__c)){
+                            continue;
+                        }else{
+>>>>>>> LEXCommunityLiJun
                             assetModelNoMap.put(detail2.Asset_Model_No__c, detail2.Asset_Model_No__c);
                             noCount.put(co.Id, index + 1);
                         }
                         noCount.put(co.Id, index + 1);
+<<<<<<< HEAD
                         String newName = co.Name + '-';
+=======
+                        String newName = co.Name+'-';
+>>>>>>> LEXCommunityLiJun
                         System.debug('index +++++' + index);
                         if (index < 99) {
                             newName += '0';
@@ -445,11 +779,16 @@
                         detail1.RecordTypeId = recordTypeId;
                         //detail1.Consumable_principal__c = co.Id;
                         detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c;
+<<<<<<< HEAD
+=======
+                        
+>>>>>>> LEXCommunityLiJun
                     }
                     upsertMap.put(key, detail1);
                 }
             }
 
+<<<<<<< HEAD
             if (Trigger.isUpdate) {
                 for (Consumable_order_details2__c detail2 : Trigger.old) {
                     //Dataloader銇у垵鏈熷湪搴櫥閷层倰銇椼仧銇傘仺銆併儑銉笺偪淇銇屽叆銇c仧銇ㄣ亶銇槑绱�1銇屾洿鏂般仌銈屻仾銇勩��
@@ -493,19 +832,70 @@
                         detail1.RecordTypeId = recordTypeId;
                         //detail1.Consumable_principal__c = co.Id;
                         detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c;
+=======
+            if (trigger.isUpdate){               
+                for (Consumable_order_details2__c detail2 : Trigger.old) { 
+                    //Dataloader銇у垵鏈熷湪搴櫥閷层倰銇椼仧銇傘仺銆併儑銉笺偪淇銇屽叆銇c仧銇ㄣ亶銇槑绱�1銇屾洿鏂般仌銈屻仾銇勩��  
+                    //if (detail2.ManualRegisteredStock__c == true) continue;                  
+                    if (detail2.Consumable_Arrived_order__c == null) continue;
+                    String key = '' + detail2.Consumable_Arrived_order__c + detail2.Asset_Model_No__c;                    
+                    //if (upsertMap.get(key) != null) continue;
+                    Integer count = keyCount.get(key);               
+                    Consumable_orderdetails__c detail1 = detail1Map.get(key);
+                    if ((count == null || count ==0) && detail1 !=null){                      
+                        //delete detail1;
+                        deletetMap.put(key,detail1);
+                        continue;
+                    }
+                    if (detail1 == null) continue;
+                    detail1.Consumable_Arrivecount__c = count;
+
+                    if (detail1.Id == null) {
+                            Consumable_order__c co = arrivedMap.get(detail2.Consumable_Arrived_order__c);
+                            Integer index = noCount.get(co.Id);
+                            if (index == null) index = 0;
+                            System.debug('indexUp +++++' + index);
+                            noCount.put(co.Id, index + 1);
+                            System.debug('noCountUp +++++' + noCount);
+                            String newName = co.Name+'-';
+                            if (index < 99) {
+                                newName += '0';
+                            }
+                            if (index < 9) {
+                                newName += '0';
+                            }
+                            newName += String.valueOf(index + 1);
+                            System.debug('newNameUp +++++' + newName);
+                            detail1.Name = newName;
+                            //detail1.Asset_Model_No__c = detail2.Asset_Model_No__c;
+                            detail1.Consumable_product__c = detail2.Consumable_product__c;
+                            detail1.Consumable_order__c = co.Id;
+                            detail1.RecordTypeId = recordTypeId;
+                            //detail1.Consumable_principal__c = co.Id;
+                            detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c;
+                        
+                        
+>>>>>>> LEXCommunityLiJun
                     }
                     upsertMap.put(key, detail1);
                 }
             }
 
+<<<<<<< HEAD
             if (Trigger.isDelete) {
                 for (Consumable_order_details2__c detail2 : Trigger.old) {
                     if (detail2.Consumable_Arrived_order__c == null)
                         continue;
+=======
+            if (trigger.isDelete){
+                for (Consumable_order_details2__c detail2 : Trigger.old) {
+                    if (detail2.Consumable_Arrived_order__c == null) continue;
+>>>>>>> LEXCommunityLiJun
                     String key = '' + detail2.Consumable_Arrived_order__c + detail2.Asset_Model_No__c;
                     //if (upsertMap.get(key) != null) continue;
                     Integer count = keyCount.get(key);
                     Consumable_orderdetails__c detail1 = detail1Map.get(key);
+<<<<<<< HEAD
                     if ((count == null || count == 0) && detail1 != null) {
                         //delete detail1;
                         deletetMap.put(key, detail1);
@@ -513,15 +903,29 @@
                     }
                     if (detail1 == null)
                         detail1 = new Consumable_orderdetails__c();
+=======
+                    if ((count == null || count ==0) && detail1 !=null){                      
+                        //delete detail1;
+                        deletetMap.put(key,detail1);
+                        continue;
+                    }
+                    if (detail1 == null) detail1 = new Consumable_orderdetails__c();
+>>>>>>> LEXCommunityLiJun
                     detail1.Consumable_Arrivecount__c = count;
 
                     if (detail1.Id == null) {
                         Consumable_order__c co = arrivedMap.get(detail2.Consumable_Arrived_order__c);
                         Integer index = noCount.get(co.Id);
+<<<<<<< HEAD
                         if (index == null)
                             index = 0;
                         noCount.put(co.Id, index + 1);
                         String newName = co.Name + '-';
+=======
+                        if (index == null) index = 0;
+                        noCount.put(co.Id, index + 1);
+                        String newName = co.Name+'-';
+>>>>>>> LEXCommunityLiJun
                         if (index < 99) {
                             newName += '0';
                         }
@@ -536,6 +940,7 @@
                         detail1.RecordTypeId = recordTypeId;
                         //detail1.Consumable_principal__c = co.Id;
                         detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c;
+<<<<<<< HEAD
                     }
                     upsertMap.put(key, detail1);
                 }
@@ -574,6 +979,38 @@
                 detail1Map.put(key, detail1);
             }
 
+=======
+                        
+                    }
+                    upsertMap.put(key, detail1);
+                }
+            }
+
+            Database.upsert(upsertMap.values(), true);
+            if(deletetMap.size()>0){
+                Database.delete(deletetMap.values(),true);
+            }
+
+        }
+    }
+        // 2018骞�8鏈�14鏃� HWAG-B3D9UV 鍦ㄨ繘琛孨FM110澶勭悊鏃� 璺宠繃returnSet  start by 寮犵帀灞�
+
+    if (trigger.isUpdate || trigger.isInsert){
+        if (StaticParameter.EscapeConsumableOrderDetail2Trigger) {
+        return ;
+    }
+    // 2018骞�8鏈�14鏃� HWAG-B3D9UV 鍦ㄨ繘琛孨FM110澶勭悊鏃� 璺宠繃returnSet  start by 寮犵帀灞�
+        if (returnSet.size() > 0) {
+            Map<Id, Consumable_order__c> returnMap = new Map<Id, Consumable_order__c>([select Id, RecordType.DeveloperName, Name from Consumable_order__c where Id in :returnSet]);
+            List<Consumable_orderdetails__c> detail1List = [select Id, Name, Asset_Model_No__c, Consumable_count__c, Consumable_order__c from Consumable_orderdetails__c where Consumable_order__c in :returnSet];
+            Map<String,Consumable_orderdetails__c> detail1Map = new Map<String,Consumable_orderdetails__c>();
+            
+            for (Consumable_orderdetails__c detail1 : detail1List) {
+                String key = '' + detail1.Consumable_order__c + detail1.Asset_Model_No__c;
+                detail1Map.put(key, detail1);
+            }
+
+>>>>>>> LEXCommunityLiJun
             returnSet.clear();
             for (Consumable_order__c returnCo : returnMap.values()) {
                 if (returnCo.RecordType.DeveloperName == 'ReturnGoods') {
@@ -581,6 +1018,7 @@
                 }
             }
 
+<<<<<<< HEAD
             AggregateResult[] results = [
                 SELECT Consumable_Return_order__c, Asset_Model_No__c, count(Id) recordCount
                 FROM Consumable_order_details2__c
@@ -593,6 +1031,19 @@
                 keyCount.put(key, Integer.valueOf(ar.get('recordCount')));
             }
             //Back up by DTT - Li Jun 2023-06-14 Start for reduce soql times
+=======
+            AggregateResult[] results = [select Consumable_Return_order__c, Asset_Model_No__c, count(Id) recordCount 
+                                         from Consumable_order_details2__c 
+                                         where Consumable_Return_order__c in :returnSet 
+                                         and Dealer_Returned__c = true 
+                                         group by Consumable_Return_order__c, Asset_Model_No__c];
+            Map<String, Integer> keyCount = new Map<String, Integer>();
+            for(AggregateResult ar: results){
+                String key = '' + ar.get('Consumable_Return_order__c') + ar.get('Asset_Model_No__c');
+                keyCount.put(key, Integer.valueOf(ar.get('recordCount')));
+            }
+             //Back up by DTT - Li Jun 2023-06-14 Start for reduce soql times
+>>>>>>> LEXCommunityLiJun
             // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇夸唬涓嬮潰SQL select start by 寮犵帀灞�
             // List<RecordType> rtList = new List<RecordType>();
             // for(RecordType rtl : allrtList){
@@ -601,11 +1052,16 @@
             //     }
             // }
             // 2018骞�8鏈�9鏃� HWAG-B3D9UV  鏇夸唬涓嬮潰SQL select end by 寮犵帀灞�
+<<<<<<< HEAD
             //Back up by DTT - Li Jun 2023-06-14 End
+=======
+             //Back up by DTT - Li Jun 2023-06-14 End
+>>>>>>> LEXCommunityLiJun
             /* 2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熻幏鍙� recordtype start by 寮犵帀灞�
             List<RecordType> rtList = [select Id from RecordType where DeveloperName = 'Detail1_ReturnGoods' and SobjectType = 'Consumable_orderdetails__c'];
              2018骞�8鏈�9鏃� HWAG-B3D9UV  鍘熻幏鍙� recordtype end by 寮犵帀灞� */
 
+<<<<<<< HEAD
             Id recordTypeId = Schema.SObjectType.Consumable_Orderdetails__c.getRecordTypeInfosByDeveloperName()
                 .get('Detail1_ReturnGoods')
                 .getRecordTypeId();
@@ -620,6 +1076,18 @@
             Map<Id, Integer> noCount = new Map<Id, Integer>();
             for (AggregateResult ar : results) {
                 noCount.put((Id) ar.get('Consumable_order__c'), Integer.valueOf(ar.get('noCount')));
+=======
+            Id recordTypeId = Schema.SObjectType.Consumable_Orderdetails__c.getRecordTypeInfosByDeveloperName().get('Detail1_ReturnGoods').getRecordTypeId();
+            //if (rtList.size() > 0) recordTypeId = rtList[0].Id;
+
+            results = [select Consumable_order__c, count(Id) noCount 
+                       from Consumable_orderdetails__c 
+                       where Consumable_order__c in :returnSet 
+                       group by Consumable_order__c];
+            Map<Id, Integer> noCount = new Map<Id, Integer>();
+            for(AggregateResult ar: results){
+                noCount.put((Id)ar.get('Consumable_order__c'), Integer.valueOf(ar.get('noCount')));
+>>>>>>> LEXCommunityLiJun
             }
 
             Map<String, Consumable_orderdetails__c> upsertMap = new Map<String, Consumable_orderdetails__c>();
@@ -634,6 +1102,7 @@
 
             for (Consumable_order_details2__c detail2 : Trigger.New) {
                 Consumable_order_details2__c oldDetail2 = null;
+<<<<<<< HEAD
                 if (detail2.Consumable_Return_order__c == null)
                     continue;
 
@@ -641,10 +1110,18 @@
 
                 if (Trigger.isUpdate)
                     oldDetail2 = Trigger.oldMap.get(detail2.Id);
+=======
+                if (detail2.Consumable_Return_order__c == null) continue;
+
+                String key = '' + detail2.Consumable_Return_order__c + detail2.Asset_Model_No__c;
+
+                if(Trigger.isUpdate) oldDetail2 = Trigger.oldMap.get(detail2.Id);
+>>>>>>> LEXCommunityLiJun
                 if (oldDetail2 != null) {
                     if (keyCount.containsKey(key)) {
                         returnCount += 1;
                         if (oldDetail2.Consumable_Sale_order__c != null) {
+<<<<<<< HEAD
                             Integer sCount = updatedSaleCount.containsKey(
                                     '' + oldDetail2.Consumable_Sale_order__c + detail2.Asset_Model_No__c
                                 )
@@ -663,6 +1140,18 @@
                             sCount += 1;
 
                             updatedShipmentCount.put('' + oldDetail2.Consumable_Shipment_order__c + detail2.Asset_Model_No__c, sCount);
+=======
+                            Integer sCount = updatedSaleCount.containsKey(''+oldDetail2.Consumable_Sale_order__c+detail2.Asset_Model_No__c) ? updatedSaleCount.get(''+oldDetail2.Consumable_Sale_order__c+detail2.Asset_Model_No__c) : 0;
+                            sCount += 1;
+                            updatedSaleCount.put(''+oldDetail2.Consumable_Sale_order__c+detail2.Asset_Model_No__c, sCount);
+                            updatedSaleId.add(oldDetail2.Consumable_Sale_order__c);
+                        }
+                        if (oldDetail2.Consumable_Shipment_order__c != null) {
+                            Integer sCount = updatedShipmentCount.containsKey(''+oldDetail2.Consumable_Shipment_order__c+detail2.Asset_Model_No__c) ? updatedShipmentCount.get(''+oldDetail2.Consumable_Shipment_order__c+detail2.Asset_Model_No__c) : 0;
+                            sCount += 1;
+                            
+                            updatedShipmentCount.put(''+oldDetail2.Consumable_Shipment_order__c+detail2.Asset_Model_No__c, sCount);
+>>>>>>> LEXCommunityLiJun
                             updatedShipmentId.add(oldDetail2.Consumable_Shipment_order__c);
                         }
                         /*if (oldDetail2.Invoice_No__c != null) {
@@ -680,23 +1169,37 @@
                         }*/
                     }
                 }
+<<<<<<< HEAD
                 if (upsertMap.get(key) != null)
                     continue;
+=======
+                if (upsertMap.get(key) != null) continue;
+>>>>>>> LEXCommunityLiJun
                 Integer count = keyCount.get(key);
 
                 Consumable_orderdetails__c detail1 = detail1Map.get(key);
 
+<<<<<<< HEAD
                 if (detail1 == null)
                     detail1 = new Consumable_orderdetails__c();
+=======
+                if (detail1 == null) detail1 = new Consumable_orderdetails__c();
+>>>>>>> LEXCommunityLiJun
                 detail1.RrturnPro_count__c = count;
 
                 if (detail1.Id == null) {
                     Consumable_order__c co = returnMap.get(detail2.Consumable_Return_order__c);
                     Integer index = noCount.get(co.Id);
+<<<<<<< HEAD
                     if (index == null)
                         index = 0;
                     noCount.put(co.Id, index + 1);
                     String newName = co.Name + '-';
+=======
+                    if (index == null) index = 0;
+                    noCount.put(co.Id, index + 1);
+                    String newName = co.Name+'-';
+>>>>>>> LEXCommunityLiJun
                     if (index < 99) {
                         newName += '0';
                     }
@@ -711,12 +1214,17 @@
                     detail1.RecordTypeId = recordTypeId;
                     //detail1.Consumable_principal__c = co.Id;
                     detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c;
+<<<<<<< HEAD
+=======
+                    
+>>>>>>> LEXCommunityLiJun
                 }
                 upsertMap.put(key, detail1);
             }
 
             Database.upsert(upsertMap.values(), true);
             // 2018骞�8鏈�8鏃� HWAG-B3D9UV 鍑忓皯 select 鏁伴噺 start by 寮犵帀灞�
+<<<<<<< HEAD
             List<Consumable_orderdetails__c> Consumable_orderdetailsList = [
                 SELECT Id, Name, Asset_Model_No__c, RrturnPro_count__c, Consumable_order__c, Invoicedet1_OD_link__c
                 FROM Consumable_orderdetails__c
@@ -752,6 +1260,42 @@
                     updatedConInvoiceId.contains(orderdetails.id) &&
                     'Order_Invoice'.equals(orderdetails.Consumable_order__r.RecordType.DeveloperName)
                 ) {
+=======
+            List<Consumable_orderdetails__c> Consumable_orderdetailsList =
+                        [select Id, Name, Asset_Model_No__c, RrturnPro_count__c, 
+            Consumable_order__c,Invoicedet1_OD_link__c 
+            from Consumable_orderdetails__c 
+            where Consumable_order__c in :updatedSaleId  
+                or Consumable_order__c in :updatedShipmentId 
+                or Consumable_order__c in :updatedConInvoiceId];
+            
+            List<Consumable_orderdetails__c> detail1SaleList 
+            = new List<Consumable_orderdetails__c>();
+            
+            for (Consumable_orderdetails__c orderdetails : Consumable_orderdetailsList){
+                if(updatedSaleId.contains(orderdetails.id) 
+                    && 'Sale'.equals(orderdetails.Consumable_order__r.RecordType.DeveloperName)){
+                    detail1SaleList.add(orderdetails);
+                }
+            }
+
+            List<Consumable_orderdetails__c> detail1ShipmentList 
+            = new List<Consumable_orderdetails__c>();
+
+            for (Consumable_orderdetails__c orderdetails : Consumable_orderdetailsList){
+                if(updatedShipmentId.contains(orderdetails.id) 
+                    && 'Shipment'.equals(orderdetails.Consumable_order__r.RecordType.DeveloperName)){
+                    detail1ShipmentList.add(orderdetails);
+                }
+            }
+
+            List<Consumable_orderdetails__c> detail1ConInvoiceList 
+            = new List<Consumable_orderdetails__c>();
+
+            for (Consumable_orderdetails__c orderdetails : Consumable_orderdetailsList){
+                if(updatedConInvoiceId.contains(orderdetails.id) 
+                    && 'Order_Invoice'.equals(orderdetails.Consumable_order__r.RecordType.DeveloperName)){
+>>>>>>> LEXCommunityLiJun
                     detail1ConInvoiceList.add(orderdetails);
                 }
             }
@@ -779,20 +1323,32 @@
             List<Consumable_orderdetails__c> updateData = new List<Consumable_orderdetails__c>();
 
             for (Consumable_orderdetails__c detail1Sale : detail1SaleList) {
+<<<<<<< HEAD
                 Integer count = updatedSaleCount.get('' + detail1Sale.Consumable_order__c + detail1Sale.Asset_Model_No__c);
+=======
+                Integer count = updatedSaleCount.get(''+detail1Sale.Consumable_order__c+detail1Sale.Asset_Model_No__c);
+>>>>>>> LEXCommunityLiJun
                 if (count != null) {
                     detail1Sale.RrturnPro_count__c += count;
                     updateData.add(detail1Sale);
                 }
+<<<<<<< HEAD
             }
             for (Consumable_orderdetails__c detail1Shipment : detail1ShipmentList) {
                 Integer count = updatedShipmentCount.get('' + detail1Shipment.Consumable_order__c + detail1Shipment.Asset_Model_No__c);
+=======
+                
+            }
+            for (Consumable_orderdetails__c detail1Shipment : detail1ShipmentList) {
+                Integer count = updatedShipmentCount.get(''+detail1Shipment.Consumable_order__c+detail1Shipment.Asset_Model_No__c);
+>>>>>>> LEXCommunityLiJun
                 if (count != null) {
                     detail1Shipment.RrturnPro_count__c += count;
                     updateData.add(detail1Shipment);
                 }
             }
             for (Consumable_orderdetails__c detail1ConInvoice : detail1ConInvoiceList) {
+<<<<<<< HEAD
                 Integer count = updatedConInvoiceCount.get(
                     '' +
                         detail1ConInvoice.Consumable_order__c +
@@ -804,6 +1360,10 @@
                     (detail1ConInvoice.Invoicedet1_OD_link__c ==
                     shipmentIdMap.get('' + detail1ConInvoice.Invoicedet1_OD_link__c + detail1ConInvoice.Asset_Model_No__c))
                 ) {
+=======
+                Integer count = updatedConInvoiceCount.get(''+detail1ConInvoice.Consumable_order__c+detail1ConInvoice.Invoicedet1_OD_link__c+detail1ConInvoice.Asset_Model_No__c);
+                if (count != null && (detail1ConInvoice.Invoicedet1_OD_link__c  == shipmentIdMap.get(''+detail1ConInvoice.Invoicedet1_OD_link__c+detail1ConInvoice.Asset_Model_No__c)) ) {
+>>>>>>> LEXCommunityLiJun
                     detail1ConInvoice.RrturnPro_count__c += count;
                     //updateData.add(detail1ConInvoice);
                 }
@@ -811,5 +1371,11 @@
 
             Database.upsert(updateData, true);
         }
+<<<<<<< HEAD
     }
 }
+=======
+ 
+    }
+}
+>>>>>>> LEXCommunityLiJun

--
Gitblit v1.9.1