Skip to content

Instantly share code, notes, and snippets.

@waltonzt
Created February 8, 2018 15:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save waltonzt/b683d22f88fe51e3cecb1a589fea77a2 to your computer and use it in GitHub Desktop.
Save waltonzt/b683d22f88fe51e3cecb1a589fea77a2 to your computer and use it in GitHub Desktop.
Deletes all Accounts that are not tied to any SO, RO, PO, RFQ, CQ, and INV
List<Account> acct = new List<Account>();
Map<String, inscor__Customer_Quote__c> cqMap = new Map<String, inscor__Customer_Quote__c>();
Map<String, inscor__Sales_Order__c> soMap = new Map<String, inscor__Sales_Order__c>();
Map<String, inscor__RFQ__c> rfqMap = new Map<String, inscor__RFQ__c>();
Map<String, inscor__Purchase_Order__c> poMap = new Map<String, inscor__Purchase_Order__c>();
Map<String, inscor__Repair_Order__c> roMap = new Map<String, inscor__Repair_Order__c>();
Map<String, inscor__Inventory_Line__c> invMap = new Map<String, inscor__Inventory_Line__c>();
for (inscor__Customer_Quote__c cq : [SELECT Id, inscor__Customer__c FROM inscor__Customer_Quote__c]) {
cqMap.put(cq.inscor__Customer__c, cq);
}
for (inscor__Sales_Order__c so : [SELECT Id, inscor__Customer__c FROM inscor__Sales_Order__c]) {
soMap.put(so.inscor__Customer__c, so);
}
for (inscor__RFQ__c rfq : [SELECT Id, inscor__Vendor__c FROM inscor__RFQ__c]) {
rfqMap.put(rfq.inscor__Vendor__c, rfq);
}
for (inscor__Purchase_Order__c po : [SELECT Id, inscor__Vendor__c FROM inscor__Purchase_Order__c]) {
poMap.put(po.inscor__Vendor__c, po);
}
for (inscor__Repair_Order__c ro : [SELECT Id, inscor__Vendor__c FROM inscor__Repair_Order__c]) {
roMap.put(ro.inscor__Vendor__c, ro);
}
for (inscor__Inventory_Line__c inv : [SELECT Id, inscor__Tag_Agency__c, inscor__Tag_Agency_2__c,
inscor__Source__c, inscor__Source_2__c
FROM inscor__Inventory_Line__c]) {
invMap.put(inv.inscor__Tag_Agency__c, inv);
invMap.put(inv.inscor__Tag_Agency_2__c, inv);
invMap.put(inv.inscor__Source__c, inv);
invMap.put(inv.inscor__Source_2__c, inv);
}
for (Account a : [SELECT Id,Name FROM Account WHERE inscor__External_Reference_ID__c = null]) {
if (!cqMap.containsKey(a.Id) && !soMap.containsKey(a.Id) && !rfqMap.containsKey(a.Id) &&
!poMap.containsKey(a.Id) && !roMap.containsKey(a.Id) && !invMap.containsKey(a.Id)) {
System.debug(LoggingLevel.ERROR, a.Name);
acct.add(a);
}
}
delete acct;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment