涂煌豪
2022-03-21 18177a0121022fed55c578471785e4c2c6b9691b
修理触发器的修改
2个文件已修改
45 ■■■■■ 已修改文件
force-app/main/default/classes/RepairTrigger.cls 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/Repair.trigger 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/RepairTrigger.cls
@@ -706,13 +706,14 @@
        List<Repair__c> updateRepairList = new List<Repair__c>();
        System.debug('newList1:' + newList);
        for(Repair__c rep : newList){
            Repair__c oldRep = oldMap.get(rep.Id);
            if(rep.Repair_Quotation_Id__c != null){
                RepairQuotationIdList.add(rep.Repair_Quotation_Id__c);
            }else{
                NoRepairQuotationList.add(rep);
            }
        }
        System.debug('RepairQuotationIdList1:' + RepairQuotationIdList);
        System.debug('NoRepairQuotationList1:' + NoRepairQuotationList);
        //同期中的修理修理报价有值时,看报价上的先款标识进行赋值
        if(RepairQuotationIdList.size() > 0){
            RepairQuotationList = [select Id, Is_RecognitionModel__c from Repair_Quotation__c where Id IN :RepairQuotationIdList];
@@ -721,7 +722,7 @@
            for(Repair__c rep : newList){
                if(rq.Id == rep.Repair_Quotation_Id__c){
                    rep.Advance_Payment_Flag__c = rq.Is_RecognitionModel__c;
                    updateRepairList.add(rep);
                    // updateRepairList.add(rep);
                }
            }
        }
@@ -738,19 +739,13 @@
            for(Repair__c rep : newList){
                if(rep.Dealer__c == dealer.Id){
                    rep.Advance_Payment_Flag__c = dealer.FirstParagraphEnd__c;
                    updateRepairList.add(rep);
                    // updateRepairList.add(rep);
                }
            }
        }
        Savepoint sp = Database.setSavepoint();
        try {
            if(updateRepairList.size() > 0){
                update updateRepairList;
            }
        } catch (System.Exception e) {
            Database.rollback(sp);
            ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage()));
        }
        // if(updateRepairList.size() > 0){
        //     update updateRepairList;
        // }
    }
    //先款后修-修理增加先款标识 thh 20220318 end
force-app/main/default/triggers/Repair.trigger
@@ -18,16 +18,18 @@
    //wangweipeng  20210727   end
    if ((Trigger.isAfter && Trigger.isInsert) || (Trigger.isAfter && Trigger.isUpdate) || (Trigger.isAfter && Trigger.isDelete)) {
        if(!(System.isFuture()||System.isBatch())){// Add By Lijun 20220303 to avoid mutiple execute
            NFM103Controller.NFM103Trigger(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            NFM603Controller.NFM603Trigger(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            RepairTrigger.UpdateAssert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        NFM103Controller.NFM103Trigger(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        NFM603Controller.NFM603Trigger(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        RepairTrigger.UpdateAssert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
    }
    // ----------------------------------------------------------------------
    // ここより、修理のサービスコントラクト項目を自動的に更新するロジック
    // ----------------------------------------------------------------------
    if ( Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
    if (Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
        //先款后修-修理增加先款标识 thh 20220318 start
        RepairTrigger.AdvancePaymentFlagUpsert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        //先款后修-修理增加先款标识 thh 20220318 end
        // 納入機器IDを一意に格納する Setです。
        Set<ID> assetIds = new Set<Id>();
@@ -68,7 +70,7 @@
            boolean defaultFlag = true;
            //add     wangweipeng               2021/12/09          end
            // 草案中修理だけ更新
             // GZW 特殊处理 跳过维修中心自动赋值,以手选为准 start
            // GZW 特殊处理 跳过维修中心自动赋值,以手选为准 start
            // 判断条件追加   && repair.Exc_work_location__c == false
            if(repair.Exc_work_location__c){
                defaultFlag = false;
@@ -78,7 +80,7 @@
            if ((repair.Status__c == '草案中' || String.isBlank(repair.Status__c)) == false) {
                // if (Trigger.isUpdate && repair.SAP_Transfer_time__c == null) {
                if (Trigger.isUpdate && repair.SAP_Transfer_time__c == null && repair.Exc_work_location__c == false) {
                    repair = RepairTrigger.updateWorkLocationSelect(repair, null);
                    defaultFlag = false;
                }
@@ -272,16 +274,12 @@
                //迁移进程生成器中repair Alltime功能       End
                /****************************************************************************************************/
            }
        }
        //先款后修-修理增加先款标识 thh 20220318 start
        RepairTrigger.AdvancePaymentFlagUpsert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        //先款后修-修理增加先款标识 thh 20220318 end
        }
    }
    // ----------------------------------------------------------------------
    // ここまで、サービスコントラクト項目を自動的に更新するロジック
    // ----------------------------------------------------------------------
    // ----------------------------------------------------------------------
    // これより、On-Callの「On-Call跟进结果」を更新するロジック