| /** | 
|  * 同期MB_Opportunity__c、同期MB_Target__c、Opportunity_sub_owner__c => OpportunityTeamMember、Opportunity_stms_owner__c => OpportunityTeamMember | 
|  */ | 
| trigger SyncMBOpportunity on Opportunity (after insert, after update, before delete) { | 
|     if (StaticParameter.EscapeSyncOpportunityTrigger) { | 
| System.debug('Escape、EscapeSyncOpportunityTrigger:::::' + StaticParameter.EscapeSyncOpportunityTrigger); | 
|         return; | 
|     } | 
| /* | 
|     // MB_目标插入用 | 
|     List<MB_Target__c> ins_tgts = new List<MB_Target__c>(); | 
|     // MB_目标删除用 | 
|     List<Opportunity> del_parentTgts = new List<Opportunity>(); | 
|     // MB_询价插入用 | 
|     List<MB_Opportunity__c> ins_opps = new List<MB_Opportunity__c>(); | 
|     // MB_询价删除用 | 
|     List<Opportunity> del_parentOpps = new List<Opportunity>();*/ | 
|     // OppId ==> OpportunityTeamMember(Opportunity_sub_owner__c) | 
|     Map<Id, OpportunityTeamMember> otmMap = new Map<Id, OpportunityTeamMember>(); | 
|     // OppId ==> OpportunityTeamMember(Opportunity_stms_owner__c) | 
|     Map<Id, OpportunityTeamMember> otmMapSTMS = new Map<Id, OpportunityTeamMember>(); | 
|   | 
|     if (Trigger.isInsert) { | 
|         System.debug('++++++++++2333333333'); | 
|         // CHAN-B4J9TC 2018-09-12 放开原来的注释的内容 | 
|             List<Opportunity> opList = Trigger.new.clone(); | 
|             if(opList.size()==1){ | 
|                 for(Opportunity op : opList ){ | 
|                     if(op.Old_Opportunity_ID__c !=null){ | 
|                         String ResultStr = ControllerUtil.CopyQuoteFromOppor(op.Old_Opportunity_ID__c,op.Opportunity_No__c,op.Id,op); | 
|                         System.debug('2333333333'+ResultStr); | 
|                     } | 
|                 } | 
|             } | 
|         // | 
|         System.debug('==========2333333333'); | 
|         for (Opportunity opp : Trigger.new) { | 
| /*            if (opp.RecordTypeId == '01210000000QekP') { | 
|                 // 目标 | 
|                 MB_Target__c mbopp = new MB_Target__c( | 
|                       Opportunity__c = opp.Id | 
|                     , OpportunityId__c = opp.Id | 
|                     , CurrencyIsoCode = opp.CurrencyIsoCode | 
|                     , RecordType_Name__c = opp.RecordType_Name__c | 
| // CIC 125725 start | 
| //                    , OwnerId = opp.OwnerId | 
|                     , State_Text__c = opp.State__c      // Owner.Province_address__c | 
|                     , Opp_OCM_text__c = opp.OCM__c | 
|                     , Opportunity_Category_text__c = opp.Opportunity_Category__c | 
|                     , Distributor_InCharge_opp__c = opp.Distributor_InCharge_opp__c | 
| // CIC 125725 end | 
|                 ); | 
|                 ins_tgts.add(mbopp); | 
|             }*/ | 
|             // 引合 と 目標 両方 | 
|             { | 
| /*                MB_Opportunity__c mbopp = new MB_Opportunity__c( | 
|                       Opportunity__c = opp.Id | 
|                     , OpportunityId__c = opp.Id | 
|                     , CurrencyIsoCode = opp.CurrencyIsoCode | 
|                     , RecordType_Name__c = opp.RecordType_Name__c | 
| // CIC 125725 start | 
| //                    , OwnerId = opp.OwnerId | 
|                     , State_Text__c = opp.SaleProvince_SAP__c | 
|                     , Opp_OCM_text__c = opp.OCM__c | 
|                     , Opportunity_Category_text__c = opp.Opportunity_Category__c | 
|                     , Distributor_InCharge_opp__c = opp.Distributor_InCharge_opp__c | 
|                     , Group_purchase_PCL__c = opp.Group_purchase_PCL__c | 
| // CIC 125725 end | 
|                 ); | 
|                 if (opp.RecordTypeId == '01210000000QekP') { | 
|                     mbopp.State_Text__c = opp.State__c; | 
|                 } | 
|                 ins_opps.add(mbopp);*/ | 
|                 if (opp.Opportunity_sub_owner__c != null) { | 
|                     if (OpportunityMemberTrigger.syncMBOpportunityOtmMap.get(opp.Id) == null) { | 
|                         otmMap.put(opp.Id, | 
|                                 new OpportunityTeamMember( | 
|                                         UserId = opp.Opportunity_sub_owner__c, | 
|                                         TeamMemberRole = '副担当', | 
|                                         OpportunityId = opp.Id | 
|                                 ) | 
|                         ); | 
|                     } | 
|                 } | 
|                 // CHAN-BB38N4 start stms 副担当以及没有了,去掉这个逻辑 | 
|   | 
|                 //if (opp.Opportunity_stms_owner__c != null) { | 
|                 //    if (OpportunityMemberTrigger.syncMBOpportunityOtmMapSTMS.get(opp.Id) == null) { | 
|                 //        otmMapSTMS.put(opp.Id, | 
|                 //                new OpportunityTeamMember( | 
|                 //                        UserId = opp.Opportunity_stms_owner__c, | 
|                 //                        TeamMemberRole = 'STMS担当', | 
|                 //                        OpportunityId = opp.Id | 
|                 //                ) | 
|                 //        ); | 
|                 //    } | 
|                 //} | 
|                 // CHAN-BB38N4 end stms 副担当以及没有了,去掉这个逻辑 | 
|             } | 
|         } | 
|     } | 
| // CIC 130175 start | 
|     else if (Trigger.isUpdate) { | 
|             //如果询价编码变动,则报价编码一起变动 | 
|         //if(Trigger.isAfter){ | 
|         //    List<id> updateQuoteOppoid = new List<id>(); | 
|         //    List<String> updateSodOppoid = new List<String>(); | 
|         //    for(Opportunity ops : Trigger.new){ | 
|         //        Opportunity oldOne = Trigger.oldMap.get(ops.id); | 
|         //        Opportunity newOne = Trigger.newMap.get(ops.id); | 
|         //        if(oldOne.Opportunity_No__c != newOne.Opportunity_No__c){ | 
|         //            updateQuoteOppoid.add(ops.id); | 
|         //        } | 
|         //    } | 
|         //    if(updateQuoteOppoid.size()>0){ | 
|         //        ControllerUtil.ResetQuoteNo(updateQuoteOppoid); | 
|         //    } | 
|         //    //如果特定字段发生变化,触发以下事件(仅限单一事件) | 
|         //    for(Opportunity ops : Trigger.new){ | 
|         //        Opportunity oldOne = Trigger.oldMap.get(ops.id); | 
|         //        Opportunity newOne = Trigger.newMap.get(ops.id); | 
|         //        if( (oldOne.S_Install_Date__c != newOne.S_Install_Date__c && oldOne.S_Install_Date__c == null)|| | 
|         //                (oldOne.SI_FinishedPorj_Date__c != newOne.SI_FinishedPorj_Date__c && oldOne.SI_FinishedPorj_Date__c == null | 
|         //            )){ | 
|         //            updateSodOppoid.add(ops.id); | 
|         //        } | 
|         //    } | 
|         //    if(updateSodOppoid.size()>0){ | 
|         //        ISO_DemandOperAndDemonsController.synchronousSodWithOppor(updateSodOppoid); | 
|         //    } | 
|         //} | 
| //        Map<Id, Opportunity> oppMap = new Map<Id, Opportunity>(); | 
|         for (Opportunity opp : Trigger.new) { | 
|             System.debug('==+++++===otmMap.put(' + opp.OwnerId + ', ' + Trigger.oldMap.get(opp.Id).OwnerId); | 
|             if (opp.RecordTypeId == '01210000000QekP') { | 
|                 // 目标 の場合 delete insert しているはず、MB子供の処理がないです。 | 
|             } else { | 
|                 // 询价 引合 のみ対象 | 
| /*                if (opp.SAP_Province__c !=  Trigger.oldMap.get(opp.Id).SAP_Province__c | 
|                         || opp.Opportunity_Category__c !=  Trigger.oldMap.get(opp.Id).Opportunity_Category__c | 
|                         || opp.Distributor_InCharge_opp__c !=  Trigger.oldMap.get(opp.Id).Distributor_InCharge_opp__c | 
|                         || opp.Group_purchase_PCL__c !=  Trigger.oldMap.get(opp.Id).Group_purchase_PCL__c | 
|                 ) { | 
|                     oppMap.put(opp.Id, opp); | 
|                 }*/ | 
|                 if (opp.Opportunity_sub_owner__c !=  Trigger.oldMap.get(opp.Id).Opportunity_sub_owner__c | 
|                         || opp.OwnerId !=  Trigger.oldMap.get(opp.Id).OwnerId | 
|                 ) { | 
|                 System.debug('=====otmMap.put(' + opp.OwnerId + ', ' + Trigger.oldMap.get(opp.Id).OwnerId); | 
|                     if (OpportunityMemberTrigger.syncMBOpportunityOtmMap.get(opp.Id) == null) { | 
| System.debug('otmMap.put(' + opp.Id + ', ' + opp.Opportunity_sub_owner__c); | 
|                         otmMap.put(opp.Id, | 
|                                 new OpportunityTeamMember( | 
|                                         UserId = opp.Opportunity_sub_owner__c,                          // 要注意 otmMap の UserId が nullの場合もある、後続の処理でチームを削除します。 | 
|                                         TeamMemberRole = '副担当', | 
|                                         OpportunityId = opp.Id | 
|                                 ) | 
|                         ); | 
|                     } | 
|                 } | 
|                 // CHAN-BB38N4 start stms 副担当以及没有了,去掉这个逻辑 | 
|                 //if (opp.Opportunity_stms_owner__c !=  Trigger.oldMap.get(opp.Id).Opportunity_stms_owner__c | 
|                 //        || opp.OwnerId !=  Trigger.oldMap.get(opp.Id).OwnerId | 
|                 //) { | 
|                 //    if (OpportunityMemberTrigger.syncMBOpportunityOtmMapSTMS.get(opp.Id) == null) { | 
|                 //        System.debug('otmMap.put(' + opp.Id + ', ' + opp.Opportunity_stms_owner__c); | 
|                 //        otmMapSTMS.put(opp.Id, | 
|                 //                new OpportunityTeamMember( | 
|                 //                        UserId = opp.Opportunity_stms_owner__c,                          // 要注意 otmMapSTMS の UserId が nullの場合もある、後続の処理でチームを削除します。 | 
|                 //                        TeamMemberRole = 'STMS担当', | 
|                 //                        OpportunityId = opp.Id | 
|                 //                ) | 
|                 //        ); | 
|                 //    } | 
|                 //} | 
|                 // // CHAN-BB38N4 start stms 副担当以及没有了,去掉这个逻辑 | 
|             } | 
|         } | 
|         // MBこどもを更新 | 
| //        ControllerUtil.updMBChildFromOpp(oppMap); | 
|     } | 
| // CIC 130175 end | 
| /*    else if (Trigger.isDelete) { | 
|         for (Opportunity opp : Trigger.old) { | 
|             if (opp.RecordTypeId == '01210000000QekP') { | 
|                 // 目标 | 
|                 del_parentTgts.add(opp); | 
|             } | 
|             // 引合 と 目標 両方 | 
|             { | 
|                 // 询价 引合 | 
|                 del_parentOpps.add(opp); | 
|             } | 
|         } | 
|     } | 
|   | 
|     if (del_parentTgts.size() > 0) { | 
|         ControllerUtil.delMBTgtList(del_parentTgts); | 
|     } | 
|     if (ins_tgts.size() > 0) { | 
|         ControllerUtil.insMBTgtList(ins_tgts); | 
|     } | 
|     if (del_parentOpps.size() > 0) { | 
|         ControllerUtil.delMBOppList(del_parentOpps); | 
|     } | 
|     if (ins_opps.size() > 0) { | 
|         ControllerUtil.insMBOppList(ins_opps); | 
|     }*/ | 
|     if (otmMap.size() > 0) { | 
|         OpportunityMemberTrigger.delInsOpportunityTeamMember(otmMap); | 
|     } | 
|     // CHAN-BB38N4 start stms 副担当以及没有了,去掉这个逻辑 | 
|     //if (otmMapSTMS.size() > 0) { | 
|     //    OpportunityMemberTrigger.delInsOpportunityTeamMemberSTMS(otmMapSTMS); | 
|     //} | 
|     //// CHAN-BB38N4 end stms 副担当以及没有了,去掉这个逻辑 | 
| } |