/** * 2022-01-20 create * * 1.SFDC先创建会议再发送OBPM时,705接口处理了决裁查找学会的操作,trigger里需要检索并更新学会上的查找决裁 * 2.决裁状态更新为不可用的时候(驳回、删除),清除学会上的决裁信息。 */ public without sharing class ApplicationForCAHandler extends Oly_TriggerHandler { private Map newMap; private Map oldMap; private List newList; private List oldList; public ApplicationForCAHandler() { this.newMap = (Map) Trigger.newMap; this.oldMap = (Map) Trigger.oldMap; this.newList = (List) Trigger.new; this.oldList = (List) Trigger.old; } protected override void beforeUpdate() { clean_campaign(); clean_application(); } protected override void afterUpdate() { } // 审批不通过的时候 清空会议上的决裁信息 private void clean_campaign() { List approved_nos = new List(); for (Application_for_Conference_Adjudication__c app : this.newList) { if (app.ProcessState__c == '驳回' || app.ProcessState__c == '终止申请' || app.ProcessState__c == '取消') { approved_nos.add(app.Id); } } if (approved_nos.size() > 0) { List campaigns = [select Id, MeetingApprovedNo__c, Meeting_Approved_No__c from Campaign where Meeting_Approved_No__c in :approved_nos]; if (campaigns != null && campaigns.size() > 0) { for (Campaign cam : campaigns) { cam.MeetingApprovedNo__c = null; cam.Meeting_Approved_No__c = null; } update campaigns; } } } // 审批不通过的时候 清空决裁上的会议信息 private void clean_application() { List campaign_ids = new List(); for (Application_for_Conference_Adjudication__c app : this.newList) { if (app.ProcessState__c == '驳回' || app.ProcessState__c == '终止申请' || app.ProcessState__c == '取消') { app.Num__c = null; } } } }