From e14fbae6e20ac06c7867d433d115cafc4ded6390 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期四, 06 七月 2023 16:36:07 +0800
Subject: [PATCH] BaseCmp
---
force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger | 170 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 102 insertions(+), 68 deletions(-)
diff --git a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
index 3606100..8529340 100644
--- a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
+++ b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
@@ -1,6 +1,6 @@
trigger ConsumableOrderDetail2Trigger on Consumable_order_details2__c (after insert, after update, after delete) {
Set<String> orderSet = new Set<String>();
-
+
if (StaticParameter.EscapeOrderDetail2Trigger) {
return ;
}
@@ -27,7 +27,6 @@
}
-
if (orderSet.size()>0){
// 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲 SQL start by 寮犵帀灞�
list<Consumable_order_details2__c> allresults =
@@ -102,72 +101,103 @@
//鏇存柊娑堣�楀搧璁㈠崟鐨勫彂璐ф棩鏈�
// 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);
-
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);
- //鑾峰彇鏈�鏃╁彂璐ф棩鏈� end
+ // }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 寮犵帀灞�
AggregateResult[] results1 = [SELECT Consumable_order_minor__c,max(Deliver_date__c) Deliver_date__c
@@ -190,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>();
@@ -220,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);
}
@@ -253,10 +284,11 @@
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>();
@@ -295,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>();
-
for (Consumable_orderdetails__c detail1 : detail1List) {
String key = '' + detail1.Consumable_order__c + detail1.Asset_Model_No__c;
detail1Map.put(key, detail1);
@@ -316,26 +347,30 @@
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')));
}
- // 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
@@ -355,7 +390,6 @@
//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);
@@ -525,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