From 6a471bc62a8567abd74dcef733fcddf9911b6a16 Mon Sep 17 00:00:00 2001
From: denny chen <chenbangcai@prec-tech.com>
Date: 星期三, 29 三月 2023 15:47:48 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG

---
 force-app/main/default/triggers/RentalApplyTrigger.trigger |  908 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 456 insertions(+), 452 deletions(-)

diff --git a/force-app/main/default/triggers/RentalApplyTrigger.trigger b/force-app/main/default/triggers/RentalApplyTrigger.trigger
index fba498f..b2a8d3d 100644
--- a/force-app/main/default/triggers/RentalApplyTrigger.trigger
+++ b/force-app/main/default/triggers/RentalApplyTrigger.trigger
@@ -1,481 +1,485 @@
 trigger RentalApplyTrigger on Rental_Apply__c (before insert, before update,after insert,after update,after delete) {
-    RentalApplyTriggerHandler handler = new RentalApplyTriggerHandler();
-    handler.run();
+    if(Test.isRunningTest()||UserInfo.getUserId()!=System.Label.ByPassTrigger){
+        RentalApplyTriggerHandler handler = new RentalApplyTriggerHandler();
+        handler.run();
 
-    // ----------------------------------------------------------------------
-    // 銇撱亾銈堛倞銆佹壙瑾嶃儣銉偦銈圭敤銇�佺粡鐞嗐�侀儴闀裤�佹�荤洃銈掓洿鏂般仚銈�
-    // ----------------------------------------------------------------------
-    //淇悊set
-    //LD 20200819 鍥犲鍝佸嚭鍊熷彲瑙嗗寲绠$悊娉ㄩ噴浠ヤ笅浠g爜 Start
-    //Set<String> repairSet = new Set<String>();
+        // ----------------------------------------------------------------------
+        // 銇撱亾銈堛倞銆佹壙瑾嶃儣銉偦銈圭敤銇�佺粡鐞嗐�侀儴闀裤�佹�荤洃銈掓洿鏂般仚銈�
+        // ----------------------------------------------------------------------
+        //淇悊set
+        //LD 20200819 鍥犲鍝佸嚭鍊熷彲瑙嗗寲绠$悊娉ㄩ噴浠ヤ笅浠g爜 Start
+        //Set<String> repairSet = new Set<String>();
 
 
-//bp2    List<id> idlistLocal = new List<id>();
-//bp2    Map<id,List<Rental_Apply_Equipment_Set__c>> AllDetailsMaps = new Map<id,List<Rental_Apply_Equipment_Set__c>>();
+    //bp2    List<id> idlistLocal = new List<id>();
+    //bp2    Map<id,List<Rental_Apply_Equipment_Set__c>> AllDetailsMaps = new Map<id,List<Rental_Apply_Equipment_Set__c>>();
 
-    if (Trigger.isBefore) {
-        // OLY_OCM-584 Start 绉诲姩鍒癏andler
-        // 鐢宠珛涓亱銇┿亞銇嬨伄銉併偋銉冦偗
-        // List<Id> copyUserIds = new List<Id>();                       // 浠舵暟銇� Trigger.New 銇ㄥ悓銇�
-        // List<Rental_Apply__c> newList = new List<Rental_Apply__c>(); // 浠舵暟銇� Trigger.New 銇ㄥ悓銇�
-        // OLY_OCM-584 End
-        Rental_Apply__c old = null;
-        List<String> personInChargeIds = new List<String>();
-//bp2
-//        for(Rental_Apply__c local : Trigger.New){
-//            if(local.id != null){
-//                idlistLocal.add(local.id);
-//            }
-//        }
-//        List<Rental_Apply_Equipment_Set__c> AllDetails = new List<Rental_Apply_Equipment_Set__c>();
-//        AllDetails = [select Name,Rental_Apply__c,Equipment_Set__r.Name,Equipment_Set__r.Loaner_code__c,SerialNumber__c from Rental_Apply_Equipment_Set__c 
-//            where Rental_Apply__c in: idlistLocal
-//            and Inspection_before__c!='NG' 
-//            and RAES_Status__c != '寮曞綋娓�'
-//            and RAES_Status__c != '鍙栨秷鍒嗛厤'];
-//        for(Rental_Apply_Equipment_Set__c raes : AllDetails){
-//            if(AllDetailsMaps.containsKey(raes.Rental_Apply__c)){
-//                List<Rental_Apply_Equipment_Set__c> raseList = AllDetailsMaps.get(raes.Rental_Apply__c);
-//                raseList.add(raes);
-//            }else{
-//                List<Rental_Apply_Equipment_Set__c> raseList = new List<Rental_Apply_Equipment_Set__c>();
-//                raseList.add(raes);
-//                AllDetailsMaps.put(raes.Rental_Apply__c, raseList);
-//            }
-//        }
-        for (Rental_Apply__c local : Trigger.New) {
-            if ( Trigger.isUpdate) {
-                old = Trigger.oldMap.get(local.Id);
-            }
-
-            // 涓绘媴褰撱倰OwnerId銇仐銇俱仚
-            // if (local.Person_In_Charge__c != null) local.OwnerId = local.Person_In_Charge__c;
-
-            // 榛戝悕鍗曠敤鎴蜂笉鑳芥彁浜ょ敵璇�  OCSM_BP3-10: 鍘绘帀"鐘鐐规暟瓒呰繃Max鐨勬椂鍊欎笉鑳界敵璇�"鐨勯檺鍒舵潯浠躲�傘�怑quipmentRentalBlackList涓�999999999鐨勬椂鍊�, 浜嬪疄涓婂氨鏄笉check 銆�
-            if (trigger.isUpdate
-                    && local.Foul_Points__c >= Integer.valueOf(System.Label.EquipmentRentalBlackList)
-                    && local.demo_purpose2__c !='绱㈣禂QIS' //浣跨姱瑙勪篃瑕侀�氳繃
-                    // 鐢宠涓� 闃叉change owner
-                    && (local.Status__c == FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Shen_Qing_Zhong.ordinal())
-                            && old.OwnerId != local.OwnerId
-                    )
-                    && System.Label.ProfileId_GPI_IF != UserInfo.getProfileId()) {
-                local.addError('宸茶秴鏈熷�熺敤澶囧搧杩囧锛屼笉鑳芥彁浜ゅ鍝佸�熷嚭鐢宠銆傚鍝佸�熷嚭鐢宠锛�' + local.Name);
-            }
-            // 鍘绘帀"鐘鐐规暟瓒呰繃Max鐨勬椂鍊欎笉鑳界敵璇�"鐨勯檺鍒舵潯浠躲�傘�怑quipmentRentalBlackList_ChangeOwner_Threshold涓�999999999鐨勬椂鍊�, 浜嬪疄涓婂氨鏄笉check 銆�
-            if (trigger.isUpdate
-                    && local.Foul_Points__c >= Integer.valueOf(System.Label.EquipmentRentalBlackList_ChangeOwner_Threshold)
-                    && local.demo_purpose2__c !='绱㈣禂QIS' //浣跨姱瑙勪篃瑕侀�氳繃
-                    // OLY_OCM-398
-                    && (old.Status__c != FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Tian_Xie_Wan_Bi.ordinal())
-                            && local.Status__c == FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Tian_Xie_Wan_Bi.ordinal())
-                    )
-                    && System.Label.ProfileId_GPI_IF != UserInfo.getProfileId()) {
-                local.addError('宸茶秴鏈熷�熺敤澶囧搧杩囧锛屼笉鑳芥彁浜ゅ鍝佸�熷嚭鐢宠銆傚鍝佸�熷嚭鐢宠锛�' + local.Name);
-            }
-            
-    //*************************Create 20160615 No.153 瓒欏境鑺� Start*************************//
-//bp2
-//        //鏇存柊鍑哄簱瀵屾枃鏈�
-//            if((Trigger.isUpdate||Trigger.isInsert)
-//                &&(local.Shipment_requested_cnt__c!=null
-//                    &&local.Pre_inspection_ng_num__c!=null
-//                        &&local.Rental_Apply_Equipment_Set_Cnt__c!=null
-//                            &&local.Rental_Apply_Equipment_Set_Cnt__c!=0)){
-//                local.Notice_of_Delivery_Text__c = '鍑哄簱閫氱煡锛�<BR> 宸插嚭搴撴潯鏁帮細'
-//                            + (local.Shipment_requested_cnt__c - local.Shippment_ng_num__c) 
-//                            + '<BR>鏄庣粏鍏憋細'
-//                            + local.Rental_Apply_Equipment_Set_Cnt__c
-//                            + '鏉°��<BR>';
-//            }
-//        //鏇存柊鍏ㄩ儴鍑哄簱閭欢閫氱煡鏂囨湰
-//            List<Rental_Apply_Equipment_Set__c> AllDetails = new List<Rental_Apply_Equipment_Set__c>();
-//            AllDetails = [select Name, Fixture_Set__r.Name, Fixture_Set__r.Loaner_code__c, First_RAESD__r.SerialNumber_F__c
-//                from Rental_Apply_Equipment_Set__c 
-//                where Rental_Apply__c =: local.id 
-//                 and Inspection_before__c!='NG' 
-//                 and Cancel_Select__c = False
-//                 and RAES_Status__c != '寮曞綋娓�'
-//                 and RAES_Status__c != '鍙栨秷鍒嗛厤'];
-//            system.debug('杩欐槸鎵�鏈夋槑缁�::::::::'+AllDetails);
-//            system.debug('杩欐槸鎵�鏈�::::::::'+local.id);
-//            if (AllDetails.size() > 0) {
-//                local.Assigned_Text__c = '<br/>鍏蜂綋鏄庣粏锛�<br/>       ';
-//                for(Rental_Apply_Equipment_Set__c raesMail : AllDetails){
-//                    local.Assigned_Text__c = local.Assigned_Text__c
-//                            + raesMail.Fixture_Set__r.Name + '  '
-//                            + ' 鍨嬪彿: ' + raesMail.Fixture_Set__r.Loaner_code__c
-//                            +' 鏈鸿韩缂栧彿锛�'+( raesMail.First_RAESD__r.SerialNumber_F__c!=null? raesMail.First_RAESD__r.SerialNumber_F__c:'')+
-//                            + '<br/>';
-//                } 
-//            }else{
-//                local.Assigned_Text__c = '<br/>鏃犲彲浠ュ嚭搴撶殑澶囧搧<br/>       ';
-//            }
-    //*************************Create 20160615 No.153 瓒欏境鑺� End***************************//
+        if (Trigger.isBefore) {
             // OLY_OCM-584 Start 绉诲姩鍒癏andler
-            // 鐢宠珛涓伀銇仯銇熴仺銇嶃�佺敵璜嬭�呬笂鍙搞倰瑷畾
-            // if (Trigger.isInsert
-            //         || (Trigger.isUpdate && old.Status__c != local.Status__c && local.Status__c == '鐢宠涓�')
-            //         || (Trigger.isUpdate && old.OwnerId != local.OwnerId)
-            // ) {
-            //     newList.add(local);
-            //     //if (Trigger.isInsert || (Trigger.isUpdate && old.applyUser__c != local.applyUser__c)) {
-            //     copyUserIds.add(local.OwnerId);
-            //     //} else {
-            //     //    copyUserIds.add(UserInfo.getUserId());
-            //     //}
+            // 鐢宠珛涓亱銇┿亞銇嬨伄銉併偋銉冦偗
+            // List<Id> copyUserIds = new List<Id>();                       // 浠舵暟銇� Trigger.New 銇ㄥ悓銇�
+            // List<Rental_Apply__c> newList = new List<Rental_Apply__c>(); // 浠舵暟銇� Trigger.New 銇ㄥ悓銇�
+            // OLY_OCM-584 End
+            Rental_Apply__c old = null;
+            List<String> personInChargeIds = new List<String>();
+    //bp2
+    //        for(Rental_Apply__c local : Trigger.New){
+    //            if(local.id != null){
+    //                idlistLocal.add(local.id);
+    //            }
+    //        }
+    //        List<Rental_Apply_Equipment_Set__c> AllDetails = new List<Rental_Apply_Equipment_Set__c>();
+    //        AllDetails = [select Name,Rental_Apply__c,Equipment_Set__r.Name,Equipment_Set__r.Loaner_code__c,SerialNumber__c from Rental_Apply_Equipment_Set__c 
+    //            where Rental_Apply__c in: idlistLocal
+    //            and Inspection_before__c!='NG' 
+    //            and RAES_Status__c != '寮曞綋娓�'
+    //            and RAES_Status__c != '鍙栨秷鍒嗛厤'];
+    //        for(Rental_Apply_Equipment_Set__c raes : AllDetails){
+    //            if(AllDetailsMaps.containsKey(raes.Rental_Apply__c)){
+    //                List<Rental_Apply_Equipment_Set__c> raseList = AllDetailsMaps.get(raes.Rental_Apply__c);
+    //                raseList.add(raes);
+    //            }else{
+    //                List<Rental_Apply_Equipment_Set__c> raseList = new List<Rental_Apply_Equipment_Set__c>();
+    //                raseList.add(raes);
+    //                AllDetailsMaps.put(raes.Rental_Apply__c, raseList);
+    //            }
+    //        }
+            for (Rental_Apply__c local : Trigger.New) {
+                if ( Trigger.isUpdate) {
+                    old = Trigger.oldMap.get(local.Id);
+                }
+
+                // 涓绘媴褰撱倰OwnerId銇仐銇俱仚
+                // if (local.Person_In_Charge__c != null) local.OwnerId = local.Person_In_Charge__c;
+
+                // 榛戝悕鍗曠敤鎴蜂笉鑳芥彁浜ょ敵璇�  OCSM_BP3-10: 鍘绘帀"鐘鐐规暟瓒呰繃Max鐨勬椂鍊欎笉鑳界敵璇�"鐨勯檺鍒舵潯浠躲�傘�怑quipmentRentalBlackList涓�999999999鐨勬椂鍊�, 浜嬪疄涓婂氨鏄笉check 銆�
+                if (trigger.isUpdate
+                        && local.Foul_Points__c >= Integer.valueOf(System.Label.EquipmentRentalBlackList)
+                        && local.demo_purpose2__c !='绱㈣禂QIS' //浣跨姱瑙勪篃瑕侀�氳繃
+                        // 鐢宠涓� 闃叉change owner
+                        && (local.Status__c == FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Shen_Qing_Zhong.ordinal())
+                                && old.OwnerId != local.OwnerId
+                        )
+                        && System.Label.ProfileId_GPI_IF != UserInfo.getProfileId()) {
+                    local.addError('宸茶秴鏈熷�熺敤澶囧搧杩囧锛屼笉鑳芥彁浜ゅ鍝佸�熷嚭鐢宠銆傚鍝佸�熷嚭鐢宠锛�' + local.Name);
+                }
+                // 鍘绘帀"鐘鐐规暟瓒呰繃Max鐨勬椂鍊欎笉鑳界敵璇�"鐨勯檺鍒舵潯浠躲�傘�怑quipmentRentalBlackList_ChangeOwner_Threshold涓�999999999鐨勬椂鍊�, 浜嬪疄涓婂氨鏄笉check 銆�
+                if (trigger.isUpdate
+                        && local.Foul_Points__c >= Integer.valueOf(System.Label.EquipmentRentalBlackList_ChangeOwner_Threshold)
+                        && local.demo_purpose2__c !='绱㈣禂QIS' //浣跨姱瑙勪篃瑕侀�氳繃
+                        // OLY_OCM-398
+                        && (old.Status__c != FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Tian_Xie_Wan_Bi.ordinal())
+                                && local.Status__c == FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Tian_Xie_Wan_Bi.ordinal())
+                        )
+                        && System.Label.ProfileId_GPI_IF != UserInfo.getProfileId()) {
+                    local.addError('宸茶秴鏈熷�熺敤澶囧搧杩囧锛屼笉鑳芥彁浜ゅ鍝佸�熷嚭鐢宠銆傚鍝佸�熷嚭鐢宠锛�' + local.Name);
+                }
+                
+        //*************************Create 20160615 No.153 瓒欏境鑺� Start*************************//
+    //bp2
+    //        //鏇存柊鍑哄簱瀵屾枃鏈�
+    //            if((Trigger.isUpdate||Trigger.isInsert)
+    //                &&(local.Shipment_requested_cnt__c!=null
+    //                    &&local.Pre_inspection_ng_num__c!=null
+    //                        &&local.Rental_Apply_Equipment_Set_Cnt__c!=null
+    //                            &&local.Rental_Apply_Equipment_Set_Cnt__c!=0)){
+    //                local.Notice_of_Delivery_Text__c = '鍑哄簱閫氱煡锛�<BR> 宸插嚭搴撴潯鏁帮細'
+    //                            + (local.Shipment_requested_cnt__c - local.Shippment_ng_num__c) 
+    //                            + '<BR>鏄庣粏鍏憋細'
+    //                            + local.Rental_Apply_Equipment_Set_Cnt__c
+    //                            + '鏉°��<BR>';
+    //            }
+    //        //鏇存柊鍏ㄩ儴鍑哄簱閭欢閫氱煡鏂囨湰
+    //            List<Rental_Apply_Equipment_Set__c> AllDetails = new List<Rental_Apply_Equipment_Set__c>();
+    //            AllDetails = [select Name, Fixture_Set__r.Name, Fixture_Set__r.Loaner_code__c, First_RAESD__r.SerialNumber_F__c
+    //                from Rental_Apply_Equipment_Set__c 
+    //                where Rental_Apply__c =: local.id 
+    //                 and Inspection_before__c!='NG' 
+    //                 and Cancel_Select__c = False
+    //                 and RAES_Status__c != '寮曞綋娓�'
+    //                 and RAES_Status__c != '鍙栨秷鍒嗛厤'];
+    //            system.debug('杩欐槸鎵�鏈夋槑缁�::::::::'+AllDetails);
+    //            system.debug('杩欐槸鎵�鏈�::::::::'+local.id);
+    //            if (AllDetails.size() > 0) {
+    //                local.Assigned_Text__c = '<br/>鍏蜂綋鏄庣粏锛�<br/>       ';
+    //                for(Rental_Apply_Equipment_Set__c raesMail : AllDetails){
+    //                    local.Assigned_Text__c = local.Assigned_Text__c
+    //                            + raesMail.Fixture_Set__r.Name + '  '
+    //                            + ' 鍨嬪彿: ' + raesMail.Fixture_Set__r.Loaner_code__c
+    //                            +' 鏈鸿韩缂栧彿锛�'+( raesMail.First_RAESD__r.SerialNumber_F__c!=null? raesMail.First_RAESD__r.SerialNumber_F__c:'')+
+    //                            + '<br/>';
+    //                } 
+    //            }else{
+    //                local.Assigned_Text__c = '<br/>鏃犲彲浠ュ嚭搴撶殑澶囧搧<br/>       ';
+    //            }
+        //*************************Create 20160615 No.153 瓒欏境鑺� End***************************//
+                // OLY_OCM-584 Start 绉诲姩鍒癏andler
+                // 鐢宠珛涓伀銇仯銇熴仺銇嶃�佺敵璜嬭�呬笂鍙搞倰瑷畾
+                // if (Trigger.isInsert
+                //         || (Trigger.isUpdate && old.Status__c != local.Status__c && local.Status__c == '鐢宠涓�')
+                //         || (Trigger.isUpdate && old.OwnerId != local.OwnerId)
+                // ) {
+                //     newList.add(local);
+                //     //if (Trigger.isInsert || (Trigger.isUpdate && old.applyUser__c != local.applyUser__c)) {
+                //     copyUserIds.add(local.OwnerId);
+                //     //} else {
+                //     //    copyUserIds.add(UserInfo.getUserId());
+                //     //}
+                // }
+                // OLY_OCM-584 End
+            //*************************SWAG-AZNAER 20180627 Start*************************//
+                personInChargeIds.add(local.Person_In_Charge__c);
+            }
+            if (System.Test.isRunningTest() && trigger.isUpdate) {
+            } else {
+                Map<Id, User> personInChargeMap = new Map<Id, User>([
+                    SELECT Id, Name, OCM_man_province_Rental__c, Dept__c FROM User WHERE Id IN :personInChargeIds
+                ]);
+                // 20220517 ljh SWAG-CDTEFS update start
+                // List<OCM_Management_Province__c> mpList = [select id, Name, Admin_assistant__c, Admin_assistant2__c, Admin_assistant3__r.Name, Energy_assistant__c from OCM_Management_Province__c];
+                List<OCM_Management_Province__c> mpList = [select id, Name, Admin_assistant__c, Admin_assistant2__c, Admin_assistant3__r.Name, Energy_assistant__c,OBA3_Email_Group__c from OCM_Management_Province__c];
+                Map<String, OCM_Management_Province__c> mpMap = new Map<String, OCM_Management_Province__c>();
+                for (OCM_Management_Province__c mp : mpList) {
+                    mpMap.put(mp.Name, mp);
+                }
+                for (Rental_Apply__c rac : Trigger.New) {
+                    if (personInChargeMap.containsKey(rac.Person_In_Charge__c)) {
+                        User tempUser = personInChargeMap.get(rac.Person_In_Charge__c);
+                        OCM_Management_Province__c omp = mpMap.get(tempUser.OCM_man_province_Rental__c);
+                        if (omp != null) {
+                            /*
+                            SWAG-B6X8CK  鎶婅兘閲忎簨涓氭湰閮ㄧ殑鍒ゆ柇鍘绘帀锛岄兘鍙栧鍝佸姪鐞� 2018/11/29 start
+                            */
+                            /*if (tempUser.Dept__c == '鑳介噺浜嬩笟鏈儴') {
+                                rac.Rental_Assistant__c = omp.Energy_assistant__c;
+                                rac.Rental_Assistant2__c = null;
+                                rac.Rental_Assistant3__c = null;
+                            } else {*/
+                                rac.Rental_Assistant__c = omp.Admin_assistant__c;
+                                rac.Rental_Assistant2__c = omp.Admin_assistant2__c;
+                                rac.Rental_Assistant3__c = omp.Admin_assistant3__r.Name;// SWAG-BZL695 you 20210331
+                                rac.OBA3_Email_Group__c = omp.OBA3_Email_Group__c;// 20220517 ljh SWAG-CDTEFS add
+                            //}
+                            /*
+                            SWAG-B6X8CK  鎶婅兘閲忎簨涓氭湰閮ㄧ殑鍒ゆ柇鍘绘帀锛岄兘鍙栧鍝佸姪鐞� 2018/11/29 end
+                            */
+                        }
+                    }
+                }
+            }
+            //*************************SWAG-AZNAER 20180627 End*************************//
+            // OLY_OCM-584 Start  绉诲姩鍒癏andler
+            // if (copyUserIds.size() > 0) {
+            //     Map<Id, User> copyUserMap = new Map<Id, User>([
+            //         SELECT Id, Name, Buzhang_Equipment_Manager__c, JingliEquipmentManager__c, SalesManager__c, BuchangApprovalManagerSales__c, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c, TongkuoZongjian__c FROM User WHERE Id IN :copyUserIds
+            //     ]);
+            //
+            //     for (Integer i = 0; i < copyUserIds.size(); i++) {
+            //         Rental_Apply__c local = newList[i];
+            //         User loginUser = copyUserMap.get(copyUserIds[i]);
+            //         local.SalesManager__c = loginUser.JingliEquipmentManager__c != null ? loginUser.JingliEquipmentManager__c : loginUser.SalesManager__c;
+            //         local.BuchangApprovalManagerSales__c = loginUser.Buzhang_Equipment_Manager__c != null ? loginUser.Buzhang_Equipment_Manager__c : loginUser.BuchangApprovalManagerSales__c;
+            //         local.JingliApprovalManager__c = loginUser.JingliApprovalManager__c;
+            //         local.BuchangApprovalManager__c = loginUser.BuchangApprovalManager__c;
+            //         local.ZongjianApprovalManager__c = loginUser.ZongjianApprovalManager__c;
+            //         local.TongkuoZongjian__c = loginUser.TongkuoZongjian__c;
+            //     }
             // }
             // OLY_OCM-584 End
-        //*************************SWAG-AZNAER 20180627 Start*************************//
-            personInChargeIds.add(local.Person_In_Charge__c);
-        }
-        if (System.Test.isRunningTest() && trigger.isUpdate) {
-        } else {
-            Map<Id, User> personInChargeMap = new Map<Id, User>([
-                SELECT Id, Name, OCM_man_province_Rental__c, Dept__c FROM User WHERE Id IN :personInChargeIds
-            ]);
-            List<OCM_Management_Province__c> mpList = [select id, Name, Admin_assistant__c, Admin_assistant2__c, Admin_assistant3__r.Name, Energy_assistant__c from OCM_Management_Province__c];
-            Map<String, OCM_Management_Province__c> mpMap = new Map<String, OCM_Management_Province__c>();
-            for (OCM_Management_Province__c mp : mpList) {
-                mpMap.put(mp.Name, mp);
-            }
-            for (Rental_Apply__c rac : Trigger.New) {
-                if (personInChargeMap.containsKey(rac.Person_In_Charge__c)) {
-                    User tempUser = personInChargeMap.get(rac.Person_In_Charge__c);
-                    OCM_Management_Province__c omp = mpMap.get(tempUser.OCM_man_province_Rental__c);
-                    if (omp != null) {
-                        /*
-                        SWAG-B6X8CK  鎶婅兘閲忎簨涓氭湰閮ㄧ殑鍒ゆ柇鍘绘帀锛岄兘鍙栧鍝佸姪鐞� 2018/11/29 start
-                         */
-                        /*if (tempUser.Dept__c == '鑳介噺浜嬩笟鏈儴') {
-                            rac.Rental_Assistant__c = omp.Energy_assistant__c;
-                            rac.Rental_Assistant2__c = null;
-                            rac.Rental_Assistant3__c = null;
-                        } else {*/
-                            rac.Rental_Assistant__c = omp.Admin_assistant__c;
-                            rac.Rental_Assistant2__c = omp.Admin_assistant2__c;
-                            rac.Rental_Assistant3__c = omp.Admin_assistant3__r.Name;// SWAG-BZL695 you 20210331
-                            
-                        //}
-                        /*
-                        SWAG-B6X8CK  鎶婅兘閲忎簨涓氭湰閮ㄧ殑鍒ゆ柇鍘绘帀锛岄兘鍙栧鍝佸姪鐞� 2018/11/29 end
-                         */
-                    }
+            /** 鏆傛椂鍏堜笉瑕佺紪鐮佸姞_1,_2
+            // SWAG-BZL695 you 20210402 start 缁欏啀鐢宠寰楀鍝佺紪鐮佽祴鍊� 鍘熺紪鐮乢1...
+
+            if (Trigger.isInsert) {
+                Map<string, string> old_raMap = new Map<string, string>();//鍘熷鍝佺敵璇凤紝鏂板鍝佺敵璇�
+
+                for (Rental_Apply__c ra: Trigger.New) {
+                if(String.isNotBlank(ra.Zsq_Rental_Apply__c) ){
+                    old_raMap.put(ra.Zsq_Rental_Apply__c,ra.id);
                 }
-            }
-        }
-        //*************************SWAG-AZNAER 20180627 End*************************//
-        // OLY_OCM-584 Start  绉诲姩鍒癏andler
-        // if (copyUserIds.size() > 0) {
-        //     Map<Id, User> copyUserMap = new Map<Id, User>([
-        //         SELECT Id, Name, Buzhang_Equipment_Manager__c, JingliEquipmentManager__c, SalesManager__c, BuchangApprovalManagerSales__c, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c, TongkuoZongjian__c FROM User WHERE Id IN :copyUserIds
-        //     ]);
-        //
-        //     for (Integer i = 0; i < copyUserIds.size(); i++) {
-        //         Rental_Apply__c local = newList[i];
-        //         User loginUser = copyUserMap.get(copyUserIds[i]);
-        //         local.SalesManager__c = loginUser.JingliEquipmentManager__c != null ? loginUser.JingliEquipmentManager__c : loginUser.SalesManager__c;
-        //         local.BuchangApprovalManagerSales__c = loginUser.Buzhang_Equipment_Manager__c != null ? loginUser.Buzhang_Equipment_Manager__c : loginUser.BuchangApprovalManagerSales__c;
-        //         local.JingliApprovalManager__c = loginUser.JingliApprovalManager__c;
-        //         local.BuchangApprovalManager__c = loginUser.BuchangApprovalManager__c;
-        //         local.ZongjianApprovalManager__c = loginUser.ZongjianApprovalManager__c;
-        //         local.TongkuoZongjian__c = loginUser.TongkuoZongjian__c;
-        //     }
-        // }
-        // OLY_OCM-584 End
-        /** 鏆傛椂鍏堜笉瑕佺紪鐮佸姞_1,_2
-        // SWAG-BZL695 you 20210402 start 缁欏啀鐢宠寰楀鍝佺紪鐮佽祴鍊� 鍘熺紪鐮乢1...
 
-        if (Trigger.isInsert) {
-             Map<string, string> old_raMap = new Map<string, string>();//鍘熷鍝佺敵璇凤紝鏂板鍝佺敵璇�
-
-            for (Rental_Apply__c ra: Trigger.New) {
-               if(String.isNotBlank(ra.Zsq_Rental_Apply__c) ){
-                  old_raMap.put(ra.Zsq_Rental_Apply__c,ra.id);
-               }
-
-            }
-            
-            // 鏌ヤ竴涓嬪啀鐢宠鍑烘潵寰椾釜鏁� 鐢ㄦ潵鎷兼帴缂栫爜
-             List<AggregateResult> oldRaList = [
-                select Rental_Apply__c
-                from Rental_Apply_Equipment_Set__c where Zsq_Rental_Apply__c In:old_raMap.keySet()
-                group by Rental_Apply__c];
-            
-            for (Rental_Apply__c ra: Trigger.New) {
-                    if(old_raMap.containsKey(ra.Zsq_Rental_Apply__c)){
-                         Integer num = oldRaList.size() + 1;
-                         ra.Name+='_'+num;
-                    }
-                    
-
+                }
                 
-              
-              }
-             
-        }
-        // SWAG-BZL695 you 20210402 end
-               //ra.Name =ra.Name+'_'+ra.bpjcsqbh__c; 
-        **/
-    }
-    // ----------------------------------------------------------------------
-    // 銇撱亾銇俱仹銆佹壙瑾嶃儣銉偦銈圭敤銇�佺粡鐞嗐�佹�荤洃銈掓洿鏂般仚銈�
-    // ----------------------------------------------------------------------
-    if (Trigger.isAfter) {
-        //*************************Create 20171027 SWAG-ASH66S 瓒欏境鑺� Start***************************//
-        if (Trigger.isInsert) {
-            for (Rental_Apply__c local : Trigger.New) {
-                if(local.applyUser__c != local.Person_In_Charge__c){
-                    try {
-                        Rental_Apply__Share ras = new Rental_Apply__Share(
-                            RowCause = 'ApplyUserShare__c',
-                            ParentId = local.Id,
-                            UserOrGroupId = local.applyUser__c,
-                            AccessLevel = 'Read'
-                        );
-                        insert ras;    // FIXME why DML in loop? and why try catch in trigger?
-                    } catch (Exception e) {
-                        local.addError( e.getMessage());
-                    }
-                }
-            }
-        }
-
-        //2021-10-14 yjk 鍦╰rigger閲岃Е鍙戜慨鏀筿is鏄惁鏈夊鍝佸瓧娈� start
-
-
-        if (Trigger.isInsert && Trigger.isAfter) {
-            List<Id> qisIdList = new List<Id>();
-            for (Rental_Apply__c local : Trigger.New) {
-                if(local.QIS_number__c != null){
-                    
-                    qisIdList.add(local.QIS_number__c);
-                }
-            }
-            if(qisIdList != null && qisIdList.size() > 0){
-                List<QIS_Report__c> qisList = [select id,isLendRental__c from QIS_Report__c where id in :qisIdList];
-                for(QIS_Report__c qisReport : qisList){
-                    qisReport.isLendRental__c = true;
-                }
-                update qisList;
-            }
-            
-        }
-
-
-        if (Trigger.isUpdate && Trigger.isAfter) {
-            List<Id> qisIdList = new List<Id>();
-            for (Rental_Apply__c local : Trigger.New) {
-                if(local.QIS_number__c != null && local.QIS_number__c != Trigger.oldMap.get(local.Id).QIS_number__c){
-                    
-                    qisIdList.add(local.QIS_number__c);
-                }
-            }
-            if(qisIdList != null && qisIdList.size() > 0){
-                List<QIS_Report__c> qisList = [select id,isLendRental__c from QIS_Report__c where id in :qisIdList];
-                for(QIS_Report__c qisReport : qisList){
-                    qisReport.isLendRental__c = true;
-                }
-                update qisList;
-            }
-            
-        }
-        //2021-10-14 yjk 鍦╰rigger閲岃Е鍙戜慨鏀筿is鏄惁鏈夊鍝佸瓧娈� end
-
-
-       // SWAG-BZL695 you 20210331 start 灏嗗師鏉ョ殑 澶囧搧鍊熷嚭鐢宠鐨� 涓�瑙堝拰涓�瑙堟槑缁� 鍏嬮殕涓�浠借嚦 鏂板鍝佸�熷嚭鐢宠
-        if (Trigger.isInsert) {
-           Map<string, string> raMap = new Map<string, string>();//鍘熷鍝佺敵璇凤紝鏂板鍝佺敵璇�
-
-            for (Rental_Apply__c ra: Trigger.New) {
-               if(String.isNotBlank(ra.Zsq_Rental_Apply__c) ){
-                  raMap.put(ra.Zsq_Rental_Apply__c,ra.id);
-                  //ra.addError(ra.requestNoJoinStr2__c+'===');
-
-               }
-
-            }
-
-            if (raMap!= null && raMap.size() > 0) {
-                //鏌ヨ鍘熸潵澶囧搧鐢宠涓嬪緱涓�瑙�
-                List<Rental_Apply_Equipment_Set__c> raesList = [SELECT Id, Name,Loaner_centre_mail_address__c,Received_Confirm__c,
-                IsOPD_Account__c,LendNum__c,Received_NG_ReAssign_Text__c,Received_ng_detail__c, Rental_Apply__r.RecordTypeId,Rental_Apply__c,Bollow_Date_Add_10_WD__c,Guzhangpaicha_Final_reply_day_Text__c,
-                Fixture_Set__c,Loaner_code_text__c,Cancel_Select__c,Cancel_Reason__c,Loaner_cancel_Remarks__c,Loaner_cancel_reason__c,Cancel_Mem__c,
-                requestNoJoinStr2__c,Cancel_Date__c,UniqueKey__c,IndexFromUniqueKey__c,DataMigration_Flag__c,Rental_Num__c,First_RAESD__c,zsqybpyl__c
-                FROM Rental_Apply_Equipment_Set__c
-                WHERE Rental_Apply__c In:raMap.keySet() and Substitute_flag__c <> true];
-                //鍒嗗崟鐨勬椂鍊� 鏁伴噺(Sys)鏄師鏉� 鎬婚厤濂楃殑鏁伴噺锛屽啀鐢宠鐨勬椂鍊欓渶瑕侀噸鏂版寜鐓� 閰嶅鍨嬪彿锛屽湪閲嶆柊璁$畻 鏁伴噺(Sys) 
-                Map<String, List<Rental_Apply_Equipment_Set__c>> Fixture_Set_Map = new Map<String, List<Rental_Apply_Equipment_Set__c>>();
-                if(null!=raesList && raesList.size() > 0){
-                    for (Rental_Apply_Equipment_Set__c raes:raesList){
-                         if (!Fixture_Set_Map.containsKey(raes.Fixture_Set__c)) {
-                            Fixture_Set_Map.put(raes.Fixture_Set__c, new List<Rental_Apply_Equipment_Set__c>());
+                // 鏌ヤ竴涓嬪啀鐢宠鍑烘潵寰椾釜鏁� 鐢ㄦ潵鎷兼帴缂栫爜
+                List<AggregateResult> oldRaList = [
+                    select Rental_Apply__c
+                    from Rental_Apply_Equipment_Set__c where Zsq_Rental_Apply__c In:old_raMap.keySet()
+                    group by Rental_Apply__c];
+                
+                for (Rental_Apply__c ra: Trigger.New) {
+                        if(old_raMap.containsKey(ra.Zsq_Rental_Apply__c)){
+                            Integer num = oldRaList.size() + 1;
+                            ra.Name+='_'+num;
                         }
-                        Fixture_Set_Map.get(raes.Fixture_Set__c).add(raes);//鍘熸潵鐨勯厤濂楀瀷鍙凤紝涓�瑙�
-                    }    
-                }
+                        
 
-                if (null!=raesList && raesList.size() > 0) {  
-                    List<Rental_Apply_Equipment_Set__c> insertCloneList = new List<Rental_Apply_Equipment_Set__c>();
-                    for(String fsm : Fixture_Set_Map.keySet()){
-                        List<Rental_Apply_Equipment_Set__c> fsmlist = Fixture_Set_Map.get(fsm);
-                        Integer i=0;
-                        for (Rental_Apply_Equipment_Set__c raes:fsmlist){      
-                            Rental_Apply_Equipment_Set__c raesClone = new Rental_Apply_Equipment_Set__c();
-                            raesClone = raes.clone();
-                            raesClone.Id = null;
-                            raesClone.Cancel_Select__c = false;
-                            raesClone.Cancel_Reason__c = null; 
-                            raesClone.Loaner_cancel_Remarks__c = null; 
-                            raesClone.Loaner_cancel_reason__c = null; //20210706 SFDC-C448KZ you
-                            raesClone.Cancel_Mem__c = null; 
-                            raesClone.Cancel_Date__c = null; 
-                            raesClone.Rental_Num__c = fsmlist.size();
-                            raesClone.IndexFromUniqueKey__c = i+1;
-                            raesClone.Rental_Apply__c = raMap.get(raes.Rental_Apply__c);
-                            raesClone.zsqybpyl__c = raes.id;  //鏃у緱涓�瑙坕d 锛岀敤鏉ユ瘮瀵瑰師鏉ュ緱涓�瑙堜笅闈㈠緱涓�瑙堟槑缁�
-                            raesClone.Zsq_Rental_Apply__c = raes.Rental_Apply__c;//鏃у緱澶囧搧
-                            system.debug('涓�瑙�==='+raesClone.UniqueKey__c+'==raesClone.IndexFromUniqueKey__c=='+raesClone.IndexFromUniqueKey__c);
-                            insertCloneList.add(raesClone);
-                            i++;
+                    
+                
+                }
+                
+            }
+            // SWAG-BZL695 you 20210402 end
+                //ra.Name =ra.Name+'_'+ra.bpjcsqbh__c; 
+            **/
+        }
+        // ----------------------------------------------------------------------
+        // 銇撱亾銇俱仹銆佹壙瑾嶃儣銉偦銈圭敤銇�佺粡鐞嗐�佹�荤洃銈掓洿鏂般仚銈�
+        // ----------------------------------------------------------------------
+        if (Trigger.isAfter) {
+            //*************************Create 20171027 SWAG-ASH66S 瓒欏境鑺� Start***************************//
+            if (Trigger.isInsert) {
+                for (Rental_Apply__c local : Trigger.New) {
+                    if(local.applyUser__c != local.Person_In_Charge__c){
+                        try {
+                            Rental_Apply__Share ras = new Rental_Apply__Share(
+                                RowCause = 'ApplyUserShare__c',
+                                ParentId = local.Id,
+                                UserOrGroupId = local.applyUser__c,
+                                AccessLevel = 'Read'
+                            );
+                            insert ras;    // FIXME why DML in loop? and why try catch in trigger?
+                        } catch (Exception e) {
+                            local.addError( e.getMessage());
                         }
                     }
-                    
-                    if (insertCloneList.size() > 0) {
+                }
+            }
+
+            //2021-10-14 yjk 鍦╰rigger閲岃Е鍙戜慨鏀筿is鏄惁鏈夊鍝佸瓧娈� start
+
+
+            if (Trigger.isInsert && Trigger.isAfter) {
+                List<Id> qisIdList = new List<Id>();
+                for (Rental_Apply__c local : Trigger.New) {
+                    if(local.QIS_number__c != null){
                         
-                        System.debug('==涓�瑙�==insertCloneList=='+insertCloneList);
-                        //鎻掑叆涓�瑙�
-                        insert insertCloneList;
+                        qisIdList.add(local.QIS_number__c);
                     }
+                }
+                if(qisIdList != null && qisIdList.size() > 0){
+                    List<QIS_Report__c> qisList = [select id,isLendRental__c from QIS_Report__c where id in :qisIdList];
+                    for(QIS_Report__c qisReport : qisList){
+                        qisReport.isLendRental__c = true;
+                    }
+                    update qisList;
+                }
+                
+            }
 
-                    if(null!=insertCloneList && insertCloneList.size()>0){
-                        //鏃у緱涓�瑙坕d锛屾柊寰椾竴瑙�
-                        Map<String, Rental_Apply_Equipment_Set__c> raesMap = new Map<String, Rental_Apply_Equipment_Set__c>();
-                        //鏃х殑涓�瑙堟槑缁唅d锛屾柊鐨勪竴瑙�
-                        Map<String, Rental_Apply_Equipment_Set__c> oldylmxidMap = new Map<String, Rental_Apply_Equipment_Set__c>();
+
+            if (Trigger.isUpdate && Trigger.isAfter) {
+                List<Id> qisIdList = new List<Id>();
+                for (Rental_Apply__c local : Trigger.New) {
+                    if(local.QIS_number__c != null && local.QIS_number__c != Trigger.oldMap.get(local.Id).QIS_number__c){
                         
-                        for (Rental_Apply_Equipment_Set__c raes:insertCloneList){
-                           raesMap.put(raes.zsqybpyl__c, raes);//鏃у緱涓�瑙堬紝
-                           oldylmxidMap.put(raes.First_RAESD__c, raes);//鏃х殑涓�瑙堟槑缁唅d锛屾柊鐨勪竴瑙�
-                        }  
-                        if (raesMap!= null && raesMap.size() > 0) {
-                            //鏌ヨ涔嬪墠澶囧搧鍜屼竴瑙堜笅闈㈠緱鏄庣粏
-                            List<Rental_Apply_Equipment_Set_Detail__c> RaesdList = [select id,Name,IndexFromUniqueKey_Text__c, Rental_Apply_Equipment_Set__c,Fixture_Name_text__c,Fixture_Set_Detail__c,Is_Body__c,Loaner_accsessary__c,Fixture_Model_No_text__c,
-                            Inspection_result__c,Pre_Inspection_Comment__c,Inspection_result_NG__c, Inspection_staff__c,DeliverySlip__c,Shippment_loaner_time__c,Return_DeliverySlip__c,Asset_return_time__c,
-                            FSD_Product_Status_Flag__c,Internal_asset_location_before__c,Salesdepartment_before__c,Equipment_Type_text__c,SalesProvince_before__c,Product_category_text__c,
-                            DataMigration_Flag__c,UniqueKey__c,IndexFromUniqueKey__c,Rental_Num__c,RequestNoJoinStr2__c,Loaner_centre_mail_address__c,zsqybpylmx__c,FSD_Id__c
-                            from Rental_Apply_Equipment_Set_Detail__c
-                            where Rental_Apply_Equipment_Set__c in :raesMap.keySet() and Rental_Apply__c in:raMap.keySet() and Cancel_Reason__c <>'閲嶆柊鍒嗛厤'];
-                           
-                            if (null!=RaesdList && RaesdList.size() > 0) {
-                                List<Rental_Apply_Equipment_Set_Detail__c> RaesdCloneList = new List<Rental_Apply_Equipment_Set_Detail__c>();
-                                for (Rental_Apply_Equipment_Set_Detail__c raesd:RaesdList){
-                                    Rental_Apply_Equipment_Set_Detail__c raesdClone = new Rental_Apply_Equipment_Set_Detail__c();
-                                    raesdClone = raesd.clone();
-                                    raesdClone.Id = null;
-                                    raesdClone.Cancel_Select__c = false;
-                                    raesdClone.Cancel_Reason__c = null; 
-                                    raesdClone.Loaner_cancel_Remarks__c = null; 
-                                    raesdClone.Loaner_cancel_reason__c = null; //20210706 SFDC-C448KZ you
-                                    raesdClone.DataMigration_Flag__c = false;
-                                    raesdClone.Cancel_Mem__c = null; 
-                                    raesdClone.Cancel_Date__c = null; 
-                                    raesdClone.Rental_Apply__c = raesMap.get(raesd.Rental_Apply_Equipment_Set__c).Rental_Apply__c;
-                                    raesdClone.Rental_Apply_Equipment_Set__c = raesMap.get(raesd.Rental_Apply_Equipment_Set__c).id;
-                                    raesdClone.zsqybpylmx__c  = raesd.id;//鏆傛椂瀛樻斁鏃х殑涓�瑙堟槑缁� raesMap.get(raesd.Rental_Apply_Equipment_Set__c).requestNoJoinStr2__c
-                                    
-                                    RaesdCloneList.add(raesdClone);
-
-                                }
-                                if (RaesdCloneList.size() > 0) {
-                                    //鎻掑叆鏃х殑涓�瑙堟槑缁�
-                                    System.debug('==RaesdCloneList=='+RaesdCloneList);
-                                    insert RaesdCloneList;
-                                }
-                                if(null!=RaesdCloneList && RaesdCloneList.size()>0){
-                                    //鏃у緱涓�瑙堟槑缁唅d锛屾柊鐨勪竴瑙堟槑缁�
-                                    Map<String, Rental_Apply_Equipment_Set_Detail__c> raesdMap = new Map<String, Rental_Apply_Equipment_Set_Detail__c>();
-                                    for (Rental_Apply_Equipment_Set_Detail__c reasd:RaesdCloneList){
-                                       raesdMap.put(reasd.zsqybpylmx__c, reasd);
-                                    } 
-                                    List<Rental_Apply_Equipment_Set__c> raesdList1 = New List<Rental_Apply_Equipment_Set__c>();
-                                    for(String  oldylmxid : oldylmxidMap.keySet()){
-                                        Rental_Apply_Equipment_Set__c raesobj = new Rental_Apply_Equipment_Set__c();
-                                        raesobj = oldylmxidMap.get(oldylmxid);
-                                        if(raesdMap.containsKey(oldylmxid)){
-                                           raesobj.First_RAESD__c=raesdMap.get(oldylmxid).id; 
-                                        }
-                                        raesdList1.add(raesobj);
-                                    }
-                                     if (raesdList1.size() > 0) {
-                                        //鏇存柊涓�瑙堜笂闈㈠緱   绗竴鏉″鍝侀厤濂楁槑缁� 
-                                        update raesdList1;
-                                    }
+                        qisIdList.add(local.QIS_number__c);
+                    }
+                }
+                if(qisIdList != null && qisIdList.size() > 0){
+                    List<QIS_Report__c> qisList = [select id,isLendRental__c from QIS_Report__c where id in :qisIdList];
+                    for(QIS_Report__c qisReport : qisList){
+                        qisReport.isLendRental__c = true;
+                    }
+                    update qisList;
+                }
+                
+            }
+            //2021-10-14 yjk 鍦╰rigger閲岃Е鍙戜慨鏀筿is鏄惁鏈夊鍝佸瓧娈� end
 
 
-                                } 
+        // SWAG-BZL695 you 20210331 start 灏嗗師鏉ョ殑 澶囧搧鍊熷嚭鐢宠鐨� 涓�瑙堝拰涓�瑙堟槑缁� 鍏嬮殕涓�浠借嚦 鏂板鍝佸�熷嚭鐢宠
+            if (Trigger.isInsert) {
+            Map<string, string> raMap = new Map<string, string>();//鍘熷鍝佺敵璇凤紝鏂板鍝佺敵璇�
 
+                for (Rental_Apply__c ra: Trigger.New) {
+                if(String.isNotBlank(ra.Zsq_Rental_Apply__c) ){
+                    raMap.put(ra.Zsq_Rental_Apply__c,ra.id);
+                    //ra.addError(ra.requestNoJoinStr2__c+'===');
+
+                }
+
+                }
+
+                if (raMap!= null && raMap.size() > 0) {
+                    //鏌ヨ鍘熸潵澶囧搧鐢宠涓嬪緱涓�瑙�
+                    List<Rental_Apply_Equipment_Set__c> raesList = [SELECT Id, Name,Loaner_centre_mail_address__c,Received_Confirm__c,
+                    IsOPD_Account__c,LendNum__c,Received_NG_ReAssign_Text__c,Received_ng_detail__c, Rental_Apply__r.RecordTypeId,Rental_Apply__c,Bollow_Date_Add_10_WD__c,Guzhangpaicha_Final_reply_day_Text__c,
+                    Fixture_Set__c,Loaner_code_text__c,Cancel_Select__c,Cancel_Reason__c,Loaner_cancel_Remarks__c,Loaner_cancel_reason__c,Cancel_Mem__c,
+                    requestNoJoinStr2__c,Cancel_Date__c,UniqueKey__c,IndexFromUniqueKey__c,DataMigration_Flag__c,Rental_Num__c,First_RAESD__c,zsqybpyl__c
+                    FROM Rental_Apply_Equipment_Set__c
+                    WHERE Rental_Apply__c In:raMap.keySet() and Substitute_flag__c <> true];
+                    //鍒嗗崟鐨勬椂鍊� 鏁伴噺(Sys)鏄師鏉� 鎬婚厤濂楃殑鏁伴噺锛屽啀鐢宠鐨勬椂鍊欓渶瑕侀噸鏂版寜鐓� 閰嶅鍨嬪彿锛屽湪閲嶆柊璁$畻 鏁伴噺(Sys) 
+                    Map<String, List<Rental_Apply_Equipment_Set__c>> Fixture_Set_Map = new Map<String, List<Rental_Apply_Equipment_Set__c>>();
+                    if(null!=raesList && raesList.size() > 0){
+                        for (Rental_Apply_Equipment_Set__c raes:raesList){
+                            if (!Fixture_Set_Map.containsKey(raes.Fixture_Set__c)) {
+                                Fixture_Set_Map.put(raes.Fixture_Set__c, new List<Rental_Apply_Equipment_Set__c>());
                             }
-                             
-                        }  
+                            Fixture_Set_Map.get(raes.Fixture_Set__c).add(raes);//鍘熸潵鐨勯厤濂楀瀷鍙凤紝涓�瑙�
+                        }    
                     }
 
-               }
-            }
-        }    
-       
-       // SWAG-BZL695 you 20210331 end
-        //                     LD 20200819 鍥犲鍝佸嚭鍊熷彲瑙嗗寲绠$悊娉ㄩ噴浠ヤ笅浠g爜鍧� Start
-        //*************************Create 20171027 SWAG-ASH66S 瓒欏境鑺� End***************************//
-        //鍙栧埌鎻掑叆鎴栬�呮洿鏂板鍝佸�熷嚭鐢宠鐨勪慨鐞�
-        // if (trigger.isInsert || trigger.isUpdate){
-        //     for (Rental_Apply__c local : Trigger.New) {
-        //         if (local.Repair__c!=null)
-        //         repairSet.add(local.Repair__c);
-        //     }
-        // }
-        // if (trigger.isUpdate){
-        //     for (Rental_Apply__c local : Trigger.old) {
-        //         if (local.Repair__c!=null)
-        //         repairSet.add(local.Repair__c);
-        //     }
-        // }
-        // //鍙栧埌鍒犻櫎澶囧搧鍊熷嚭鐢宠鐨勪慨鐞�
-        // if (trigger.isDelete){
-        //     for (Rental_Apply__c local : Trigger.old) {
-        //         if (local.Repair__c!=null)
-        //         repairSet.add(local.Repair__c);
-        //     }
-        // }
+                    if (null!=raesList && raesList.size() > 0) {  
+                        List<Rental_Apply_Equipment_Set__c> insertCloneList = new List<Rental_Apply_Equipment_Set__c>();
+                        for(String fsm : Fixture_Set_Map.keySet()){
+                            List<Rental_Apply_Equipment_Set__c> fsmlist = Fixture_Set_Map.get(fsm);
+                            Integer i=0;
+                            for (Rental_Apply_Equipment_Set__c raes:fsmlist){      
+                                Rental_Apply_Equipment_Set__c raesClone = new Rental_Apply_Equipment_Set__c();
+                                raesClone = raes.clone();
+                                raesClone.Id = null;
+                                raesClone.Cancel_Select__c = false;
+                                raesClone.Cancel_Reason__c = null; 
+                                raesClone.Loaner_cancel_Remarks__c = null; 
+                                raesClone.Loaner_cancel_reason__c = null; //20210706 SFDC-C448KZ you
+                                raesClone.Cancel_Mem__c = null; 
+                                raesClone.Cancel_Date__c = null; 
+                                raesClone.Rental_Num__c = fsmlist.size();
+                                raesClone.IndexFromUniqueKey__c = i+1;
+                                raesClone.Rental_Apply__c = raMap.get(raes.Rental_Apply__c);
+                                raesClone.zsqybpyl__c = raes.id;  //鏃у緱涓�瑙坕d 锛岀敤鏉ユ瘮瀵瑰師鏉ュ緱涓�瑙堜笅闈㈠緱涓�瑙堟槑缁�
+                                raesClone.Zsq_Rental_Apply__c = raes.Rental_Apply__c;//鏃у緱澶囧搧
+                                system.debug('涓�瑙�==='+raesClone.UniqueKey__c+'==raesClone.IndexFromUniqueKey__c=='+raesClone.IndexFromUniqueKey__c);
+                                insertCloneList.add(raesClone);
+                                i++;
+                            }
+                        }
+                        
+                        if (insertCloneList.size() > 0) {
+                            
+                            System.debug('==涓�瑙�==insertCloneList=='+insertCloneList);
+                            //鎻掑叆涓�瑙�
+                            insert insertCloneList;
+                        }
 
-        // if (repairSet.size()>0){
-        //     List<Repair__c> uprepair = [SELECT Id FROM Repair__c WHERE  Id in :repairSet AND Status1__c != '0.鍒犻櫎'];
-        //     AggregateResult[] results = [SELECT Repair__c,count(Id) cnt 
-        //                                  FROM Rental_Apply__c 
-        //                                  //WHERE Repair__c in :repairSet
-        //                                  WHERE Repair__c in (SELECT Id FROM Repair__c WHERE  Id in :repairSet AND Status1__c != '0.鍒犻櫎')
-        //                                  AND Status__c != '鑽夋涓�' 
-        //                                  AND Status__c != '鍙栨秷'
-        //                                  group by Repair__c];
+                        if(null!=insertCloneList && insertCloneList.size()>0){
+                            //鏃у緱涓�瑙坕d锛屾柊寰椾竴瑙�
+                            Map<String, Rental_Apply_Equipment_Set__c> raesMap = new Map<String, Rental_Apply_Equipment_Set__c>();
+                            //鏃х殑涓�瑙堟槑缁唅d锛屾柊鐨勪竴瑙�
+                            Map<String, Rental_Apply_Equipment_Set__c> oldylmxidMap = new Map<String, Rental_Apply_Equipment_Set__c>();
+                            
+                            for (Rental_Apply_Equipment_Set__c raes:insertCloneList){
+                            raesMap.put(raes.zsqybpyl__c, raes);//鏃у緱涓�瑙堬紝
+                            oldylmxidMap.put(raes.First_RAESD__c, raes);//鏃х殑涓�瑙堟槑缁唅d锛屾柊鐨勪竴瑙�
+                            }  
+                            if (raesMap!= null && raesMap.size() > 0) {
+                                //鏌ヨ涔嬪墠澶囧搧鍜屼竴瑙堜笅闈㈠緱鏄庣粏
+                                List<Rental_Apply_Equipment_Set_Detail__c> RaesdList = [select id,Name,IndexFromUniqueKey_Text__c, Rental_Apply_Equipment_Set__c,Fixture_Name_text__c,Fixture_Set_Detail__c,Is_Body__c,Loaner_accsessary__c,Fixture_Model_No_text__c,
+                                Inspection_result__c,Pre_Inspection_Comment__c,Inspection_result_NG__c, Inspection_staff__c,DeliverySlip__c,Shippment_loaner_time__c,Return_DeliverySlip__c,Asset_return_time__c,
+                                FSD_Product_Status_Flag__c,Internal_asset_location_before__c,Salesdepartment_before__c,Equipment_Type_text__c,SalesProvince_before__c,Product_category_text__c,
+                                DataMigration_Flag__c,UniqueKey__c,IndexFromUniqueKey__c,Rental_Num__c,RequestNoJoinStr2__c,Loaner_centre_mail_address__c,zsqybpylmx__c,FSD_Id__c
+                                from Rental_Apply_Equipment_Set_Detail__c
+                                where Rental_Apply_Equipment_Set__c in :raesMap.keySet() and Rental_Apply__c in:raMap.keySet() and Cancel_Reason__c <>'閲嶆柊鍒嗛厤'];
+                            
+                                if (null!=RaesdList && RaesdList.size() > 0) {
+                                    List<Rental_Apply_Equipment_Set_Detail__c> RaesdCloneList = new List<Rental_Apply_Equipment_Set_Detail__c>();
+                                    for (Rental_Apply_Equipment_Set_Detail__c raesd:RaesdList){
+                                        Rental_Apply_Equipment_Set_Detail__c raesdClone = new Rental_Apply_Equipment_Set_Detail__c();
+                                        raesdClone = raesd.clone();
+                                        raesdClone.Id = null;
+                                        raesdClone.Cancel_Select__c = false;
+                                        raesdClone.Cancel_Reason__c = null; 
+                                        raesdClone.Loaner_cancel_Remarks__c = null; 
+                                        raesdClone.Loaner_cancel_reason__c = null; //20210706 SFDC-C448KZ you
+                                        raesdClone.DataMigration_Flag__c = false;
+                                        raesdClone.Cancel_Mem__c = null; 
+                                        raesdClone.Cancel_Date__c = null; 
+                                        raesdClone.Rental_Apply__c = raesMap.get(raesd.Rental_Apply_Equipment_Set__c).Rental_Apply__c;
+                                        raesdClone.Rental_Apply_Equipment_Set__c = raesMap.get(raesd.Rental_Apply_Equipment_Set__c).id;
+                                        raesdClone.zsqybpylmx__c  = raesd.id;//鏆傛椂瀛樻斁鏃х殑涓�瑙堟槑缁� raesMap.get(raesd.Rental_Apply_Equipment_Set__c).requestNoJoinStr2__c
+                                        
+                                        RaesdCloneList.add(raesdClone);
 
-        //     List<Repair__c> repairUplist = new List<Repair__c>();
-        //     for (Repair__c strRepair:uprepair){
-        //         Integer cnt =0;
-        //         for(AggregateResult ar: results){
-        //              if(String.valueOf(ar.get('Repair__c')) == strRepair.Id){
-        //                 cnt = Integer.valueOf(ar.get('cnt'));
-        //                 break;
-        //              }
-        //         }
-        //         Repair__c repair = new Repair__c();
-        //         repair.Id = strRepair.Id;
-        //         repair.Effective_RentalApply_No__c = cnt;
-        //         repairUplist.add(repair);
-        //     }
-            
-        //     if (repairUplist.size() > 0){
-        //        update repairUplist;
-        //     }
-        // }
+                                    }
+                                    if (RaesdCloneList.size() > 0) {
+                                        //鎻掑叆鏃х殑涓�瑙堟槑缁�
+                                        System.debug('==RaesdCloneList=='+RaesdCloneList);
+                                        insert RaesdCloneList;
+                                    }
+                                    if(null!=RaesdCloneList && RaesdCloneList.size()>0){
+                                        //鏃у緱涓�瑙堟槑缁唅d锛屾柊鐨勪竴瑙堟槑缁�
+                                        Map<String, Rental_Apply_Equipment_Set_Detail__c> raesdMap = new Map<String, Rental_Apply_Equipment_Set_Detail__c>();
+                                        for (Rental_Apply_Equipment_Set_Detail__c reasd:RaesdCloneList){
+                                        raesdMap.put(reasd.zsqybpylmx__c, reasd);
+                                        } 
+                                        List<Rental_Apply_Equipment_Set__c> raesdList1 = New List<Rental_Apply_Equipment_Set__c>();
+                                        for(String  oldylmxid : oldylmxidMap.keySet()){
+                                            Rental_Apply_Equipment_Set__c raesobj = new Rental_Apply_Equipment_Set__c();
+                                            raesobj = oldylmxidMap.get(oldylmxid);
+                                            if(raesdMap.containsKey(oldylmxid)){
+                                            raesobj.First_RAESD__c=raesdMap.get(oldylmxid).id; 
+                                            }
+                                            raesdList1.add(raesobj);
+                                        }
+                                        if (raesdList1.size() > 0) {
+                                            //鏇存柊涓�瑙堜笂闈㈠緱   绗竴鏉″鍝侀厤濂楁槑缁� 
+                                            update raesdList1;
+                                        }
+
+
+                                    } 
+
+                                }
+                                
+                            }  
+                        }
+
+                }
+                }
+            }    
+        
+        // SWAG-BZL695 you 20210331 end
+            //                     LD 20200819 鍥犲鍝佸嚭鍊熷彲瑙嗗寲绠$悊娉ㄩ噴浠ヤ笅浠g爜鍧� Start
+            //*************************Create 20171027 SWAG-ASH66S 瓒欏境鑺� End***************************//
+            //鍙栧埌鎻掑叆鎴栬�呮洿鏂板鍝佸�熷嚭鐢宠鐨勪慨鐞�
+            // if (trigger.isInsert || trigger.isUpdate){
+            //     for (Rental_Apply__c local : Trigger.New) {
+            //         if (local.Repair__c!=null)
+            //         repairSet.add(local.Repair__c);
+            //     }
+            // }
+            // if (trigger.isUpdate){
+            //     for (Rental_Apply__c local : Trigger.old) {
+            //         if (local.Repair__c!=null)
+            //         repairSet.add(local.Repair__c);
+            //     }
+            // }
+            // //鍙栧埌鍒犻櫎澶囧搧鍊熷嚭鐢宠鐨勪慨鐞�
+            // if (trigger.isDelete){
+            //     for (Rental_Apply__c local : Trigger.old) {
+            //         if (local.Repair__c!=null)
+            //         repairSet.add(local.Repair__c);
+            //     }
+            // }
+
+            // if (repairSet.size()>0){
+            //     List<Repair__c> uprepair = [SELECT Id FROM Repair__c WHERE  Id in :repairSet AND Status1__c != '0.鍒犻櫎'];
+            //     AggregateResult[] results = [SELECT Repair__c,count(Id) cnt 
+            //                                  FROM Rental_Apply__c 
+            //                                  //WHERE Repair__c in :repairSet
+            //                                  WHERE Repair__c in (SELECT Id FROM Repair__c WHERE  Id in :repairSet AND Status1__c != '0.鍒犻櫎')
+            //                                  AND Status__c != '鑽夋涓�' 
+            //                                  AND Status__c != '鍙栨秷'
+            //                                  group by Repair__c];
+
+            //     List<Repair__c> repairUplist = new List<Repair__c>();
+            //     for (Repair__c strRepair:uprepair){
+            //         Integer cnt =0;
+            //         for(AggregateResult ar: results){
+            //              if(String.valueOf(ar.get('Repair__c')) == strRepair.Id){
+            //                 cnt = Integer.valueOf(ar.get('cnt'));
+            //                 break;
+            //              }
+            //         }
+            //         Repair__c repair = new Repair__c();
+            //         repair.Id = strRepair.Id;
+            //         repair.Effective_RentalApply_No__c = cnt;
+            //         repairUplist.add(repair);
+            //     }
+                
+            //     if (repairUplist.size() > 0){
+            //        update repairUplist;
+            //     }
+            // }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1