From 744f42c5496e656a1f9927740a3b37c0b97a6cba Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 14 七月 2023 14:34:12 +0800 Subject: [PATCH] lexcommunityupload0714 --- force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger | 170 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 99 insertions(+), 71 deletions(-) diff --git a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger index c4dc7c4..8529340 100644 --- a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger +++ b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger @@ -27,7 +27,6 @@ } - system.debug('orderSet---------------1--------------'+orderSet); if (orderSet.size()>0){ // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲 SQL start by 寮犵帀灞� list<Consumable_order_details2__c> allresults = @@ -35,7 +34,6 @@ Dealer_Returned__c, Dealer_Arrive__c, RemoveBox_No__c,Cancellation_Date__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c in :orderSet ]; - system.debug('allresults'+allresults); // 2018骞�8鏈�9鏃� HWAG-B3D9UV end by 寮犵帀灞� // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� start by 寮犵帀灞� @@ -103,71 +101,102 @@ //鏇存柊娑堣�楀搧璁㈠崟鐨勫彂璐ф棩鏈� // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� start by 寮犵帀灞� - map<string,Date> DeliverdateResults = new map<string,Date>(); + 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); - system.debug('---------------2---------------' + DeliverdateResults.containsKey(Consumable_order_minor_str)); 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); } - } - - consumableOrderlist = new List<Consumable_Order__c>(); - for (string key : DeliverdateResults.keySet()) { - if(DeliverdateResults.get(key)!=null){ - Consumable_Order__c consumableOrder1 = new Consumable_Order__c(); - consumableOrder1.Id = key; - consumableOrder1.Shipment_Date__c = DeliverdateResults.get(key); - consumableOrderlist.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); + //鑾峰彇鏈�鏃╁彂璐ф椂闂� 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); + 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); + resultsKeySet.add(Consumable_order_minor_str); } + //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part1 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); + + //涓や釜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); + // } - if(consumableOrderminlist.size() > 0){ - update consumableOrderminlist; - } - system.debug('DeliverdateResults==============' + DeliverdateResults); + // }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 /* 2018骞�8鏈�9鏃� HWAG-B3D9UV 鍘熸湁SQL 涓庤祴鍊� start by 寮犵帀灞� @@ -191,7 +220,7 @@ if (consumableOrderlist.size() > 0){ update consumableOrderlist; } - + //鏇存柊寰呯‘璁ゆ敹璐ф暟閲� // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� start by 寮犵帀灞� map<string,Integer> resultsMap2 = new map<string,Integer>(); @@ -221,6 +250,7 @@ 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); } @@ -254,17 +284,17 @@ 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']; + //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) { - system.debug('detail2==========='+detail2); Consumable_order_details2__c oldDetail2 = null; if (Trigger.isUpdate) oldDetail2 = Trigger.oldMap.get(detail2.Id); if (detail2.Consumable_Arrived_order__c != null) { @@ -297,7 +327,6 @@ 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>(); - system.debug('detail1List'+detail1List); for (Consumable_orderdetails__c detail1 : detail1List) { String key = '' + detail1.Consumable_order__c + detail1.Asset_Model_No__c; detail1Map.put(key, detail1); @@ -323,21 +352,25 @@ String key = '' + ar.get('Consumable_Arrived_order__c') + ar.get('Asset_Model_No__c'); keyCount.put(key, Integer.valueOf(ar.get('recordCount'))); } - // 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); - } - } + //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 /* 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 寮犵帀灞� */ - Id recordTypeId = null; - if (rtList.size() > 0) recordTypeId = rtList[0].Id; - + //Back up by DTT - Li Jun 2023-06-14 Start + // Id recordTypeId = null; + // if (rtList.size() > 0) recordTypeId = rtList[0].Id; + //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 @@ -353,13 +386,10 @@ Map<String, String> assetModelNoMap = new Map<String, String>(); if (trigger.isUpdate || trigger.isInsert){ for (Consumable_order_details2__c detail2 : Trigger.New) { - system.debug('detail2'+detail2); //Dataloader銇у垵鏈熷湪搴櫥閷层倰銇椼仧銇傘仺銆併儑銉笺偪淇銇屽叆銇c仧銇ㄣ亶銇槑绱�1銇屾洿鏂般仌銈屻仾銇勩�� //if (trigger.isUpdate && 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; - system.debug('key'+key); - system.debug('detail1Map==============>'+detail1Map); //if (upsertMap.get(key) != null) continue; Integer count = keyCount.get(key); Consumable_orderdetails__c detail1 = detail1Map.get(key); @@ -368,7 +398,6 @@ detail1.Consumable_Arrivecount__c = count; if (detail1.Id == null) { Consumable_order__c co = arrivedMap.get(detail2.Consumable_Arrived_order__c); - system.debug('arrivedMap=============='+arrivedMap); Integer index = noCount.get(co.Id); if (index == null) index = 0; if(assetModelNoMap.containsKey(detail2.Asset_Model_No__c)){ @@ -415,7 +444,6 @@ deletetMap.put(key,detail1); continue; } - system.debug('detail1========================'+detail1); if (detail1 == null) continue; detail1.Consumable_Arrivecount__c = count; @@ -531,22 +559,22 @@ 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 // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇夸唬涓嬮潰SQL select start by 寮犵帀灞� - List<RecordType> rtList = new List<RecordType>(); - for(RecordType rtl : allrtList){ - if('Detail1_ReturnGoods'.equals(rtl.DeveloperName)){ - rtList.add(rtl); - } - } + // List<RecordType> rtList = new List<RecordType>(); + // for(RecordType rtl : allrtList){ + // if('Detail1_ReturnGoods'.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 /* 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 寮犵帀灞� */ - Id recordTypeId = null; - if (rtList.size() > 0) recordTypeId = rtList[0].Id; + 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 -- Gitblit v1.9.1