| | |
| | | |
| | | protected override void beforeInsert() { |
| | | beforeExecute(); |
| | | //客户人员录入后,【电话】【邮箱】自动录入 thh 20220321 start |
| | | // getContactInformation(); |
| | | //客户人员录入后,【电话】【邮箱】自动录入 thh 20220321 end |
| | | } |
| | | protected override void beforeUpdate() { |
| | | beforeExecute(); |
| | | //客户人员录入后,【电话】【邮箱】自动录入 thh 20220321 start |
| | | // getContactInformation(); |
| | | //客户人员录入后,【电话】【邮箱】自动录入 thh 20220321 end |
| | | } |
| | | |
| | | protected override void afterInsert() { |
| | | //shareToOSCM(); |
| | | //FSE主担当共享 |
| | | shareToFSEMain(); |
| | | } |
| | | |
| | | protected override void afterUpdate() { |
| | | //shareToOSCM(); |
| | | shareToFSEMain(); |
| | | } |
| | | //Before処理 |
| | | private void beforeExecute() { |
| | |
| | | nnObj.HospitalName__c = null; //医院名 |
| | | nnObj.Hospital__c = null; //医院 |
| | | } |
| | | //20220419 you SWAG-CBUB2W start |
| | | //公式考文本 给FSE担当赋值 |
| | | System.debug(nnObj.FSE_Owner_id__c+'==123=='+nnObj.FSE_Owner__c); |
| | | if(nnObj.FSE_Owner_id__c != nnObj.FSE_Owner__c){ |
| | | nnObj.FSE_Owner__c = nnObj.FSE_Owner_id__c; |
| | | } |
| | | if(Trigger.isInsert && (nnObj.Request1__c.indexOf('服务对应') !=-1 || nnObj.ServiceCorrespond__c ==true)){ |
| | | nnObj.Service_Status__c ='01.未跟进'; |
| | | } |
| | | //20220419 you SWAG-CBUB2W end |
| | | } |
| | | |
| | | if (depIDList.size()>0) { |
| | | accList = [Select Id,OwnerId, |
| | | Hospital__c,Hospital__r.Name, |
| | |
| | | nObj.Product1_Manual__c = ''; |
| | | } |
| | | } |
| | | |
| | | //20220419 you SWAG-CBUB2W start |
| | | private void shareToFSEMain() { |
| | | //存放用于新增的共享数据 |
| | | List<Inquiry_form__Share> insertList = new List<Inquiry_form__Share>(); |
| | | //存放(产品咨询单id,共享对象) |
| | | Map<Id,Inquiry_form__Share> insertMap = new Map<Id,Inquiry_form__Share>(); |
| | | //存放最后需要新增的共享数据 |
| | | List<Inquiry_form__Share> lastInsertList = new List<Inquiry_form__Share>(); |
| | | //存放已有的相同的共享原因的数据 |
| | | List<Id> deleteTargetAOIdList = new List<Id>(); |
| | | //存放用于的id |
| | | List<Id> userIdList = new List<Id>(); |
| | | // String rowCause = 'Manual'; |
| | | //新增一个共享原因 |
| | | String rowCause = Schema.Inquiry_form__Share.RowCause.FSE_Owner_c_User__c; |
| | | System.debug('rowCause:'+rowCause); |
| | | String ownerCause = 'Owner'; |
| | | //Apex共有の理由名OCSM_Owner_c_User |
| | | for(Inquiry_form__c nObj : newList) { |
| | | Inquiry_form__c oObj = null; |
| | | System.debug('FSE主担当:'+nObj.FSE_Owner__c); |
| | | if (oldMap != null && oldMap.containsKey(nObj.Id)) { |
| | | oObj = oldMap.get(nObj.Id); |
| | | } |
| | | |
| | | |
| | | if ( nObj.FSE_Owner__c != null && (oObj == null || oObj.FSE_Owner__c != nObj.FSE_Owner__c)) { |
| | | Inquiry_form__Share aos = new Inquiry_form__Share( |
| | | RowCause = rowCause, |
| | | ParentId = nObj.Id, |
| | | UserOrGroupId = nObj.FSE_Owner__c, |
| | | AccessLevel = 'Edit'); |
| | | //存放要新增的共享数据 |
| | | insertList.add(aos); |
| | | System.debug('key:'+nObj.Id); |
| | | //存放(产品咨询单id,共享对象); |
| | | insertMap.put(nObj.Id,aos); |
| | | //存放用户id 用作检索条件 |
| | | userIdList.add(nObj.FSE_Owner__c); |
| | | } |
| | | if(oObj != null && oObj.FSE_Owner__c != nObj.FSE_Owner__c){ |
| | | deleteTargetAOIdList.add(nObj.Id); |
| | | } |
| | | } |
| | | System.debug('insertList:'+insertList); |
| | | System.debug('insertMap1:'+insertMap); |
| | | System.debug('IDlIST:'+deleteTargetAOIdList); |
| | | // 先 Delete 后 Insert |
| | | if (deleteTargetAOIdList.size() > 0) { |
| | | List<Inquiry_form__Share> deleteList = [SELECT Id |
| | | FROM Inquiry_form__Share |
| | | WHERE RowCause = :rowCause |
| | | AND ParentId IN :deleteTargetAOIdList |
| | | ]; |
| | | delete deleteList; |
| | | } |
| | | //判断需要共享的人 是不是创建人 如果是则说明有一条这个人的owner数据 则不新增 |
| | | if (insertMap!= null) { |
| | | List<Inquiry_form__Share> ownerList = [SELECT Id,ParentId,UserOrGroupId |
| | | FROM Inquiry_form__Share |
| | | WHERE RowCause = :ownerCause |
| | | AND ParentId IN :insertMap.keySet() |
| | | AND UserOrGroupId IN :userIdList |
| | | ]; |
| | | System.debug('ownerList:'+ownerList); |
| | | if(ownerList.size() > 0){ |
| | | for( Inquiry_form__Share inq:ownerList){ |
| | | String id = String.valueOf(inq.ParentId); |
| | | System.debug('id:'+id); |
| | | if(insertMap.containsKey(id)){ |
| | | insertMap.remove(inq.ParentId); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | System.debug('insertMap2:'+insertMap); |
| | | |
| | | if(insertMap != null){ |
| | | for(Inquiry_form__Share inquiry : insertMap.values()){ |
| | | lastInsertList.add(inquiry); |
| | | } |
| | | } |
| | | |
| | | |
| | | System.debug('共享内容:' +lastInsertList); |
| | | if(lastInsertList.size() > 0){ |
| | | insert lastInsertList; |
| | | } |
| | | |
| | | } |
| | | //20220419 you SWAG-CBUB2W end |
| | | |
| | | //客户人员录入后,【电话】【邮箱】自动录入 thh 20220321 start |
| | | // private void getContactInformation(){ |
| | | // List<String> ContactIdList = new List<String>(); |
| | | // List<Contact> ContactList = new List<Contact>(); |
| | | // Map<String, Contact> ContactMap = new Map<String, Contact>(); |
| | | // for(Inquiry_form__c nnObj : newList) { |
| | | // if(String.isNotBlank(nnObj.Contact_Name__c)){ |
| | | // ContactIdList.add(nnObj.Contact_Name__c); |
| | | // } |
| | | // } |
| | | // if(ContactIdList.size() > 0){ |
| | | // ContactList = [select id, Phone, Email from Contact where Id IN :ContactIdList]; |
| | | // for(Contact contact : ContactList){ |
| | | // ContactMap.put(contact.Id, contact); |
| | | // } |
| | | // } |
| | | // for(Inquiry_form__c nnObj : newList) { |
| | | // if(String.isNotBlank(nnObj.Contact_Name__c)){ |
| | | // if(String.isNotBlank(ContactMap.get(nnObj.Contact_Name__c).Phone)){ |
| | | // nnObj.Phone__c = ContactMap.get(nnObj.Contact_Name__c).Phone; |
| | | // } |
| | | // if(String.isNotBlank(ContactMap.get(nnObj.Contact_Name__c).Email)){ |
| | | // nnObj.Email__c = ContactMap.get(nnObj.Contact_Name__c).Email; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | //客户人员录入后,【电话】【邮箱】自动录入 thh 20220321 end |
| | | |
| | | // 战略科室的主担当 を取得、Inquiry_form__Shareに設定(Read) |
| | | // private void shareToOSCM() { |
| | | // //存放用于新增的共享数据 |