李彤
2022-04-02 1949e7ccb3bfab67ad2b16d7e0172851c3f823bb
force-app/main/default/triggers/MaintenanceContractTrigger.trigger
@@ -20,5 +20,66 @@
            // 活動_サビコンを削除
            ControllerUtil.delEvent3ForTrigger(mcIds);
        }
        //add                    wangweipeng         2021/11/29              start
        //判断认款是否完成
        if(Trigger.isUpdate){
            for (Maintenance_Contract__c nmc : Trigger.new) {
                //判断 上传认款合同时间 是否为空,如果不为空,那么证明此合同需要认款,并且认款金额需要和 第一次计划付款金额 做对比
                if(nmc.upload_to_RM_time__c != null){
                    if(nmc.All_Amount__c != Trigger.oldMap.get(nmc.Id).All_Amount__c || nmc.Payment_Plan_Sum_First__c != Trigger.oldMap.get(nmc.Id).Payment_Plan_Sum_First__c){
                        if(nmc.Payment_Plan_Sum_First__c != null || nmc.Payment_Plan_Sum_First__c > 0.0 ){
                            nmc.Is_Recognition_Model_True__c = nmc.All_Amount__c >= nmc.Payment_Plan_Sum_First__c ? true : false;
                        }else{
                            if(nmc.All_Amount__c > 0.0 && nmc.All_Amount__c != null){
                                nmc.Is_Recognition_Model_True__c = true;
                            }else{
                                nmc.Is_Recognition_Model_True__c = false;
                            }
                        }
                    }
                }
            }
        }
        //FSE所在大区助理 赋值  根据主担当人 的本部
        //华北:洪贺男  东北:刘莹莹  西北:祝琪雪  西南:何学琼  华东:陈明赟  华南:闻静
        Set<String> setStaff = new Set<String>();
        if(Trigger.isUpdate){
            for (Maintenance_Contract__c nmc : Trigger.new) {
                if(nmc.Service_Contract_Staff__c != Trigger.oldMap.get(nmc.Id).Service_Contract_Staff__c || String.isBlank(nmc.FSE_Regional_Assistant__c)){
                    setStaff.add(nmc.Service_Contract_Staff_Salesdepartment__c);//主担当本部(大区)
                }
            }
        }else if(Trigger.isInsert){
            for (Maintenance_Contract__c nmc : Trigger.new) {
                if(String.isNotBlank(nmc.Service_Contract_Staff__c)){
                    setStaff.add(nmc.Service_Contract_Staff_Salesdepartment__c);//主担当本部(大区)
                }
            }
        }
        if(setStaff.size() > 0){
            //获取对应的自定义元数据
            List<FSE_Regional_Assistant__mdt> usrList = [select id,MasterLabel,DeveloperName,UserName__c,UserId__c from FSE_Regional_Assistant__mdt where MasterLabel in :setStaff];
            if(usrList != null && usrList.size() > 0){
                for (Maintenance_Contract__c nmc : Trigger.new) {
                    //如果是更新,那么判断主担当人是否有变化或FSE大区助理是否为空,如果满足其中一条,那么更新大区助理
                    if(Trigger.isUpdate){
                       if(!(nmc.Service_Contract_Staff__c != Trigger.oldMap.get(nmc.Id).Service_Contract_Staff__c
                        || String.isBlank(nmc.FSE_Regional_Assistant__c)))
                       {
                            continue;
                       }
                    }
                    if(String.isNotBlank(nmc.Service_Contract_Staff__c)){
                        for(FSE_Regional_Assistant__mdt fram : usrList){
                            if(String.isNotBlank(fram.MasterLabel) && nmc.Service_Contract_Staff_Salesdepartment__c == fram.MasterLabel){
                                nmc.FSE_Regional_Assistant__c = fram.UserId__c;
                            }
                        }
                    }
                }
            }
        }
        //add                    wangweipeng         2021/11/29              end
    }
}