From 80a3f59e2d3df07805bc67e329300b8de90a5b3a Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期二, 11 七月 2023 14:13:08 +0800
Subject: [PATCH] Merge branch 'LEXCommunityLiJun' into LEXUpgrade2023-Deloitte
---
force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger | 584 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 323 insertions(+), 261 deletions(-)
diff --git a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
index 51c8bd0..0fedc68 100644
--- a/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
+++ b/force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
@@ -1,63 +1,66 @@
-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;
}
@@ -69,7 +72,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
@@ -95,61 +98,57 @@
}
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()) {
@@ -160,9 +159,9 @@
// consumableOrderminlist.add(consumableOrder1);
// }
// }
-
+
// 2018骞�8鏈�9鏃� HWAG-B3D9UV 鏇挎崲涓嬮潰鍘熸湁SQL 浣跨敤 map 瀹屾垚璧嬪�� end by 寮犵帀灞�
-
+
//鑾峰彇鏃╁彂璐ф棩鏈� start
// system.debug('DeliverdateResults==============' + DeliverdateResults);
// system.debug('璧板埌鏈�鏃╁彂璐ф棩鏈�');
@@ -194,7 +193,7 @@
// }
// if(consumableOrderminlist.size() > 0){
- // update consumableOrderminlist;
+ // update consumableOrderminlist;
// }
// system.debug('DeliverdateResults==============' + DeliverdateResults);
// //鑾峰彇鏈�鏃╁彂璐ф棩鏈� end
@@ -217,31 +216,29 @@
}
}
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;
}
@@ -250,12 +247,14 @@
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
@@ -280,22 +279,24 @@
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
// 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){
+ 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);
}
@@ -305,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);
}
@@ -317,15 +318,25 @@
}
}
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);
@@ -338,71 +349,86 @@
}
}
- 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 寮犵帀灞�
- List<RecordType> rtList = new List<RecordType>();
- for(RecordType rtl : allrtList){
- if('Detail1_Arrival'.equals(rtl.DeveloperName)){
- rtList.add(rtl);
- }
- }
+ // 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;
-
- 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 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
+ ];
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';
@@ -419,80 +445,83 @@
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 (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;
-
-
- }
- upsertMap.put(key, detail1);
- }
- }
-
- if (trigger.isDelete){
+ if (Trigger.isUpdate) {
for (Consumable_order_details2__c detail2 : Trigger.old) {
- if (detail2.Consumable_Arrived_order__c == null) continue;
+ //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){
+ 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)
+ 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;
+ if (index == null)
+ index = 0;
+ System.debug('indexUp +++++' + index);
noCount.put(co.Id, index + 1);
- String newName = co.Name+'-';
+ 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) {
+ for (Consumable_order_details2__c detail2 : Trigger.old) {
+ 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)
+ 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;
+ noCount.put(co.Id, index + 1);
+ String newName = co.Name + '-';
if (index < 99) {
newName += '0';
}
@@ -507,31 +536,39 @@
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 (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>();
-
+ 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);
@@ -544,40 +581,45 @@
}
}
- 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
// 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
- 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>();
@@ -592,25 +634,35 @@
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) {
@@ -628,20 +680,23 @@
}*/
}
}
- 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';
}
@@ -656,47 +711,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);
}
}
@@ -724,23 +779,31 @@
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);
}
@@ -748,6 +811,5 @@
Database.upsert(updateData, true);
}
-
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.1