From fb04e7c01d119c60632b4298d18fd93f3ccb3d79 Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期三, 06 四月 2022 10:32:05 +0800
Subject: [PATCH] 20220405DeployProduction

---
 force-app/main/default/triggers/Repair.trigger | 1301 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 976 insertions(+), 325 deletions(-)

diff --git a/force-app/main/default/triggers/Repair.trigger b/force-app/main/default/triggers/Repair.trigger
index cc50c6d..af40fcd 100644
--- a/force-app/main/default/triggers/Repair.trigger
+++ b/force-app/main/default/triggers/Repair.trigger
@@ -1,358 +1,1009 @@
 trigger Repair on Repair__c (before insert, after insert, before update, after update, after delete, before delete) {
-    RepairHandler handler = new RepairHandler();
-    handler.run();
-    System.debug( '-----: trigger start');
-    if ( Trigger.isBefore && Trigger.isUpdate) {
-        RepairTrigger.CheckUpdate(Trigger.old, Trigger.newMap);
-    }
-
-    // ----------------------------------------------------------------------
-    // wangweipeng  20210727   start
-    // 鏂板淇悊鏃讹紝濡傛灉鐩磋繑鏀惰揣鍦板潃鐨勪俊鎭兘涓虹┖锛岄偅涔堝氨鏍规嵁鍖婚櫌鐨� OCSM绠$悊鐪�(鏂囨湰) 瀛楁鏉ュ尮閰嶅湴鍧�琛ㄩ噷 鐪佸拰甯傚瓧娈�
-    // 濡傛灉鑳藉尮閰嶅埌閭d箞榛樿鏄繖鏉℃柊澧炵殑淇悊鏀惰揣鍦板潃
-    // ----------------------------------------------------------------------
-    if ( Trigger.isBefore && Trigger.isInsert) {
-        RepairBeforeInsertHandler ribt = new RepairBeforeInsertHandler();
-        ribt.beforeInsertValue(Trigger.new,Trigger.old);
-    }
-    //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);
-        // }
-    }
-    // ----------------------------------------------------------------------
-    // 銇撱亾銈堛倞銆佷慨鐞嗐伄銈点兗銉撱偣銈炽兂銉堛儵銈儓闋呯洰銈掕嚜鍕曠殑銇洿鏂般仚銈嬨儹銈搞儍銈�
-    // ----------------------------------------------------------------------
-    if ( Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
-         //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220322 start
-         RepairTrigger.AdvancePaymentFlagUpsert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
-         //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220322 end
-
-        // 绱嶅叆姗熷櫒ID銈掍竴鎰忋伀鏍肩磵銇欍倠 Set銇с仚銆�
-        Set<ID> assetIds = new Set<Id>();
-
-        // 绱嶅叆姗熷櫒銇竴鎰忋伄ID銈掑緱銈�
-        for ( Repair__c repair : Trigger.New) {
-            if (String.isBlank(repair.Delivered_Product__c) == false) assetIds.add( repair.Delivered_Product__c);
+    if(Test.isRunningTest()||UserInfo.getUserId()!=System.Label.ByPassTrigger){
+        RepairHandler handler = new RepairHandler();
+        handler.run();
+        System.debug( '-----: trigger start');
+        test();
+        if ( Trigger.isBefore && Trigger.isUpdate) {
+            RepairTrigger.CheckUpdate(Trigger.old, Trigger.newMap);
         }
 
-        // 鏈夊姽銇偟銉笺儞銈瑰绱勩伄 Map銈掑緱銈�
-        // arg1銇磵鍏ユ鍣ㄣ伄ID, arg2銇磵鍏ユ鍣ㄣ伄ID銇偟銉笺儞銈瑰绱勪竴瑕�
-        // 鍖哄垎铏氭嫙缁翠慨鍚堝悓鍜屾甯哥淮淇悎鍚�
-        // 姝e父缁翠慨鍚堝悓淇濇湁璁惧闆嗗悎
-        Map<Id, List<Maintenance_Contract_Asset__c>> effectiveContracts = new Map<Id, List<Maintenance_Contract_Asset__c>>();
-        // 铏氭嫙缁翠慨鍚堝悓淇濇湁璁惧闆嗗悎
-        Map<Id, List<Maintenance_Contract_Asset__c>> effectiveContractsVM = new Map<Id, List<Maintenance_Contract_Asset__c>>();
-        List<Maintenance_Contract_Asset__c> contracts = OncallFinalStatusManager.selectMaintenance_Contract_Asset_List(assetIds);
-        for (Maintenance_Contract_Asset__c local : contracts) {
-            if (local.Maintenance_Contract__r.RecordType.DeveloperName == 'VM_Contract') {
-                List<Maintenance_Contract_Asset__c> middleTableVMList = effectiveContractsVM.get(local.Asset__c);
-                if (middleTableVMList == null) {
-                    middleTableVMList = new List<Maintenance_Contract_Asset__c>();
-                    effectiveContractsVM.put(local.Asset__c, middleTableVMList);
-                }
-                middleTableVMList.add(local);
-            } else {
-                List<Maintenance_Contract_Asset__c> middleTableList = effectiveContracts.get(local.Asset__c);
-                if (middleTableList == null) {
-                    middleTableList = new List<Maintenance_Contract_Asset__c>();
-                    effectiveContracts.put(local.Asset__c, middleTableList);
-                }
-                middleTableList.add(local);
-            }
+        // ----------------------------------------------------------------------
+        // wangweipeng  20210727   start
+        // 鏂板淇悊鏃讹紝濡傛灉鐩磋繑鏀惰揣鍦板潃鐨勪俊鎭兘涓虹┖锛岄偅涔堝氨鏍规嵁鍖婚櫌鐨� OCSM绠$悊鐪�(鏂囨湰) 瀛楁鏉ュ尮閰嶅湴鍧�琛ㄩ噷 鐪佸拰甯傚瓧娈�
+        // 濡傛灉鑳藉尮閰嶅埌閭d箞榛樿鏄繖鏉℃柊澧炵殑淇悊鏀惰揣鍦板潃
+        // ----------------------------------------------------------------------
+        if ( Trigger.isBefore && Trigger.isInsert) {
+            RepairBeforeInsertHandler ribt = new RepairBeforeInsertHandler();
+            ribt.beforeInsertValue(Trigger.new,Trigger.old);
         }
-        System.debug( '-----: 缁翠慨鍚堝悓寮�濮�');
-        // 鏈銇儹銈搞儍銈�
-        for ( Repair__c repair : Trigger.New) {
-            //add     wangweipeng               2021/12/09          start
-            boolean defaultFlag = true;
-            //add     wangweipeng               2021/12/09          end
-            // 鑽夋涓慨鐞嗐仩銇戞洿鏂�
-             // GZW 鐗规畩澶勭悊 璺宠繃缁翠慨涓績鑷姩璧嬪�硷紝浠ユ墜閫変负鍑� start
-            // 鍒ゆ柇鏉′欢杩藉姞   && repair.Exc_work_location__c == false
-            if(repair.Exc_work_location__c){
-                defaultFlag = false;
+        //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);
+            // }
+        }
+        // ----------------------------------------------------------------------
+        // 銇撱亾銈堛倞銆佷慨鐞嗐伄銈点兗銉撱偣銈炽兂銉堛儵銈儓闋呯洰銈掕嚜鍕曠殑銇洿鏂般仚銈嬨儹銈搞儍銈�
+        // ----------------------------------------------------------------------
+        if ( Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
+            //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220322 start
+            RepairTrigger.AdvancePaymentFlagUpsert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+            //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220322 end
+
+            // 绱嶅叆姗熷櫒ID銈掍竴鎰忋伀鏍肩磵銇欍倠 Set銇с仚銆�
+            Set<ID> assetIds = new Set<Id>();
+
+            // 绱嶅叆姗熷櫒銇竴鎰忋伄ID銈掑緱銈�
+            for ( Repair__c repair : Trigger.New) {
+                if (String.isBlank(repair.Delivered_Product__c) == false) assetIds.add( repair.Delivered_Product__c);
             }
-            // GZW 鐗规畩澶勭悊 璺宠繃缁翠慨涓績鑷姩璧嬪�硷紝浠ユ墜閫変负鍑� start
 
-            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;
-                }
-                continue;
-            }
-            System.debug( '-----:鑷姩甯﹀嚭缁翠慨鍚堝悓');
-            // 淇悊銇�屾晠闅滅櫤鐢熸棩銆嶃亴銆併偟銉笺儞銈瑰绱勩伄銆屽绱勯枊濮嬫棩銆嶃�溿�屽绱勭祩浜嗘棩銆嶃伀鍚伨銈屻倠銇嬶紵
-            List<Maintenance_Contract_Asset__c> middleTableList = effectiveContracts.get(repair.Delivered_Product__c);
-
-            Boolean needsetnull = true;
-            System.debug( '-----:鑷姩甯﹀嚭缁翠慨鍚堝悓11111' + middleTableList);
-            // if (middleTableList == null) {
-            if (middleTableList == null  && repair.Exc_work_location__c == false) {
-                if ((repair.NewProductGuarante_Txt__c == '2: 澶氬勾淇濅慨'
-                        || repair.NewProductGuarante_Txt__c == '2: 鏈嶅姟澶氬勾淇濅慨'
-                        || repair.NewProductGuarante_Txt__c == '8: 甯傚満澶氬勾淇濅慨')
-                        && (repair.Sales_Branch__c != repair.Finance_of_Branch__c) && repair.SAP_Transfer_time__c == null) {
-                    repair = RepairTrigger.updateWorkLocationSelect(repair, null);
-                    defaultFlag = false;
+            // 鏈夊姽銇偟銉笺儞銈瑰绱勩伄 Map銈掑緱銈�
+            // arg1銇磵鍏ユ鍣ㄣ伄ID, arg2銇磵鍏ユ鍣ㄣ伄ID銇偟銉笺儞銈瑰绱勪竴瑕�
+            // 鍖哄垎铏氭嫙缁翠慨鍚堝悓鍜屾甯哥淮淇悎鍚�
+            // 姝e父缁翠慨鍚堝悓淇濇湁璁惧闆嗗悎
+            Map<Id, List<Maintenance_Contract_Asset__c>> effectiveContracts = new Map<Id, List<Maintenance_Contract_Asset__c>>();
+            // 铏氭嫙缁翠慨鍚堝悓淇濇湁璁惧闆嗗悎
+            Map<Id, List<Maintenance_Contract_Asset__c>> effectiveContractsVM = new Map<Id, List<Maintenance_Contract_Asset__c>>();
+            List<Maintenance_Contract_Asset__c> contracts = OncallFinalStatusManager.selectMaintenance_Contract_Asset_List(assetIds);
+            for (Maintenance_Contract_Asset__c local : contracts) {
+                if (local.Maintenance_Contract__r.RecordType.DeveloperName == 'VM_Contract') {
+                    List<Maintenance_Contract_Asset__c> middleTableVMList = effectiveContractsVM.get(local.Asset__c);
+                    if (middleTableVMList == null) {
+                        middleTableVMList = new List<Maintenance_Contract_Asset__c>();
+                        effectiveContractsVM.put(local.Asset__c, middleTableVMList);
+                    }
+                    middleTableVMList.add(local);
+                } else {
+                    List<Maintenance_Contract_Asset__c> middleTableList = effectiveContracts.get(local.Asset__c);
+                    if (middleTableList == null) {
+                        middleTableList = new List<Maintenance_Contract_Asset__c>();
+                        effectiveContracts.put(local.Asset__c, middleTableList);
+                    }
+                    middleTableList.add(local);
                 }
             }
-            if (middleTableList != null) for (Maintenance_Contract_Asset__c middleTable : middleTableList) {
-                    if (repair.SERVICE_CONTRACT_JUDEGE_DAY__C != null
-                            && repair.SERVICE_CONTRACT_JUDEGE_DAY__C >= middleTable.Maintenance_Contract__r.Contract_Start_Date__c
-                            && repair.SERVICE_CONTRACT_JUDEGE_DAY__C <= middleTable.Maintenance_Contract__r.Contract_End_Date__c
-                            && middleTable != null
-                            && middleTable.Maintenance_Contract__r.Status__c == '濂戠磩'
-                            && middleTable.Maintenance_Contract__r.Contract_Start_Date__c != null
-                            && middleTable.Maintenance_Contract__r.Contract_End_Date__c != null
-                       ) {
-                        //闄愭鍚堝悓浜у搧淇℃伅缁存姢鐩稿叧 FXK 2021/03/05 Start
-                        //1.濡傛灉璁板綍绫诲瀷鏄淮淇悎鍚� 鎴栬�� 璁板綍绫诲瀷鏄湇鍔′换鍔′絾涓嶆槸URF闄愭鍚堝悓锛屼繚鎸佺幇鐘�
-                        //濡傛灉鏈�澶уぇ淇鏁板ぇ浜�0锛屽苟涓斿凡缁忓ぇ淇鏁� 灏忎簬 鏈�澶уぇ淇鏁帮紝閭d箞淇濇寔鐜扮姸
-                        if (middleTable.Maintenance_Contract__r.RecordType.DeveloperName == 'Maintenance_Contract'
-                                || (middleTable.Maintenance_Contract__r.RecordType.DeveloperName == 'NewMaintenance_Contract'
-                                    && (middleTable.Maintenance_Contract__r.URF_Contract__c != true
-                                        || (middleTable.Maintenance_Contract__r.URF_Contract__c == true
-                                            && (middleTable.Series_MaxRepairCount_F__c > 0
-                                                && middleTable.Series_RepairCount_F__c < middleTable.Series_MaxRepairCount_F__c))))) {
-                            repair.Maintenance_Contract__c = middleTable.Maintenance_Contract__c;
-                            // repair.Contract_Principal_Office__c = middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c;
-                            // system.debug('555555:' + middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c);
-                            // system.debug('mmmmmmmm:' + Trigger.isInsert);
-                            // system.debug('nnnnnnn:' + Trigger.isUpdate);
-                            repair.repairPlace__c = middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c;
-                            //鏂板閫昏緫 HWAG-BKP5FB 绮剧悽绉戞妧 2020/03/19 Start
-                            //wangweipeng   鍙戠敓鏁版嵁鍒癝AP浠ュ悗锛屼慨鐞嗙殑缁翠慨涓績涓嶈兘鍋氫慨鏀�
-                            // if(repair.SAP_Transfer_time__c == null){
-                            if(repair.SAP_Transfer_time__c == null  && repair.Exc_work_location__c == false){
-                                repair = RepairTrigger.updateWorkLocationSelect(repair, middleTable);    
+            System.debug( '-----: 缁翠慨鍚堝悓寮�濮�');
+            // 鏈銇儹銈搞儍銈�
+            for ( Repair__c repair : Trigger.New) {
+                //add     wangweipeng               2021/12/09          start
+                boolean defaultFlag = true;
+                //add     wangweipeng               2021/12/09          end
+                // 鑽夋涓慨鐞嗐仩銇戞洿鏂�
+                // GZW 鐗规畩澶勭悊 璺宠繃缁翠慨涓績鑷姩璧嬪�硷紝浠ユ墜閫変负鍑� start
+                // 鍒ゆ柇鏉′欢杩藉姞   && repair.Exc_work_location__c == false
+                if(repair.Exc_work_location__c){
+                    defaultFlag = false;
+                }
+                // GZW 鐗规畩澶勭悊 璺宠繃缁翠慨涓績鑷姩璧嬪�硷紝浠ユ墜閫変负鍑� start
+
+                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;
+                    }
+                    continue;
+                }
+                System.debug( '-----:鑷姩甯﹀嚭缁翠慨鍚堝悓');
+                // 淇悊銇�屾晠闅滅櫤鐢熸棩銆嶃亴銆併偟銉笺儞銈瑰绱勩伄銆屽绱勯枊濮嬫棩銆嶃�溿�屽绱勭祩浜嗘棩銆嶃伀鍚伨銈屻倠銇嬶紵
+                List<Maintenance_Contract_Asset__c> middleTableList = effectiveContracts.get(repair.Delivered_Product__c);
+
+                Boolean needsetnull = true;
+                System.debug( '-----:鑷姩甯﹀嚭缁翠慨鍚堝悓11111' + middleTableList);
+                // if (middleTableList == null) {
+                if (middleTableList == null  && repair.Exc_work_location__c == false) {
+                    if ((repair.NewProductGuarante_Txt__c == '2: 澶氬勾淇濅慨'
+                            || repair.NewProductGuarante_Txt__c == '2: 鏈嶅姟澶氬勾淇濅慨'
+                            || repair.NewProductGuarante_Txt__c == '8: 甯傚満澶氬勾淇濅慨')
+                            && (repair.Sales_Branch__c != repair.Finance_of_Branch__c) && repair.SAP_Transfer_time__c == null) {
+                        repair = RepairTrigger.updateWorkLocationSelect(repair, null);
+                        defaultFlag = false;
+                    }
+                }
+                if (middleTableList != null) for (Maintenance_Contract_Asset__c middleTable : middleTableList) {
+                        if (repair.SERVICE_CONTRACT_JUDEGE_DAY__C != null
+                                && repair.SERVICE_CONTRACT_JUDEGE_DAY__C >= middleTable.Maintenance_Contract__r.Contract_Start_Date__c
+                                && repair.SERVICE_CONTRACT_JUDEGE_DAY__C <= middleTable.Maintenance_Contract__r.Contract_End_Date__c
+                                && middleTable != null
+                                && middleTable.Maintenance_Contract__r.Status__c == '濂戠磩'
+                                && middleTable.Maintenance_Contract__r.Contract_Start_Date__c != null
+                                && middleTable.Maintenance_Contract__r.Contract_End_Date__c != null
+                        ) {
+                            //闄愭鍚堝悓浜у搧淇℃伅缁存姢鐩稿叧 FXK 2021/03/05 Start
+                            //1.濡傛灉璁板綍绫诲瀷鏄淮淇悎鍚� 鎴栬�� 璁板綍绫诲瀷鏄湇鍔′换鍔′絾涓嶆槸URF闄愭鍚堝悓锛屼繚鎸佺幇鐘�
+                            //濡傛灉鏈�澶уぇ淇鏁板ぇ浜�0锛屽苟涓斿凡缁忓ぇ淇鏁� 灏忎簬 鏈�澶уぇ淇鏁帮紝閭d箞淇濇寔鐜扮姸
+                            if (middleTable.Maintenance_Contract__r.RecordType.DeveloperName == 'Maintenance_Contract'
+                                    || (middleTable.Maintenance_Contract__r.RecordType.DeveloperName == 'NewMaintenance_Contract'
+                                        && (middleTable.Maintenance_Contract__r.URF_Contract__c != true
+                                            || (middleTable.Maintenance_Contract__r.URF_Contract__c == true
+                                                && (middleTable.Series_MaxRepairCount_F__c > 0
+                                                    && middleTable.Series_RepairCount_F__c < middleTable.Series_MaxRepairCount_F__c))))) {
+                                repair.Maintenance_Contract__c = middleTable.Maintenance_Contract__c;
+                                // repair.Contract_Principal_Office__c = middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c;
+                                // system.debug('555555:' + middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c);
+                                // system.debug('mmmmmmmm:' + Trigger.isInsert);
+                                // system.debug('nnnnnnn:' + Trigger.isUpdate);
+                                repair.repairPlace__c = middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c;
+                                //鏂板閫昏緫 HWAG-BKP5FB 绮剧悽绉戞妧 2020/03/19 Start
+                                //wangweipeng   鍙戠敓鏁版嵁鍒癝AP浠ュ悗锛屼慨鐞嗙殑缁翠慨涓績涓嶈兘鍋氫慨鏀�
+                                // if(repair.SAP_Transfer_time__c == null){
+                                if(repair.SAP_Transfer_time__c == null  && repair.Exc_work_location__c == false){
+                                    repair = RepairTrigger.updateWorkLocationSelect(repair, middleTable);    
+                                    defaultFlag = false;
+                                }
+                                // 鏂板閫昏緫 HWAG-BKP5FB 绮剧悽绉戞妧 2020/03/19 End
+                                // HWAG-BJABEY LHJ 2019/12/04 Start
+                                repair.MaintenanceContractType__c = middleTable.Maintenance_Contract__r.RecordType.Name;
+                                // HWAG-BJABEY LHJ 2019/12/04 End
+                            }
+                            //2.濡傛灉璁板綍绫诲瀷鏄湇鍔′换鍔″苟涓旀槸URF闄愭鍚堝悓锛屽鏋滄渶澶уぇ淇鏁颁负0鎴栬�呯┖锛岄偅涔堢洿鎺dd Error鎶ラ敊 璁╄仈绯绘湇鍔$鐞嗛儴锛�
+                            if (middleTable.Maintenance_Contract__r.RecordType.DeveloperName == 'NewMaintenance_Contract'
+                                    && middleTable.Maintenance_Contract__r.URF_Contract__c == true) {
+                                if (middleTable.Series_MaxRepairCount_F__c == 0 || middleTable.Series_MaxRepairCount_F__c == null) {
+                                    //鐩存帴add Error鎶ラ敊 璁╄仈绯绘湇鍔$鐞嗛儴
+                                    repair.addError('淇悊璁惧涓嶆槸闄愭璁惧锛岃鑱旂郴鏈嶅姟绠$悊閮�');
+                                }
+                                //濡傛灉鏈�澶уぇ淇鏁板ぇ浜�0锛屽苟涓斿凡缁忓ぇ淇鏁� 澶т簬鎴栫瓑浜� 鏈�澶уぇ淇鏁帮紝閭d箞涓嶄粎涓嶈祴鍊肩淮淇悎鍚屼俊鎭紝鑰屼笖娓呯┖褰撳墠淇℃伅
+                                if (middleTable.Series_MaxRepairCount_F__c > 0 && middleTable.Series_RepairCount_F__c >= middleTable.Series_MaxRepairCount_F__c) {
+                                    //涓嶈祴鍊肩淮淇悎鍚屼俊鎭紝鑰屼笖娓呯┖褰撳墠淇℃伅
+                                    repair.Maintenance_Contract__c = null;
+                                    repair.MaintenanceContractType__c = null;
+                                }
+                            }
+                            //闄愭鍚堝悓浜у搧淇℃伅缁存姢鐩稿叧 FXK 2021/03/05 END
+                            needsetnull = false;
+                            System.debug( '-----:鑷姩甯﹀嚭缁翠慨鍚堝悓22222');//鎶婁繚鏈夎澶囦笂鐨勭淮淇悎鍚屽瓨鍒颁慨鐞嗕笂
+                            break;
+                        }
+                    }
+                //MaintenanceContractType__c:缁翠慨鍚堝悓璁板綍绫诲瀷
+                /*濡傛灉涓嶅湪鍚堝悓涓紝鍒欏皢1.鈥樹慨鐞嗏�欎腑鐨勨�樼淮淇悎鍚屸�欏拰鈥樹慨鐞嗏�欎腑鐨勨�樼淮淇悎鍚岃褰曠被鍨嬧�欐竻绌�*/
+                if (needsetnull) {
+                    System.debug( '-----:null銇仜銈�');
+                    repair.Maintenance_Contract__c = null;
+                    repair.MaintenanceContractType__c = null;
+                }
+
+                System.debug( '-----: repair=' + repair);
+                System.debug( '-----: repair.Maintenance_Contract__c=' + repair.Maintenance_Contract__c);
+                System.debug( '-----: repair.SERVICE_CONTRACT_JUDEGE_DAY__C=' + repair.SERVICE_CONTRACT_JUDEGE_DAY__C);
+                // 璁惧淇悊鏃讹紝鑷姩甯﹀嚭铏氭嫙缁翠慨鍚堝悓
+                List<Maintenance_Contract_Asset__c> middleTableVMList = effectiveContractsVM.get(repair.Delivered_Product__c);
+                // Boolean needsetnull = true;
+                System.debug( '-----:鑷姩甯﹀嚭铏氭嫙缁翠慨鍚堝悓');
+                System.debug( '-----:鑷姩甯﹀嚭铏氭嫙缁翠慨鍚堝悓' + middleTableVMList);
+                // if (middleTableVMList == null) {
+                if (middleTableVMList == null  && repair.Exc_work_location__c == false) {
+                    if ((repair.NewProductGuarante_Txt__c == '2: 澶氬勾淇濅慨'
+                            || repair.NewProductGuarante_Txt__c == '2: 鏈嶅姟澶氬勾淇濅慨'
+                            || repair.NewProductGuarante_Txt__c == '8: 甯傚満澶氬勾淇濅慨')
+                            && (repair.Sales_Branch__c != repair.Finance_of_Branch__c)) {
+                        repair = RepairTrigger.updateWorkLocationSelect(repair, null);
+                        defaultFlag = false;
+                    }
+                }
+                if (middleTableVMList != null) for (Maintenance_Contract_Asset__c middleTable : middleTableVMList) {
+                        if (repair.SERVICE_CONTRACT_JUDEGE_DAY__C != null
+                                && repair.SERVICE_CONTRACT_JUDEGE_DAY__C >= middleTable.startDateGurantee_Text__c
+                                && repair.SERVICE_CONTRACT_JUDEGE_DAY__C <= middleTable.endDateGurantee_Text__c
+                                && middleTable != null
+                                && middleTable.Maintenance_Contract__r.Status__c == '濂戠磩'
+                                && middleTable.startDateGurantee_Text__c != null
+                                && middleTable.endDateGurantee_Text__c != null
+                        ) {
+                            repair.VM_Maintenance_Contract__c = middleTable.Maintenance_Contract__c;
+                            needsetnull = false;
+                            //鏂板閫昏緫 SLIU-BMMDWK 绮剧悽绉戞妧 2020/03/17 Start
+                            // if (repair.VM_Maintenance_Contract__c != null) {
+                            if (repair.VM_Maintenance_Contract__c != null  && repair.Exc_work_location__c == false) {
+                                repair = RepairTrigger.updateWorkLocationSelect(repair, middleTable);
                                 defaultFlag = false;
                             }
-                            // 鏂板閫昏緫 HWAG-BKP5FB 绮剧悽绉戞妧 2020/03/19 End
-                            // HWAG-BJABEY LHJ 2019/12/04 Start
-                            repair.MaintenanceContractType__c = middleTable.Maintenance_Contract__r.RecordType.Name;
-                            // HWAG-BJABEY LHJ 2019/12/04 End
+                            // 鏂板閫昏緫 SLIU-BMMDWK 绮剧悽绉戞妧 2020/03/17 End
+                            break;
                         }
-                        //2.濡傛灉璁板綍绫诲瀷鏄湇鍔′换鍔″苟涓旀槸URF闄愭鍚堝悓锛屽鏋滄渶澶уぇ淇鏁颁负0鎴栬�呯┖锛岄偅涔堢洿鎺dd Error鎶ラ敊 璁╄仈绯绘湇鍔$鐞嗛儴锛�
-                        if (middleTable.Maintenance_Contract__r.RecordType.DeveloperName == 'NewMaintenance_Contract'
-                                && middleTable.Maintenance_Contract__r.URF_Contract__c == true) {
-                            if (middleTable.Series_MaxRepairCount_F__c == 0 || middleTable.Series_MaxRepairCount_F__c == null) {
-                                //鐩存帴add Error鎶ラ敊 璁╄仈绯绘湇鍔$鐞嗛儴
-                                repair.addError('淇悊璁惧涓嶆槸闄愭璁惧锛岃鑱旂郴鏈嶅姟绠$悊閮�');
-                            }
-                            //濡傛灉鏈�澶уぇ淇鏁板ぇ浜�0锛屽苟涓斿凡缁忓ぇ淇鏁� 澶т簬鎴栫瓑浜� 鏈�澶уぇ淇鏁帮紝閭d箞涓嶄粎涓嶈祴鍊肩淮淇悎鍚屼俊鎭紝鑰屼笖娓呯┖褰撳墠淇℃伅
-                            if (middleTable.Series_MaxRepairCount_F__c > 0 && middleTable.Series_RepairCount_F__c >= middleTable.Series_MaxRepairCount_F__c) {
-                                //涓嶈祴鍊肩淮淇悎鍚屼俊鎭紝鑰屼笖娓呯┖褰撳墠淇℃伅
-                                repair.Maintenance_Contract__c = null;
-                                repair.MaintenanceContractType__c = null;
-                            }
+                    }
+                if (needsetnull) {
+                    System.debug( '-----:null銇仜銈�');
+                    repair.VM_Maintenance_Contract__c = null;
+                }
+
+                //add     wangweipeng             2021/12/10                start
+                if(defaultFlag){
+                    //涓�鑸慨鐞嗗搧鐨勭淮淇腑蹇冭祴鍊奸�昏緫
+                    //SAP涓婁紶淇悊鏃堕棿
+                    if(repair.SAP_Transfer_time__c == null){
+                        if(repair.On_site_repair__c == 'RC淇悊'||repair.On_site_repair__c== '鐩撮�丼ORC淇悊'||repair.On_site_repair__c== '鐩撮�丱GZ淇悊' ){
+                            System.debug('-----------------11------');
+                            repair = RepairTrigger.generalUpdateWorkLocationSelect(repair);
                         }
-                        //闄愭鍚堝悓浜у搧淇℃伅缁存姢鐩稿叧 FXK 2021/03/05 END
-                        needsetnull = false;
-                        System.debug( '-----:鑷姩甯﹀嚭缁翠慨鍚堝悓22222');//鎶婁繚鏈夎澶囦笂鐨勭淮淇悎鍚屽瓨鍒颁慨鐞嗕笂
-                        break;
                     }
                 }
-            //MaintenanceContractType__c:缁翠慨鍚堝悓璁板綍绫诲瀷
-            /*濡傛灉涓嶅湪鍚堝悓涓紝鍒欏皢1.鈥樹慨鐞嗏�欎腑鐨勨�樼淮淇悎鍚屸�欏拰鈥樹慨鐞嗏�欎腑鐨勨�樼淮淇悎鍚岃褰曠被鍨嬧�欐竻绌�*/
-            if (needsetnull) {
-                System.debug( '-----:null銇仜銈�');
-                repair.Maintenance_Contract__c = null;
-                repair.MaintenanceContractType__c = null;
+                //add     wangweipeng             2021/12/10                end
             }
 
-            System.debug( '-----: repair=' + repair);
-            System.debug( '-----: repair.Maintenance_Contract__c=' + repair.Maintenance_Contract__c);
-            System.debug( '-----: repair.SERVICE_CONTRACT_JUDEGE_DAY__C=' + repair.SERVICE_CONTRACT_JUDEGE_DAY__C);
-            // 璁惧淇悊鏃讹紝鑷姩甯﹀嚭铏氭嫙缁翠慨鍚堝悓
-            List<Maintenance_Contract_Asset__c> middleTableVMList = effectiveContractsVM.get(repair.Delivered_Product__c);
-            // Boolean needsetnull = true;
-            System.debug( '-----:鑷姩甯﹀嚭铏氭嫙缁翠慨鍚堝悓');
-            System.debug( '-----:鑷姩甯﹀嚭铏氭嫙缁翠慨鍚堝悓' + middleTableVMList);
-            // if (middleTableVMList == null) {
-            if (middleTableVMList == null  && repair.Exc_work_location__c == false) {
-                if ((repair.NewProductGuarante_Txt__c == '2: 澶氬勾淇濅慨'
-                        || repair.NewProductGuarante_Txt__c == '2: 鏈嶅姟澶氬勾淇濅慨'
-                        || repair.NewProductGuarante_Txt__c == '8: 甯傚満澶氬勾淇濅慨')
-                        && (repair.Sales_Branch__c != repair.Finance_of_Branch__c)) {
-                    repair = RepairTrigger.updateWorkLocationSelect(repair, null);
-                    defaultFlag = false;
-                }
-            }
-            if (middleTableVMList != null) for (Maintenance_Contract_Asset__c middleTable : middleTableVMList) {
-                    if (repair.SERVICE_CONTRACT_JUDEGE_DAY__C != null
-                            && repair.SERVICE_CONTRACT_JUDEGE_DAY__C >= middleTable.startDateGurantee_Text__c
-                            && repair.SERVICE_CONTRACT_JUDEGE_DAY__C <= middleTable.endDateGurantee_Text__c
-                            && middleTable != null
-                            && middleTable.Maintenance_Contract__r.Status__c == '濂戠磩'
-                            && middleTable.startDateGurantee_Text__c != null
-                            && middleTable.endDateGurantee_Text__c != null
-                       ) {
-                        repair.VM_Maintenance_Contract__c = middleTable.Maintenance_Contract__c;
-                        needsetnull = false;
-                        //鏂板閫昏緫 SLIU-BMMDWK 绮剧悽绉戞妧 2020/03/17 Start
-                        // if (repair.VM_Maintenance_Contract__c != null) {
-                        if (repair.VM_Maintenance_Contract__c != null  && repair.Exc_work_location__c == false) {
-                            repair = RepairTrigger.updateWorkLocationSelect(repair, middleTable);
-                            defaultFlag = false;
-                        }
-                        // 鏂板閫昏緫 SLIU-BMMDWK 绮剧悽绉戞妧 2020/03/17 End
-                        break;
-                    }
-                }
-            if (needsetnull) {
-                System.debug( '-----:null銇仜銈�');
-                repair.VM_Maintenance_Contract__c = null;
-            }
+            System.debug( '-----: 缁翠慨鍚堝悓缁撴潫');
 
-            //add     wangweipeng             2021/12/10                start
-            if(defaultFlag){
-                //涓�鑸慨鐞嗗搧鐨勭淮淇腑蹇冭祴鍊奸�昏緫
-                //SAP涓婁紶淇悊鏃堕棿
-                if(repair.SAP_Transfer_time__c == null){
-                    if(repair.On_site_repair__c == 'RC淇悊'||repair.On_site_repair__c== '鐩撮�丼ORC淇悊'||repair.On_site_repair__c== '鐩撮�丱GZ淇悊' ){
-                        System.debug('-----------------11------');
-                        repair = RepairTrigger.generalUpdateWorkLocationSelect(repair);
-                    }
-                }
-            }
-            //add     wangweipeng             2021/12/10                end
-        }
-
-        System.debug( '-----: 缁翠慨鍚堝悓缁撴潫');
-
-        // 20160727 add 璁$畻淇悊宸ヤ綔鏃�
-        RepairTrigger.setRepairWorkday(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
-        //
-        if (Trigger.isUpdate) {
-            /****************************************************************************************************/
-            //杩佺Щ杩涚▼鐢熸垚鍣ㄤ腑repair Alltime鍔熻兘       Start
-            /****************************************************************************************************/
-            for (Repair__c a : Trigger.new) {
-                String StatusStr = '';
-                if (a.Delete_Flag__c == true) {
-                    StatusStr = '0.鍒犻櫎';
-                } else if (a.RepairOrderStatusCode__c == 'A99' && a.IncorrectDataComment__c != null) {
-                    StatusStr = '0.鍒犻櫎';
-                } else if ((a.RepairOrderStatusCode__c == 'A95' || a.RepairOrderStatusCode__c == 'A96')
-                           && a.Return_Without_Repair_IF__c == true) {
-                    StatusStr = '0.鍙栨秷';
-                } else if (a.Finish_Check__c == 1) {
-                    StatusStr = '5.瀹屾瘯';
-                } else if (a.Facility_Return_Receipt_Collection_Date__c != null
-                           || a.Repair_Returned_To_HP_Date__c != null
-                           || a.Repair_Shipped_Date__c  != null) {
-                    StatusStr = '4.淇悊鍝佽繑閫侀樁娈�';
-                } else if (a.Repair_Final_Inspection_Date__c != null
-                           || a.Repair_Completed_Date__c != null
-                           || a.Repair_Start_Date__c != null) {
-                    StatusStr = '3.缁翠慨闃舵';
-                } else if (a.Agreed_Date__c != null
-                           || a.Repair_Discount_Date__c  != null
-                           || a.Repair_Estimated_Date__c  != null
-                           || a.Repair_Inspection_Date__c  != null) {
-                    StatusStr = '2.缁翠慨鎶ヤ环闃舵';
-                } else {
-                    StatusStr = a.Status__c;
-                }
-
-                a.Status__c = a.Status1__c;
-                // DOJ2.1 gzw AwareDate鍏紡鑰冩枃鏈� start
-                if (a.AwareDate__c != a.Aware_date__c && 
-                    (a.Aware_date__c >= Date.newInstance(2021, 9, 1) || 
-                    a.AwareDate__c >= Date.newInstance(2021, 9, 1) )) {
-                    a.Aware_date__c = a.AwareDate__c;
-                }
-                // DOJ2.1 gzw AwareDate鍏紡鑰冩枃鏈� end
-
+            // 20160727 add 璁$畻淇悊宸ヤ綔鏃�
+            RepairTrigger.setRepairWorkday(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+            //
+            if (Trigger.isUpdate) {
                 /****************************************************************************************************/
-                //杩佺Щ杩涚▼鐢熸垚鍣ㄤ腑repair Alltime鍔熻兘       End
+                //杩佺Щ杩涚▼鐢熸垚鍣ㄤ腑repair Alltime鍔熻兘       Start
                 /****************************************************************************************************/
+                for (Repair__c a : Trigger.new) {
+                    String StatusStr = '';
+                    if (a.Delete_Flag__c == true) {
+                        StatusStr = '0.鍒犻櫎';
+                    } else if (a.RepairOrderStatusCode__c == 'A99' && a.IncorrectDataComment__c != null) {
+                        StatusStr = '0.鍒犻櫎';
+                    } else if ((a.RepairOrderStatusCode__c == 'A95' || a.RepairOrderStatusCode__c == 'A96')
+                            && a.Return_Without_Repair_IF__c == true) {
+                        StatusStr = '0.鍙栨秷';
+                    } else if (a.Finish_Check__c == 1) {
+                        StatusStr = '5.瀹屾瘯';
+                    } else if (a.Facility_Return_Receipt_Collection_Date__c != null
+                            || a.Repair_Returned_To_HP_Date__c != null
+                            || a.Repair_Shipped_Date__c  != null) {
+                        StatusStr = '4.淇悊鍝佽繑閫侀樁娈�';
+                    } else if (a.Repair_Final_Inspection_Date__c != null
+                            || a.Repair_Completed_Date__c != null
+                            || a.Repair_Start_Date__c != null) {
+                        StatusStr = '3.缁翠慨闃舵';
+                    } else if (a.Agreed_Date__c != null
+                            || a.Repair_Discount_Date__c  != null
+                            || a.Repair_Estimated_Date__c  != null
+                            || a.Repair_Inspection_Date__c  != null) {
+                        StatusStr = '2.缁翠慨鎶ヤ环闃舵';
+                    } else {
+                        StatusStr = a.Status__c;
+                    }
+
+                    a.Status__c = a.Status1__c;
+                    // DOJ2.1 gzw AwareDate鍏紡鑰冩枃鏈� start
+                    if (a.AwareDate__c != a.Aware_date__c && 
+                        (a.Aware_date__c >= Date.newInstance(2021, 9, 1) || 
+                        a.AwareDate__c >= Date.newInstance(2021, 9, 1) )) {
+                        a.Aware_date__c = a.AwareDate__c;
+                    }
+                    // DOJ2.1 gzw AwareDate鍏紡鑰冩枃鏈� end
+
+                    /****************************************************************************************************/
+                    //杩佺Щ杩涚▼鐢熸垚鍣ㄤ腑repair Alltime鍔熻兘       End
+                    /****************************************************************************************************/
+                }
             }
         }
-    }
-    // ----------------------------------------------------------------------
-    // 銇撱亾銇俱仹銆併偟銉笺儞銈广偝銉炽儓銉┿偗銉堥爡鐩倰鑷嫊鐨勩伀鏇存柊銇欍倠銉偢銉冦偗
-    // ----------------------------------------------------------------------
+        // ----------------------------------------------------------------------
+        // 銇撱亾銇俱仹銆併偟銉笺儞銈广偝銉炽儓銉┿偗銉堥爡鐩倰鑷嫊鐨勩伀鏇存柊銇欍倠銉偢銉冦偗
+        // ----------------------------------------------------------------------
 
 
-    // ----------------------------------------------------------------------
-    // 銇撱倢銈堛倞銆丱n-Call銇�孫n-Call璺熻繘缁撴灉銆嶃倰鏇存柊銇欍倠銉偢銉冦偗
-    // ----------------------------------------------------------------------
+        // ----------------------------------------------------------------------
+        // 銇撱倢銈堛倞銆丱n-Call銇�孫n-Call璺熻繘缁撴灉銆嶃倰鏇存柊銇欍倠銉偢銉冦偗
+        // ----------------------------------------------------------------------
 
-    if ( ( Trigger.isBefore && ( Trigger.isInsert || Trigger.isUpdate)) || ( Trigger.isAfter && Trigger.isDelete)) {
+        if ( ( Trigger.isBefore && ( Trigger.isInsert || Trigger.isUpdate)) || ( Trigger.isAfter && Trigger.isDelete)) {
 
-        // 鍑︾悊瀵捐薄銇ㄣ仾銈嬩慨鐞嗐倰鍏ㄩ儴纰轰繚
-        List<Repair__c> repairs = ( Trigger.isBefore ? Trigger.New : new List<Repair__c>());
-        Set<Id> cncallIds = new Set<Id>();
-        for ( Repair__c repair : ( Trigger.isBefore ? Trigger.New : Trigger.Old)) {
-            if (String.isBlank(repair.On_Call_ID__c) == false) {
-                cncallIds.add( repair.On_Call_ID__c);
+            // 鍑︾悊瀵捐薄銇ㄣ仾銈嬩慨鐞嗐倰鍏ㄩ儴纰轰繚
+            List<Repair__c> repairs = ( Trigger.isBefore ? Trigger.New : new List<Repair__c>());
+            Set<Id> cncallIds = new Set<Id>();
+            for ( Repair__c repair : ( Trigger.isBefore ? Trigger.New : Trigger.Old)) {
+                if (String.isBlank(repair.On_Call_ID__c) == false) {
+                    cncallIds.add( repair.On_Call_ID__c);
+                }
+            }
+
+            // 鍑︾悊瀵捐薄銇ㄣ仾銈嬨偑銉炽偝銉笺儷銈掑叏閮ㄧ⒑淇�
+
+            // 20210622 SQL浼樺寲 Start
+            // List<On_Call__c> oncalls = OncallFinalStatusManager.getOncallList(cncallIds);
+            List<On_Call__c> oncalls = new List<On_Call__c>();
+            if (cncallIds.size() > 0 ) {
+                oncalls = OncallFinalStatusManager.getOncallList(cncallIds);
+            }
+            // 20210622 SQL浼樺寲 End
+
+            if (oncalls.size() > 0) {
+                // 鍑︾悊瀵捐薄銇ㄣ仾銈婹IS銈掑叏閮ㄧ⒑淇�
+                List<QIS_Report__c> qiss = OncallFinalStatusManager.getQisListFronOncalls(oncalls);
+
+                // FinalStatus鏇存柊鍑︾悊
+                OncallFinalStatusManager.setFinalStatus( oncalls, repairs, qiss);
+
+                OncallFinalStatusManager.updOncalls(oncalls);
             }
         }
 
-        // 鍑︾悊瀵捐薄銇ㄣ仾銈嬨偑銉炽偝銉笺儷銈掑叏閮ㄧ⒑淇�
+        // ----------------------------------------------------------------------
+        // 銇撱亾銇俱仹銆丱n-Call銇�孫n-Call璺熻繘缁撴灉銆嶃倰鏇存柊銇欍倠銉偢銉冦偗
+        // ----------------------------------------------------------------------
 
-        // 20210622 SQL浼樺寲 Start
-        // List<On_Call__c> oncalls = OncallFinalStatusManager.getOncallList(cncallIds);
-        List<On_Call__c> oncalls = new List<On_Call__c>();
-        if (cncallIds.size() > 0 ) {
-            oncalls = OncallFinalStatusManager.getOncallList(cncallIds);
-        }
-        // 20210622 SQL浼樺寲 End
-
-        if (oncalls.size() > 0) {
-            // 鍑︾悊瀵捐薄銇ㄣ仾銈婹IS銈掑叏閮ㄧ⒑淇�
-            List<QIS_Report__c> qiss = OncallFinalStatusManager.getQisListFronOncalls(oncalls);
-
-            // FinalStatus鏇存柊鍑︾悊
-            OncallFinalStatusManager.setFinalStatus( oncalls, repairs, qiss);
-
-            OncallFinalStatusManager.updOncalls(oncalls);
-        }
-    }
-
-    // ----------------------------------------------------------------------
-    // 銇撱亾銇俱仹銆丱n-Call銇�孫n-Call璺熻繘缁撴灉銆嶃倰鏇存柊銇欍倠銉偢銉冦偗
-    // ----------------------------------------------------------------------
-
-    // ----------------------------------------------------------------------
-    // 銇撱倢銈堛倞銆佸鍝佸�熷嚭鐢宠銇�屼慨鐞嗘渶缁堟娴嬫棩銆嶃倰鏇存柊銇欍倠銉偢銉冦偗锛堟洿鏂板悗瑙﹀彂WorkFlow锛�
-    // ----------------------------------------------------------------------
-    if (Trigger.isAfter && Trigger.isUpdate) {
-        Map<String, Date> repairDateMap = new Map<String, Date>();
-        List<String> targetRepairList = new List<String>();
-        for (Repair__c repair : Trigger.New) {
-            Repair__c oldRepair = Trigger.OldMap.get(repair.Id);
-            if (oldRepair.Repair_Final_Inspection_Date__c != repair.Repair_Final_Inspection_Date__c) {
-                repairDateMap.put(repair.Id, repair.Repair_Final_Inspection_Date__c);
-                targetRepairList.add(repair.Id);
+        // ----------------------------------------------------------------------
+        // 銇撱倢銈堛倞銆佸鍝佸�熷嚭鐢宠銇�屼慨鐞嗘渶缁堟娴嬫棩銆嶃倰鏇存柊銇欍倠銉偢銉冦偗锛堟洿鏂板悗瑙﹀彂WorkFlow锛�
+        // ----------------------------------------------------------------------
+        if (Trigger.isAfter && Trigger.isUpdate) {
+            Map<String, Date> repairDateMap = new Map<String, Date>();
+            List<String> targetRepairList = new List<String>();
+            for (Repair__c repair : Trigger.New) {
+                Repair__c oldRepair = Trigger.OldMap.get(repair.Id);
+                if (oldRepair.Repair_Final_Inspection_Date__c != repair.Repair_Final_Inspection_Date__c) {
+                    repairDateMap.put(repair.Id, repair.Repair_Final_Inspection_Date__c);
+                    targetRepairList.add(repair.Id);
+                }
+            }
+            // 20210622 SQL浼樺寲 Start
+            //List<Rental_Apply__c> raList = [select Id, Repair__c from Rental_Apply__c where Repair__c = :targetRepairList];
+            List<Rental_Apply__c> raList = new List<Rental_Apply__c>();
+            if (targetRepairList.size() > 0) {
+                raList = [select Id, Repair__c from Rental_Apply__c where Repair__c = :targetRepairList];
+            }
+            // 20210622 SQL浼樺寲 End
+            for (Rental_Apply__c ra : raList) {
+                ra.Repair_Final_Inspection_Date__c = repairDateMap.get(ra.Repair__c);
+            }
+            if (raList.size() > 0) {
+                update raList;
             }
         }
-        // 20210622 SQL浼樺寲 Start
-        //List<Rental_Apply__c> raList = [select Id, Repair__c from Rental_Apply__c where Repair__c = :targetRepairList];
-        List<Rental_Apply__c> raList = new List<Rental_Apply__c>();
-        if (targetRepairList.size() > 0) {
-            raList = [select Id, Repair__c from Rental_Apply__c where Repair__c = :targetRepairList];
-        }
-        // 20210622 SQL浼樺寲 End
-        for (Rental_Apply__c ra : raList) {
-            ra.Repair_Final_Inspection_Date__c = repairDateMap.get(ra.Repair__c);
-        }
-        if (raList.size() > 0) {
-            update raList;
-        }
-    }
-    // ----------------------------------------------------------------------
-    // 銇撱亾銇俱仹銆佸鍝佸�熷嚭鐢宠銇�屼慨鐞嗘渶缁堟娴嬫棩銆嶃倰鏇存柊銇欍倠銉偢銉冦偗
-    // ----------------------------------------------------------------------
+        // ----------------------------------------------------------------------
+        // 銇撱亾銇俱仹銆佸鍝佸�熷嚭鐢宠銇�屼慨鐞嗘渶缁堟娴嬫棩銆嶃倰鏇存柊銇欍倠銉偢銉冦偗
+        // ----------------------------------------------------------------------
 
-    System.debug( '-----: trigger end');
+        System.debug( '-----: trigger end');
+    }
+    public void test(){
+        Integer i =0;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+        i++;
+
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1