From 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 14 七月 2023 14:56:14 +0800 Subject: [PATCH] lex community --- force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger | 525 ++++++++++++++++++++++++++-------------------------------- 1 files changed, 234 insertions(+), 291 deletions(-) diff --git a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger index 0fedc68..8529340 100644 --- a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger +++ b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger @@ -1,66 +1,63 @@ -trigger ConsumableOrderDetail2Trigger on Consumable_order_details2__c(after insert, after update, after delete) { +trigger ConsumableOrderDetail2Trigger on Consumable_order_details2__c (after insert, after update, after delete) { Set<String> orderSet = new Set<String>(); - + if (StaticParameter.EscapeOrderDetail2Trigger) { - return; + 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.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 (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 (local.Consumable_order_minor__c!=null) orderSet.add(local.Consumable_order_minor__c); } } - if (Trigger.isDelete) { + 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 (local.Consumable_order_minor__c!=null) orderSet.add(local.Consumable_order_minor__c); } } - if (orderSet.size() > 0) { + + 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 + 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 - ]; + 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) - ) { + 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)){ continue; } string Consumable_order_minor_str = String.valueOf(results1.Consumable_order_minor__c); - 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); } } List<Consumable_Order__c> consumableOrderlist = new List<Consumable_Order__c>(); - for (String strOrder : orderSet) { - Integer cnt = 0; + for (String strOrder:orderSet){ + Integer cnt =0; for (string key : orderSetResults.keySet()) { - if (key.equals(strOrder)) { + if(key.equals(strOrder)){ cnt = orderSetResults.get(key); break; } @@ -72,7 +69,7 @@ consumableOrderlist.add(consumableOrder); } // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� end end by 寮犵帀灞� - + /* 2018骞�8鏈�9鏃� HWAG-B3D9UV 鍘熸湁SQL 涓庤祴鍊� start by 寮犵帀灞� AggregateResult[] results = [SELECT Consumable_order_minor__c,count(Id) cnt FROM Consumable_order_details2__c @@ -98,57 +95,61 @@ } 2018骞�8鏈�9鏃� HWAG-B3D9UV 鍘熸湁SQL 涓庤祴鍊� end by 寮犵帀灞� */ - if (consumableOrderlist.size() > 0) { - update consumableOrderlist; + if (consumableOrderlist.size() > 0){ + update consumableOrderlist; } //鏇存柊娑堣�楀搧璁㈠崟鐨勫彂璐ф棩鏈� // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� start by 寮犵帀灞� - 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) { + 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); + 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); + }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); + 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); + }else{ + DeliverdateminResults.put(Consumable_order_minor_str,results1.Deliver_date__c); resultsKeySet.add(Consumable_order_minor_str); } //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part1 end } - + //涓や釜DeliverdateResults.keySet()锛孌eliverdateminResults.keySet() 鍚堝苟浣滀负涓�涓狶ist 锛岄亶鍘哃ist //鑾峰彇鏈�鏃╁彂璐ф椂闂� pk part2 start consumableOrderlist = new List<Consumable_Order__c>(); - for (string temp : resultsKeySet) { + for(string temp : resultsKeySet){ Consumable_Order__c consumableOrder1 = new Consumable_Order__c(); consumableOrder1.Id = temp; - if (DeliverdateResults.get(temp) != null) { + if(DeliverdateResults.get(temp)!=null){ consumableOrder1.Shipment_Date__c = DeliverdateResults.get(temp); } - if (DeliverdateminResults.get(temp) != null) { + 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()) { @@ -159,9 +160,9 @@ // consumableOrderminlist.add(consumableOrder1); // } // } - + // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� end by 寮犵帀灞� - + //鑾峰彇鏃╁彂璐ф棩鏈� start // system.debug('DeliverdateResults==============' + DeliverdateResults); // system.debug('璧板埌鏈�鏃╁彂璐ф棩鏈�'); @@ -193,7 +194,7 @@ // } // if(consumableOrderminlist.size() > 0){ - // update consumableOrderminlist; + // update consumableOrderminlist; // } // system.debug('DeliverdateResults==============' + DeliverdateResults); // //鑾峰彇鏈�鏃╁彂璐ф棩鏈� end @@ -216,29 +217,31 @@ } } 2018骞�8鏈�9鏃� HWAG-B3D9UV 鍘熸湁SQL 涓庤祴鍊� end by 寮犵帀灞� */ - if (consumableOrderlist.size() > 0) { - update consumableOrderlist; + 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) { + 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); + 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 strOrder:orderSet){ + Integer cnt =0; for (string key : resultsMap2.keySet()) { - if (key.equals(strOrder)) { + if(key.equals(strOrder)){ cnt = resultsMap2.get(key); break; } @@ -247,14 +250,12 @@ 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; - } + 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 寮犵帀灞� - + /* 2018骞�8鏈�9鏃� HWAG-B3D9UV 鍘熸湁SQL 涓庤祴鍊� start by 寮犵帀灞� AggregateResult[] results2 = [SELECT Consumable_order_minor__c,count(Id) cnt FROM Consumable_order_details2__c @@ -279,8 +280,8 @@ consumableOrderlist.add(consumableOrder2); } 2018骞�8鏈�9鏃� HWAG-B3D9UV 鍘熸湁SQL 涓庤祴鍊� end by 寮犵帀灞� */ - if (consumableOrderlist.size() > 0) { - update consumableOrderlist; + if (consumableOrderlist.size() > 0){ + update consumableOrderlist; } } //Back up by DTT - Li Jun 2023-06-14 Start for reduce soql times @@ -291,12 +292,11 @@ //鍒拌揣鍜岃繑鍝佹椂,鐢熸垚鎴栦慨鏀规秷璐瑰搧璁㈣揣鏄庣粏 Set<String> arrivedSet = new Set<String>(); Set<String> returnSet = new Set<String>(); - if (Trigger.isUpdate || Trigger.isInsert || Trigger.isDelete) { - if (Trigger.isUpdate || Trigger.isInsert) { + 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 (Trigger.isUpdate) oldDetail2 = Trigger.oldMap.get(detail2.Id); if (detail2.Consumable_Arrived_order__c != null) { arrivedSet.add(detail2.Consumable_Arrived_order__c); } @@ -306,8 +306,8 @@ } } } - if (Trigger.isDelete) { - for (Consumable_order_details2__c det2 : Trigger.old) { + 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); } @@ -318,25 +318,15 @@ } } System.debug('arrivedSet +++++' + arrivedSet); - // 2018骞�8鏈�14鏃� HWAG-B3D9UV 鍦ㄨ繘琛孨FM110澶勭悊鏃� 璺宠繃arrivedset start by 寮犵帀灞� + // 2018骞�8鏈�14鏃� HWAG-B3D9UV 鍦ㄨ繘琛孨FM110澶勭悊鏃� 璺宠繃arrivedset start by 寮犵帀灞� if (StaticParameter.EscapeConsumableOrderDetail2Trigger) { - return; + return ; } - // 2018骞�8鏈�14鏃� HWAG-B3D9UV 鍦ㄨ繘琛孨FM110澶勭悊鏃� 璺宠繃arrivedset start by 寮犵帀灞� + // 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>(); + 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); @@ -349,25 +339,21 @@ } } - 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 - ]; + 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) { + + 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 寮犵帀灞� + // 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)){ @@ -375,7 +361,7 @@ // } // } // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇夸唬涓嬮潰SQL select end by 寮犵帀灞� - //Back up by DTT - Li Jun 2023-06-14 End + //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']; @@ -383,52 +369,45 @@ //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 - GROUP BY Consumable_order__c - ]; + //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'))); + for(AggregateResult ar: results){ + noCount.put((Id)ar.get('Consumable_order__c'), Integer.valueOf(ar.get('noCount'))); } 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>(); - if (Trigger.isUpdate || Trigger.isInsert) { - for (Consumable_order_details2__c detail2 : Trigger.New) { + 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 && 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 (detail1 == null) - detail1 = new Consumable_orderdetails__c(); + if (detail1 == null) detail1 = new Consumable_orderdetails__c(); 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; - if (assetModelNoMap.containsKey(detail2.Asset_Model_No__c)) { + if (index == null) index = 0; + if(assetModelNoMap.containsKey(detail2.Asset_Model_No__c)){ continue; - } else { + }else{ assetModelNoMap.put(detail2.Asset_Model_No__c, detail2.Asset_Model_No__c); noCount.put(co.Id, index + 1); } noCount.put(co.Id, index + 1); - String newName = co.Name + '-'; + String newName = co.Name+'-'; System.debug('index +++++' + index); if (index < 99) { newName += '0'; @@ -445,83 +424,80 @@ detail1.RecordTypeId = recordTypeId; //detail1.Consumable_principal__c = co.Id; detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c; + } upsertMap.put(key, detail1); } } - 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 (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); + Integer count = keyCount.get(key); Consumable_orderdetails__c detail1 = detail1Map.get(key); - if ((count == null || count == 0) && detail1 != null) { + if ((count == null || count ==0) && detail1 !=null){ //delete detail1; - deletetMap.put(key, detail1); + deletetMap.put(key,detail1); continue; } - if (detail1 == null) - 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; + 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; + + } upsertMap.put(key, detail1); } } - if (Trigger.isDelete) { + if (trigger.isDelete){ for (Consumable_order_details2__c detail2 : Trigger.old) { - if (detail2.Consumable_Arrived_order__c == null) - 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) { + if ((count == null || count ==0) && detail1 !=null){ //delete detail1; - deletetMap.put(key, detail1); + deletetMap.put(key,detail1); continue; } - if (detail1 == null) - detail1 = new Consumable_orderdetails__c(); + if (detail1 == null) detail1 = new Consumable_orderdetails__c(); 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; + if (index == null) index = 0; noCount.put(co.Id, index + 1); - String newName = co.Name + '-'; + String newName = co.Name+'-'; if (index < 99) { newName += '0'; } @@ -536,39 +512,31 @@ detail1.RecordTypeId = recordTypeId; //detail1.Consumable_principal__c = co.Id; detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c; + } upsertMap.put(key, detail1); } } Database.upsert(upsertMap.values(), true); - if (deletetMap.size() > 0) { - Database.delete(deletetMap.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>(); + 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); @@ -581,18 +549,17 @@ } } - 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 - ]; + 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) { + 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 + //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){ @@ -601,25 +568,21 @@ // } // } // 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇夸唬涓嬮潰SQL select end by 寮犵帀灞� - //Back up by DTT - Li Jun 2023-06-14 End + //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 = Schema.SObjectType.Consumable_Orderdetails__c.getRecordTypeInfosByDeveloperName() - .get('Detail1_ReturnGoods') - .getRecordTypeId(); + 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 - ]; + 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'))); + for(AggregateResult ar: results){ + noCount.put((Id)ar.get('Consumable_order__c'), Integer.valueOf(ar.get('noCount'))); } Map<String, Consumable_orderdetails__c> upsertMap = new Map<String, Consumable_orderdetails__c>(); @@ -634,35 +597,25 @@ for (Consumable_order_details2__c detail2 : Trigger.New) { Consumable_order_details2__c oldDetail2 = null; - if (detail2.Consumable_Return_order__c == null) - continue; + 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); + if(Trigger.isUpdate) oldDetail2 = Trigger.oldMap.get(detail2.Id); if (oldDetail2 != null) { if (keyCount.containsKey(key)) { returnCount += 1; if (oldDetail2.Consumable_Sale_order__c != null) { - 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; + 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); + 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; + 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); + + updatedShipmentCount.put(''+oldDetail2.Consumable_Shipment_order__c+detail2.Asset_Model_No__c, sCount); updatedShipmentId.add(oldDetail2.Consumable_Shipment_order__c); } /*if (oldDetail2.Invoice_No__c != null) { @@ -680,23 +633,20 @@ }*/ } } - if (upsertMap.get(key) != null) - continue; + if (upsertMap.get(key) != null) continue; Integer count = keyCount.get(key); Consumable_orderdetails__c detail1 = detail1Map.get(key); - if (detail1 == null) - detail1 = new Consumable_orderdetails__c(); + if (detail1 == null) detail1 = new Consumable_orderdetails__c(); 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); - if (index == null) - index = 0; + if (index == null) index = 0; noCount.put(co.Id, index + 1); - String newName = co.Name + '-'; + String newName = co.Name+'-'; if (index < 99) { newName += '0'; } @@ -711,47 +661,47 @@ detail1.RecordTypeId = recordTypeId; //detail1.Consumable_principal__c = co.Id; detail1.Intra_Trade_List_RMB__c = detail2.Intra_Trade_List_RMB__c; + } upsertMap.put(key, detail1); } Database.upsert(upsertMap.values(), true); // 2018骞�8鏈�8鏃� HWAG-B3D9UV 鍑忓皯 select 鏁伴噺 start by 寮犵帀灞� - 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)) { + 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>(); + 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) - ) { + 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>(); + 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) - ) { + for (Consumable_orderdetails__c orderdetails : Consumable_orderdetailsList){ + if(updatedConInvoiceId.contains(orderdetails.id) + && 'Order_Invoice'.equals(orderdetails.Consumable_order__r.RecordType.DeveloperName)){ detail1ConInvoiceList.add(orderdetails); } } @@ -779,31 +729,23 @@ List<Consumable_orderdetails__c> updateData = new List<Consumable_orderdetails__c>(); for (Consumable_orderdetails__c detail1Sale : detail1SaleList) { - 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); if (count != null) { detail1Sale.RrturnPro_count__c += count; updateData.add(detail1Sale); } + } for (Consumable_orderdetails__c detail1Shipment : detail1ShipmentList) { - Integer count = updatedShipmentCount.get('' + detail1Shipment.Consumable_order__c + detail1Shipment.Asset_Model_No__c); + Integer count = updatedShipmentCount.get(''+detail1Shipment.Consumable_order__c+detail1Shipment.Asset_Model_No__c); if (count != null) { detail1Shipment.RrturnPro_count__c += count; updateData.add(detail1Shipment); } } for (Consumable_orderdetails__c detail1ConInvoice : detail1ConInvoiceList) { - 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)) - ) { + 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)) ) { detail1ConInvoice.RrturnPro_count__c += count; //updateData.add(detail1ConInvoice); } @@ -811,5 +753,6 @@ Database.upsert(updateData, true); } + } -} +} \ No newline at end of file -- Gitblit v1.9.1