|  |  | 
 |  |  | trigger AttachmentTrigger on Attachment (before insert,after insert,before delete,after delete) { | 
 |  |  |     List<String> rentalIds = new List<String>(); | 
 |  |  |     List<String> attIds = new List<String>(); | 
 |  |  |     List<String> rentaldelIds = new List<String>(); | 
 |  |  |     List<String> attdelIds = new List<String>(); | 
 |  |  |     List<String> rentalApplyIds = new List<String>(); | 
 |  |  |     List<String> accIds = new List<String>(); | 
 |  |  |     // LHJ CHAN-BCLD4P 20190618 Start | 
 |  |  |     List<String> specIds = new List<String>(); | 
 |  |  |     List<String> specDelIds = new List<String>(); | 
 |  |  |     // LHJ CHAN-BCLD4P 20190618 End | 
 |  |  |  | 
 |  |  |     // MZY SWAG-BXXBKA  2021-02-19 start | 
 |  |  |     List<String> opdIds = new List<String>(); | 
 |  |  |     Map<String,String> opdMap = new Map<String,String>(); | 
 |  |  |     // MZY SWAG-BXXBKA  2021-02-19 end | 
 |  |  |  | 
 |  |  |     List<String> OpporFileIds = new List<String>(); | 
 |  |  |     Map<String,String> OpporFileUndeleteMap = new Map<String,String>(); | 
 |  |  |     List<String> DeleteReIds = new List<String>(); | 
 |  |  | Map<String,String> OppordeleteReUserMap = new Map<String,String>(); | 
 |  |  |     Map<String,Datetime> OppordeleteReTimeMap = new Map<String,Datetime>(); | 
 |  |  |     //CHAN-BCNCRB ---XHL----Start----- | 
 |  |  |     List<String> opportunity_FileIds = new List<String>(); | 
 |  |  |  | 
 |  |  |     List<String> opportunityFileOrderIds = new List<String>(); | 
 |  |  |     List<String> oFOrderIds = new List<String>(); | 
 |  |  |     Map<String,Boolean> oFOrderIdMap = new Map<String,Boolean>(); | 
 |  |  | trigger AttachmentTrigger on Attachment (before insert, after insert, before update, before delete, after delete) { | 
 |  |  |     if (Trigger.isBefore && Trigger.isInsert) { | 
 |  |  |         for (Attachment att : Trigger.new) { | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith(System.Label.Oppor_sepKey)){ | 
 |  |  |                 opportunity_FileIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith('a3Z')){ | 
 |  |  |                 opportunityFileOrderIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         AttachmentTriggerHandler.fileCheck(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.fileCheck5(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.UploadTradeCustomerManagerFile(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |     } | 
 |  |  |     //CHAN-BCNCRB ---XHL----End----- | 
 |  |  |     if (Trigger.isAfter && Trigger.isInsert) { | 
 |  |  |         for (Attachment att : Trigger.new) { | 
 |  |  |             //if (att.Name.toUpperCase() == '合同书.PDF' && String.valueOf(att.ParentId).startsWith('a0t')) { | 
 |  |  |             // 添付した契約書のファイル名は指定できない | 
 |  |  |             if (String.valueOf(att.ParentId).startsWith('a2K')) { | 
 |  |  |                 rentalIds.add(att.ParentId); | 
 |  |  |                 attIds.add(att.Id); | 
 |  |  |             } | 
 |  |  |             if (String.valueOf(att.ParentId).startsWith('a0t')) { | 
 |  |  |                 rentalApplyIds.add(att.ParentId);  | 
 |  |  |             } | 
 |  |  |             if (String.valueOf(att.ParentId).startsWith('001')) { | 
 |  |  |                 accIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith(System.Label.Oppor_sepKey)){ | 
 |  |  |                 OpporFileIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |             // LHJ CHAN-BCLD4P 20190618 Start | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith(System.Label.OppSpecialApply)){ | 
 |  |  |                 specIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |             // LHJ CHAN-BCLD4P 20190618 End | 
 |  |  |  | 
 |  |  |             // MZY SWAG-BXXBKA  2021-02-19 start  | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith('a3E')){ | 
 |  |  |                 opdIds.add(att.ParentId); | 
 |  |  |                 opdMap.put(att.ParentId,att.Name); | 
 |  |  |              } | 
 |  |  |             // MZY SWAG-BXXBKA  2021-02-19 end | 
 |  |  |  | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith('a3Z')){ | 
 |  |  |                 oFOrderIds.add(att.ParentId); | 
 |  |  |                 oFOrderIdMap.put(att.ParentId,true); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         AttachmentTriggerHandler.uploadContract(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.AfterPassUpload(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.fileCheck4(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.AfterUploadToUserFaultInfo(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |     } | 
 |  |  |     if (Trigger.isBefore && Trigger.isUpdate) { | 
 |  |  |         AttachmentTriggerHandler.fileCheck3(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.updateTradeCustomerManagerFile(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |     } | 
 |  |  |     if (Trigger.isBefore && Trigger.isDelete) { | 
 |  |  |         for (Attachment att : Trigger.old) { | 
 |  |  |             //if (att.Name.toUpperCase() == '合同书.PDF' && String.valueOf(att.ParentId).startsWith('a0t')) { | 
 |  |  |             // 添付した契約書のファイル名は指定できない | 
 |  |  |             if (String.valueOf(att.ParentId).startsWith('a2K')) { | 
 |  |  |                 rentaldelIds.add(att.ParentId); | 
 |  |  |                 attdelIds.add(att.Id); | 
 |  |  |             } | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith(System.Label.Oppor_sepKey)){ | 
 |  |  |                 OpporFileIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |             // LHJ CHAN-BCLD4P 20190618 Start | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith(System.Label.OppSpecialApply)){ | 
 |  |  |                 specDelIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |             // LHJ CHAN-BCLD4P 20190618 End | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith('a3Z')){ | 
 |  |  |                 oFOrderIds.add(att.ParentId); | 
 |  |  |                 oFOrderIdMap.put(att.ParentId,false); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         AttachmentTriggerHandler.fileCheck2(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.fileCheck6(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.DeleteTradeCustomerManagerFile(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |     } | 
 |  |  |     if (Trigger.isAfter && Trigger.isDelete) { | 
 |  |  |         for (Attachment att : Trigger.old) { | 
 |  |  |             if (String.valueOf(att.ParentId).startsWith('001')) { | 
 |  |  |                 accIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |             // LHJ CHAN-BCLD4P 20190618 Start | 
 |  |  |             if(String.valueOf(att.ParentId).startsWith(System.Label.OppSpecialApply)){ | 
 |  |  |                 specIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |             // LHJ CHAN-BCLD4P 20190618 End | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |      | 
 |  |  |     if (rentaldelIds.size() > 0) { | 
 |  |  |         List<Consumable_accessories_invoice__c> rentaldelList = new List<Consumable_accessories_invoice__c>(); | 
 |  |  |         for (Consumable_accessories_invoice__c ra : [select Id from Consumable_accessories_invoice__c where Invoice_code__c in :rentaldelIds and Attachment_ID__c in :attdelIds]) { | 
 |  |  |             rentaldelList.add(ra); | 
 |  |  |         } | 
 |  |  |         ControllerUtil.delConsumableAccessoriesInvoiceSet(rentaldelList); | 
 |  |  |     } | 
 |  |  |      | 
 |  |  |     if (rentalIds.size() > 0) { | 
 |  |  |         List<Consumable_order__c> rentalList = new List<Consumable_order__c>(); | 
 |  |  |         for (Consumable_order__c ra : [select Id from Consumable_order__c where Id in :rentalIds]) { | 
 |  |  |             ra.Consumable_pdf_insert_day__c = Date.today(); | 
 |  |  |             ra.Order_Attachment__c = attIds[0]; | 
 |  |  |             //ra.Order_status__c = '录入完成'; | 
 |  |  |             //ra.Contract_pdf_updated__c = true; | 
 |  |  |             rentalList.add(ra); | 
 |  |  |         } | 
 |  |  |         ControllerUtil.updRentalApplyList(rentalList); | 
 |  |  |     } | 
 |  |  |      if (rentalApplyIds.size() > 0) { | 
 |  |  |         List<Rental_Apply__c> rentalApplyList = new List<Rental_Apply__c>(); | 
 |  |  |         for (Rental_Apply__c ra : [select Id from Rental_Apply__c where Id in :rentalApplyIds]) { | 
 |  |  |             ra.Contract_pdf_update_day__c = Date.today(); | 
 |  |  |             ra.Contract_pdf_updated__c = true; | 
 |  |  |             rentalApplyList.add(ra); | 
 |  |  |         } | 
 |  |  |         ControllerUtil.updRentalApplyList(rentalApplyList); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     if (accIds.size() > 0) { | 
 |  |  |         Map<String, String> attMap = new Map<String, String>(); | 
 |  |  |         List<Attachment> attList = [select Id, ParentId from Attachment where ParentId = :accIds order by ParentId]; | 
 |  |  |         for (Attachment att : attList) { | 
 |  |  |             attMap.put(att.ParentId, att.ParentId); | 
 |  |  |         } | 
 |  |  |         List<Account> updAccList = new List<Account>(); | 
 |  |  |         for (String accid : accIds) { | 
 |  |  |             Account acc = new Account(Id = accid); | 
 |  |  |             acc.Is_upload_file__c = attMap.containsKey(accid); | 
 |  |  |             updAccList.add(acc); | 
 |  |  |         } | 
 |  |  |         if (updAccList.size() > 0) update updAccList; | 
 |  |  |     } | 
 |  |  |     // LHJ CHAN-BCLD4P 20190618 Start | 
 |  |  |     if (specIds.size() > 0) { | 
 |  |  |          | 
 |  |  |         Map<String, String> attMap = new Map<String, String>(); | 
 |  |  |         List<Attachment> attList = [select Id, ParentId from Attachment where ParentId = :specIds order by ParentId]; | 
 |  |  |         for (Attachment att : attList) { | 
 |  |  |             attMap.put(att.ParentId, att.ParentId); | 
 |  |  |         } | 
 |  |  |         List<OpportunitySpecialApply__c> updSpecList = new List<OpportunitySpecialApply__c>(); | 
 |  |  |         for (String specId : specIds) { | 
 |  |  |             OpportunitySpecialApply__c spec = new OpportunitySpecialApply__c(Id = specId); | 
 |  |  |             spec.Is_upload_file__c = attMap.containsKey(specId); | 
 |  |  |             updSpecList.add(spec); | 
 |  |  |         } | 
 |  |  |         if (updSpecList.size() > 0) update updSpecList; | 
 |  |  |     } | 
 |  |  |     // LHJ CHAN-BCLD4P 20190618 End | 
 |  |  |      | 
 |  |  |     // MZY SWAG-BXXBKA  2021-02-19 start | 
 |  |  |     System.debug('SWAG-BXXBKA start'); | 
 |  |  |     if (opdIds.size()>0) { | 
 |  |  |         List<OPDPlan__c> updateOPDs = new List<OPDPlan__c>(); | 
 |  |  |  | 
 |  |  |         OPDPlan__c tempOPD = new OPDPlan__c(); | 
 |  |  |         for (String i :opdIds ) { | 
 |  |  |             tempOPD.id = i; | 
 |  |  |             tempOPD.AttachmentCertificate__c = opdMap.get(i); | 
 |  |  |             updateOPDs.add(tempOPD); | 
 |  |  |         } | 
 |  |  |         System.debug('临时OPD :'+tempOPD); | 
 |  |  |         if (updateOPDs.size()>0){ | 
 |  |  |             update updateOPDs; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     System.debug('SWAG-BXXBKA end'); | 
 |  |  |     // MZY SWAG-BXXBKA  2021-02-19 end | 
 |  |  |  | 
 |  |  |     if(OpporFileIds.size()>0){ | 
 |  |  |         List<Opportunity_File__c> OpporList = [select id,Last_upload_time__c, | 
 |  |  |                                                             Is_Locked__c, | 
 |  |  |                                                             Last_upload_user__c, | 
 |  |  |                                                             Stock_apply_time__c | 
 |  |  |                                                         from Opportunity_File__c  | 
 |  |  |                                                         where id  | 
 |  |  |                                                         in:OpporFileIds ]; | 
 |  |  |         if(OpporList.size()>0){ | 
 |  |  |             for(Opportunity_File__c ofc : OpporList){ | 
 |  |  |                 if(!ofc.Is_Locked__c){ | 
 |  |  |                     ofc.Last_upload_user__c = UserInfo.getUserId(); | 
 |  |  |                     ofc.Last_upload_time__c = System.now(); | 
 |  |  |                     System.debug(ofc+'23333'); | 
 |  |  |                 }else{ | 
 |  |  |                     OpporFileUndeleteMap.put(ofc.id,ofc.id); | 
 |  |  |                     System.debug(ofc+'23333444444'); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             update OpporList; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     System.debug(Trigger.isDelete+'Trigger.isDelete'); | 
 |  |  |     System.debug(Trigger.isBefore+'Trigger.isBefore'); | 
 |  |  |     | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     if(Trigger.isDelete && Trigger.isBefore){ | 
 |  |  |         for(Attachment att : Trigger.old){ | 
 |  |  |             if(OpporFileUndeleteMap.containsKey(att.ParentID)){ | 
 |  |  |                 att.addError('备货已审批,不可删除附件'); | 
 |  |  |  | 
 |  |  |                 return; | 
 |  |  |             }else{ | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     if(Trigger.isDelete && Trigger.isAfter){ | 
 |  |  |         for(Attachment att : Trigger.old){ | 
 |  |  |             if(OpporFileUndeleteMap.containsKey(att.ParentID)){ | 
 |  |  |                 att.addError('备货已审批,不可删除附件'); | 
 |  |  |  | 
 |  |  |                 return; | 
 |  |  |             }else{ | 
 |  |  |                 DeleteReIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |      | 
 |  |  |  | 
 |  |  |     if(Trigger.isInsert){ | 
 |  |  |         for(Attachment att : Trigger.new){ | 
 |  |  |             if(OpporFileUndeleteMap.containsKey(att.ParentID)){ | 
 |  |  |                 att.addError('备货已审批,不可删除附件'); | 
 |  |  |  | 
 |  |  |                 return; | 
 |  |  |             }else{ | 
 |  |  |                 DeleteReIds.add(att.ParentId); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     List<Attachment> atcList = [select id,ParentId,createddate,createdbyid from Attachment where ParentId in:DeleteReIds]; | 
 |  |  |     System.debug(DeleteReIds+'222222222222'); | 
 |  |  |     if(atcList.size()>0){ | 
 |  |  |         for(String ids : DeleteReIds){ | 
 |  |  |             for(Attachment atc : atcList){ | 
 |  |  |                 if(OppordeleteReTimeMap.containsKey(ids)){ | 
 |  |  |                     if(atc.createddate > OppordeleteReTimeMap.get(ids)){ | 
 |  |  |                         OppordeleteReTimeMap.put(ids,atc.createddate); | 
 |  |  |                         OppordeleteReUserMap.put(ids,atc.createdbyid); | 
 |  |  |                     }else{ | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |                 }else{ | 
 |  |  |                     OppordeleteReTimeMap.put(ids,atc.createddate); | 
 |  |  |                     OppordeleteReUserMap.put(ids,atc.createdbyid); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         List<Opportunity_File__c> reDateList = [select id,Last_upload_time__c, | 
 |  |  |                                                                 Is_Locked__c, | 
 |  |  |                                                                 Last_upload_user__c | 
 |  |  |                                                             from Opportunity_File__c  | 
 |  |  |                                                             where id  | 
 |  |  |                                                             in:DeleteReIds ]; | 
 |  |  |         if(reDateList.size()>0){ | 
 |  |  |             for(Opportunity_File__c ofc : reDateList){ | 
 |  |  |                 ofc.Last_upload_time__c = OppordeleteReTimeMap.get(ofc.id); | 
 |  |  |                 ofc.Last_upload_user__c = OppordeleteReUserMap.get(ofc.id); | 
 |  |  |                 System.debug(ofc+'233333333'); | 
 |  |  |             } | 
 |  |  |             update reDateList; | 
 |  |  |         } | 
 |  |  |     }else{ | 
 |  |  |         List<Opportunity_File__c> reDateList = [select id,Last_upload_time__c, | 
 |  |  |                                                                 Is_Locked__c, | 
 |  |  |                                                                 Last_upload_user__c | 
 |  |  |                                                             from Opportunity_File__c  | 
 |  |  |                                                             where id  | 
 |  |  |                                                             in:DeleteReIds ]; | 
 |  |  |         if(reDateList.size()>0){ | 
 |  |  |             for(Opportunity_File__c ofc : reDateList){ | 
 |  |  |                 ofc.Last_upload_time__c = null; | 
 |  |  |                 ofc.Last_upload_user__c = null; | 
 |  |  |             } | 
 |  |  |             update reDateList; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     //CHAN-BCNCRB ---XHL----Start----- | 
 |  |  |     if (opportunity_FileIds.size() > 0) { | 
 |  |  |         List<Opportunity_File__c> opporList = [select id,Last_upload_time__c, | 
 |  |  |                                                             Is_Locked__c, | 
 |  |  |                                                             Last_upload_user__c, | 
 |  |  |                                                             Stock_apply_time__c, | 
 |  |  |                                                             Oppor_File_Stage__c | 
 |  |  |                                                         from Opportunity_File__c  | 
 |  |  |                                                         where id in:opportunity_FileIds And Oppor_File_Stage__c = 'G']; | 
 |  |  |         List<String>  ofIds = new  List<String>();                                               | 
 |  |  |         if (opporList.size() > 0) { | 
 |  |  |  | 
 |  |  |             for (Opportunity_File__c oppf : opporList) { | 
 |  |  |                 ofIds.add(oppf.Id); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (ofIds.size() > 0 ) { | 
 |  |  |                  List<Attachment> atcList = [select id,ParentId,createddate,createdbyid from Attachment where ParentId in:ofIds]; | 
 |  |  |              | 
 |  |  |                 if (atcList.size() > 0) { | 
 |  |  |                     delete atcList; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             | 
 |  |  |              | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     //CHAN-BCNCRB ---XHL----End----- | 
 |  |  |      | 
 |  |  |  | 
 |  |  |     if (opportunityFileOrderIds.size() > 0) { | 
 |  |  |         List<OpportunityFileOrder__c> ofoList = [select id, | 
 |  |  |                                                             OpporFileStage__c | 
 |  |  |                                                         from OpportunityFileOrder__c  | 
 |  |  |                                                         where Id in:opportunityFileOrderIds And OpporFileStage__c = 'G']; | 
 |  |  |         List<String>  ofoIds = new  List<String>();                                               | 
 |  |  |         if (ofoList.size() > 0) { | 
 |  |  |  | 
 |  |  |             for (OpportunityFileOrder__c ofo : ofoList) { | 
 |  |  |                 ofoIds.add(ofo.Id); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (ofoIds.size() > 0 ) { | 
 |  |  |                  List<Attachment> atcList = [select id,ParentId,createddate,createdbyid from Attachment where ParentId in:ofoIds]; | 
 |  |  |              | 
 |  |  |                 if (atcList.size() > 0) { | 
 |  |  |                     delete atcList; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             | 
 |  |  |              | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     if (oFOrderIdMap.size() > 0) { | 
 |  |  |  | 
 |  |  |         List<OpportunityFileOrder__c> oFOrderList = [select Id,Name,LatestUploadUser__c,LatestUploadTime__c | 
 |  |  |                                                     from OpportunityFileOrder__c  | 
 |  |  |                                                     where Id In : oFOrderIdMap.keySet()]; | 
 |  |  |         if (oFOrderList.size() > 0 ) { | 
 |  |  |  | 
 |  |  |             for (OpportunityFileOrder__c oFOrder :oFOrderList) { | 
 |  |  |  | 
 |  |  |                 if (oFOrderIdMap.get(oFOrder.Id)) { | 
 |  |  |                     oFOrder.LatestUploadUser__c = UserInfo.getUserId(); | 
 |  |  |                     oFOrder.LatestUploadTime__c = System.now(); | 
 |  |  |                 } else if (oFOrderIdMap.get(oFOrder.Id) == false){ | 
 |  |  |                     oFOrder.LatestUploadUser__c = null; | 
 |  |  |                     oFOrder.LatestUploadTime__c = null; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             update oFOrderList; | 
 |  |  |  | 
 |  |  |         }                                             | 
 |  |  |         AttachmentTriggerHandler.deleteContract(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |         AttachmentTriggerHandler.deleteconfirm(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); | 
 |  |  |     } | 
 |  |  | } |