From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新

---
 force-app/main/default/classes/RentalApplyEquipmentSetDetailHandler.cls |  227 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 115 insertions(+), 112 deletions(-)

diff --git a/force-app/main/default/classes/RentalApplyEquipmentSetDetailHandler.cls b/force-app/main/default/classes/RentalApplyEquipmentSetDetailHandler.cls
index 54058dc..0c730b4 100644
--- a/force-app/main/default/classes/RentalApplyEquipmentSetDetailHandler.cls
+++ b/force-app/main/default/classes/RentalApplyEquipmentSetDetailHandler.cls
@@ -2880,12 +2880,8 @@
         if(!disabled){
             beforeSetValue();
 
-            // 涓嶅お纭畾姝ゅ鐞嗕細瀵瑰叾浠栧鐞嗘湁浠�涔堝奖鍝嶏紝闃叉鐢熶骇鐜鍙戠敓闂锛岀敤姝ゆ爣绛炬帶鍒�
-            // 绛夌‘璁ゆ病闂鍚庯紝鍦ㄥ垹闄�(Todo)
-            if (System.Label.Set_Queue_UniqueKey == 'TRUE') {
-                // 璁惧�兼帓闃熺殑UniqueKey
-                setUniqueKeyQueue();
-            }
+            // 璁惧�兼帓闃熺殑UniqueKey
+            setUniqueKeyQueue();
         }
     }
     protected override void afterInsert() {
@@ -4498,122 +4494,127 @@
                 }
             }
         }
+
+        if (!detailIds.isEmpty()) {
+            List<String> sequencekeylist = new List<String>();
+            List<String> changeSequenceIds = new List<String>();
+            Map<String,Decimal> changesequenceMap = new Map<String,Decimal>();
+            List<Rental_Apply_Sequence__c> assignSequence = [SELECT Id,Series_No__c,Invalid_Flag__c,Externalkey__c 
+                                                            FROM Rental_Apply_Sequence__c 
+                                                            WHERE Apply_Set_Detail__c IN: detailIds
+                                                            AND Invalid_Flag__c = false
+                                                            AND Series_No__c > 0];
+            for(Rental_Apply_Sequence__c se:assignSequence){
+                // sequencekeylist.add(se.Externalkey__c);
+                changeSequenceIds.add(se.Id);
+                // if(!changesequenceMap.containsKey(se.Externalkey__c)){
+                //     changesequenceMap.put(se.Externalkey__c,se.Series_No__c);
+                // }else{
+                //     if(changesequenceMap.get(se.Externalkey__c) > se.Series_No__c){
+                //         changesequenceMap.put(se.Externalkey__c,se.Series_No__c);
+                //     }
+                // }
+                se.Invalid_Flag__c = true;
+                se.Series_No__c = 0;
+            } 
+            List<Rental_Apply_Equipment_Set_Detail__c> changeDetailList = new List<Rental_Apply_Equipment_Set_Detail__c>();
+            List<Rental_Apply_Equipment_Set_Detail__c> raesdList = [SELECT Id, Rental_Apply_Equipment_Set__c, Asset__c,Rental_Apply_Equipment_Set__r.Fixture_Set__r.Product_Type__c,
+                                                                       FSD_Fixture_Model_No__c, Fixture_Model_No_text__c,Rental_Apply__r.demo_purpose2__c,Queue_Day__c,ExternalKey__c,
+                                                                       Is_Body__c, FSD_Is_OneToOne__c, Select_Time__c,Rental_Apply__r.EquipmentGuaranteeFlg__c,Allow_Adjust_Queue_Flag__c,
+                                                                       Cancel_Select__c, Fixture_Model_No_F__c, Queue_Number__c, Internal_asset_location__c,Fixture_Model_No__c,Rental_Apply__c,
+                                                                       Internal_asset_location_before__c,Salesdepartment__c, Product_category_F__c, Product_category_text__c,Equipment_Type_text__c,
+                                                                       Salesdepartment_before__c,Rental_Apply__r.Request_shipping_day__c,QuenType__c,IsAdjust__c,Rental_Apply__r.Request_approval_time__c,
+                                                                       Equipment_Type__c, Rental_Apply__r.Internal_asset_location_F__c,Cancel_Reason__c,Loaner_cancel_reason__c,
+                                                                       Loaner_cancel_Remarks__c ,Rental_Apply_Equipment_Set__r.Name
+                                                                FROM Rental_Apply_Equipment_Set_Detail__c
+                                                                WHERE Queue_Number__c > 0
+                                                                  AND Cancel_Select__c = false
+                                                                  AND ExternalKey__c IN:externalKeyList
+                                                                  AND Id NOT IN :detailIds
+                                                                ORDER BY Queue_Number__c ASC ];
+            Map<String,List<Rental_Apply_Equipment_Set_Detail__c>> detailsMap = new Map<String,List<Rental_Apply_Equipment_Set_Detail__c>>();
+            for(Rental_Apply_Equipment_Set_Detail__c setdetail:raesdList){
+                if(!detailsMap.containsKey(setdetail.Externalkey__c)){
+                    detailsMap.put(setdetail.Externalkey__c,new List<Rental_Apply_Equipment_Set_Detail__c>());
+                }
+                detailsMap.get(setdetail.Externalkey__c).add(setdetail);
+
                 
-        List<String> sequencekeylist = new List<String>();
-        List<String> changeSequenceIds = new List<String>();
-        Map<String,Decimal> changesequenceMap = new Map<String,Decimal>();
-        List<Rental_Apply_Sequence__c> assignSequence = [SELECT Id,Series_No__c,Invalid_Flag__c,Externalkey__c 
-                                                        FROM Rental_Apply_Sequence__c 
-                                                        WHERE Apply_Set_Detail__c IN: detailIds
+            }
+            for(String key:detailsMap.keySet()){
+                Decimal queueNo = minNumberMap.get(key);
+                System.debug(LoggingLevel.INFO, '*** queueNo: ' + queueNo);
+                Decimal i = 0;
+                for(Rental_Apply_Equipment_Set_Detail__c detail : detailsMap.get(key)){
+                    System.debug(LoggingLevel.INFO, '*** detail.Queue_Number__c: ' + detail.Queue_Number__c);
+                    if(detail.Queue_Number__c > queueNo){
+                        RentalFixtureSetAssignController.KeyObj dobj = RentalFixtureSetAssignController.getSequenceInfo(detail);
+                        sequencekeylist.addAll(dobj.sequencekeylist);
+                        detail.Queue_Number__c  = queueNo + i;
+                        i ++;
+                        System.debug(LoggingLevel.INFO, '**111* detail.Queue_Number__c: ' + detail.Queue_Number__c);
+                        changeDetailList.add(detail);
+                    }
+                }
+            }
+            List<String> nodusequencekeylist = new List<String>(new Set<String>(sequencekeylist));
+            List<Rental_Apply_Sequence__c> sequenceList = [SELECT Id,ExternalKey__c,Demo_Purpose2__c,
+                                                        Apply_Set_Detail__c,Apply_Set_Detail_ExternalKey__c,
+                                                        Series_No__c,Salesdepartment__c,Product_category__c,
+                                                        Rental_Apply__c,Internal_asset_location__c,
+                                                        Apply_Set_Detail__r.Queue_Number__c,Series_Unequal_Queue_Flag__c,
+                                                        Fixture_Model_No__c,Equipment_Type__c
+                                                        FROM Rental_Apply_Sequence__c
+                                                        WHERE ExternalKey__c IN: nodusequencekeylist
+                                                        AND Id NOT IN:changeSequenceIds
+                                                        AND Series_No__c > 0
                                                         AND Invalid_Flag__c = false
-                                                        AND Series_No__c > 0];
-        for(Rental_Apply_Sequence__c se:assignSequence){
-            // sequencekeylist.add(se.Externalkey__c);
-            changeSequenceIds.add(se.Id);
-            // if(!changesequenceMap.containsKey(se.Externalkey__c)){
-            //     changesequenceMap.put(se.Externalkey__c,se.Series_No__c);
-            // }else{
-            //     if(changesequenceMap.get(se.Externalkey__c) > se.Series_No__c){
-            //         changesequenceMap.put(se.Externalkey__c,se.Series_No__c);
-            //     }
-            // }
-            se.Invalid_Flag__c = true;
-            se.Series_No__c = 0;
-        } 
-        List<Rental_Apply_Equipment_Set_Detail__c> changeDetailList = new List<Rental_Apply_Equipment_Set_Detail__c>();
-        List<Rental_Apply_Equipment_Set_Detail__c> raesdList = [SELECT Id, Rental_Apply_Equipment_Set__c, Asset__c,Rental_Apply_Equipment_Set__r.Fixture_Set__r.Product_Type__c,
-                                                                   FSD_Fixture_Model_No__c, Fixture_Model_No_text__c,Rental_Apply__r.demo_purpose2__c,Queue_Day__c,ExternalKey__c,
-                                                                   Is_Body__c, FSD_Is_OneToOne__c, Select_Time__c,Rental_Apply__r.EquipmentGuaranteeFlg__c,Allow_Adjust_Queue_Flag__c,
-                                                                   Cancel_Select__c, Fixture_Model_No_F__c, Queue_Number__c, Internal_asset_location__c,Fixture_Model_No__c,Rental_Apply__c,
-                                                                   Internal_asset_location_before__c,Salesdepartment__c, Product_category_F__c, Product_category_text__c,Equipment_Type_text__c,
-                                                                   Salesdepartment_before__c,Rental_Apply__r.Request_shipping_day__c,QuenType__c,IsAdjust__c,Rental_Apply__r.Request_approval_time__c,
-                                                                   Equipment_Type__c, Rental_Apply__r.Internal_asset_location_F__c,Cancel_Reason__c,Loaner_cancel_reason__c,
-                                                                   Loaner_cancel_Remarks__c ,Rental_Apply_Equipment_Set__r.Name
-                                                            FROM Rental_Apply_Equipment_Set_Detail__c
-                                                            WHERE Queue_Number__c > 0
-                                                              AND Cancel_Select__c = false
-                                                              AND ExternalKey__c IN:externalKeyList
-                                                              AND Id NOT IN :detailIds
-                                                            ORDER BY Queue_Number__c ASC ];
-        Map<String,List<Rental_Apply_Equipment_Set_Detail__c>> detailsMap = new Map<String,List<Rental_Apply_Equipment_Set_Detail__c>>();
-        for(Rental_Apply_Equipment_Set_Detail__c setdetail:raesdList){
-            if(!detailsMap.containsKey(setdetail.Externalkey__c)){
-                detailsMap.put(setdetail.Externalkey__c,new List<Rental_Apply_Equipment_Set_Detail__c>());
+                                                        FOR UPDATE
+                                                        ];
+            System.debug(LoggingLevel.INFO, '*** sequenceList: ' + sequenceList);
+            Map<String,List<Rental_Apply_Sequence__c>> sequenceMap = new Map<String,List<Rental_Apply_Sequence__c>>();
+            List<FixtureUtil.SequenceWrapper> Wrappers = new List<FixtureUtil.SequenceWrapper>();
+            for(Rental_Apply_Sequence__c se: sequenceList){
+                Wrappers.add(new FixtureUtil.SequenceWrapper(se));
             }
-            detailsMap.get(setdetail.Externalkey__c).add(setdetail);
-
-            
-        }
-        for(String key:detailsMap.keySet()){
-            Decimal queueNo = minNumberMap.get(key);
-            System.debug(LoggingLevel.INFO, '*** queueNo: ' + queueNo);
-            Decimal i = 0;
-            for(Rental_Apply_Equipment_Set_Detail__c detail : detailsMap.get(key)){
-                System.debug(LoggingLevel.INFO, '*** detail.Queue_Number__c: ' + detail.Queue_Number__c);
-                if(detail.Queue_Number__c > queueNo){
-                    RentalFixtureSetAssignController.KeyObj dobj = RentalFixtureSetAssignController.getSequenceInfo(detail);
-                    sequencekeylist.addAll(dobj.sequencekeylist);
-                    detail.Queue_Number__c  = queueNo + i;
-                    i ++;
-                    System.debug(LoggingLevel.INFO, '**111* detail.Queue_Number__c: ' + detail.Queue_Number__c);
-                    changeDetailList.add(detail);
+            Wrappers.sort();
+            sequenceList = new List<Rental_Apply_Sequence__c>();
+            for(FixtureUtil.SequenceWrapper wrapper:wrappers){
+                sequenceList.add(wrapper.sequence);
+            }
+            for(Rental_Apply_Sequence__c se: sequenceList){
+                if(!sequenceMap.containsKey(se.Externalkey__c)){
+                    sequenceMap.put(se.Externalkey__c,new List<Rental_Apply_Sequence__c>());
+                }
+                sequenceMap.get(se.Externalkey__c).add(se);
+            }
+            List<Rental_Apply_Sequence__c> changeSequenceList = new List<Rental_Apply_Sequence__c>();
+            for(String key:sequenceMap.keyset()){
+                Decimal i = 1;
+                for(Rental_Apply_Sequence__c se: sequenceMap.get(key)){
+                    if(se.Series_No__c != i){
+                        se.Series_No__c =  i;
+                        changeSequenceList.add(se);
+                    }
+                    i ++ ;
                 }
             }
+            update assignSequence;
+            update changeSequenceList;
+            update changeDetailList;
         }
-        List<String> nodusequencekeylist = new List<String>(new Set<String>(sequencekeylist));
-        List<Rental_Apply_Sequence__c> sequenceList = [SELECT Id,ExternalKey__c,Demo_Purpose2__c,
-                                                    Apply_Set_Detail__c,Apply_Set_Detail_ExternalKey__c,
-                                                    Series_No__c,Salesdepartment__c,Product_category__c,
-                                                    Rental_Apply__c,Internal_asset_location__c,
-                                                    Apply_Set_Detail__r.Queue_Number__c,Series_Unequal_Queue_Flag__c,
-                                                    Fixture_Model_No__c,Equipment_Type__c
-                                                    FROM Rental_Apply_Sequence__c
-                                                    WHERE ExternalKey__c IN: nodusequencekeylist
-                                                    AND Id NOT IN:changeSequenceIds
-                                                    AND Series_No__c > 0
-                                                    AND Invalid_Flag__c = false
-                                                    FOR UPDATE
-                                                    ];
-        System.debug(LoggingLevel.INFO, '*** sequenceList: ' + sequenceList);
-        Map<String,List<Rental_Apply_Sequence__c>> sequenceMap = new Map<String,List<Rental_Apply_Sequence__c>>();
-        List<FixtureUtil.SequenceWrapper> Wrappers = new List<FixtureUtil.SequenceWrapper>();
-        for(Rental_Apply_Sequence__c se: sequenceList){
-            Wrappers.add(new FixtureUtil.SequenceWrapper(se));
-        }
-        Wrappers.sort();
-        sequenceList = new List<Rental_Apply_Sequence__c>();
-        for(FixtureUtil.SequenceWrapper wrapper:wrappers){
-            sequenceList.add(wrapper.sequence);
-        }
-        for(Rental_Apply_Sequence__c se: sequenceList){
-            if(!sequenceMap.containsKey(se.Externalkey__c)){
-                sequenceMap.put(se.Externalkey__c,new List<Rental_Apply_Sequence__c>());
-            }
-            sequenceMap.get(se.Externalkey__c).add(se);
-        }
-        List<Rental_Apply_Sequence__c> changeSequenceList = new List<Rental_Apply_Sequence__c>();
-        for(String key:sequenceMap.keyset()){
-            Decimal i = 1;
-            for(Rental_Apply_Sequence__c se: sequenceMap.get(key)){
-                if(se.Series_No__c != i){
-                    se.Series_No__c =  i;
-                    changeSequenceList.add(se);
-                }
-                i ++ ;
-            }
-        }
-        update assignSequence;
-        update changeSequenceList;
-        update changeDetailList;
-
-
     }
 
     private void setUniqueKeyQueue(){
         Map<Id, Rental_Apply_Equipment_Set_Detail__c> olddetailMap = (Map<Id, Rental_Apply_Equipment_Set_Detail__c>) Trigger.oldMap;
 
-        for(Rental_Apply_Equipment_Set_Detail__c newdetail : (List<Rental_Apply_Equipment_Set_Detail__c>)trigger.new){
+        System.debug('寮�濮嬪鐞�------------------------------------');
+        System.debug('(List<Rental_Apply_Equipment_Set_Detail__c>) Trigger.new---------------' + (List<Rental_Apply_Equipment_Set_Detail__c>) Trigger.new);
+        for(Rental_Apply_Equipment_Set_Detail__c newdetail :  (List<Rental_Apply_Equipment_Set_Detail__c>) Trigger.new){
+            System.debug(newdetail.Id + ' 鐢宠鍗曞彿锛�' + newdetail.Rental_Apply__r.name);
             Rental_Apply_Equipment_Set_Detail__c olddetail = olddetailMap.get(newdetail.Id);
+            System.debug('鏃ф帓闃烴o锛�' + olddetail.Queue_Number__c);
+            System.debug('鏂版帓闃烴o锛�' + newdetail.Queue_Number__c);
             
             if((olddetail.Queue_Number__c > 0  && newdetail.Queue_Number__c == 0)// 鏆傚畾鍒嗛厤
                 || (!olddetail.Cancel_Select__c && newdetail.Cancel_Select__c && olddetail.Queue_Number__c > 0)  //鍙栨秷(鎺掗槦涓紝鏆傚畾鍒嗛厤)
@@ -4621,6 +4622,7 @@
                 ){
                 // 娓呯┖鎺掗槦鐨刄niqueKey
                 newdetail.UniqueKey_Queue__c = null;
+                System.debug('鏂版帓闃烾niqueKey_Queue__c锛�' + newdetail.UniqueKey_Queue__c);
             }
 
             // 閲嶆帓鎴栬�呮帓闃烴o鍙樺寲鏃舵洿鏂�
@@ -4629,8 +4631,10 @@
                     || newdetail.ExternalKey__c != olddetail.ExternalKey__c)) {
                 // 鎺掗槦鐨刄niqueKey璁惧��
                 newdetail.UniqueKey_Queue__c = newdetail.ExternalKey__c + ':' + newdetail.Queue_Number__c;
+            System.debug('鏂版帓闃烾niqueKey_Queue__c锛�' + newdetail.UniqueKey_Queue__c);
             }
         }
+        System.debug('缁撴潫澶勭悊------------------------------------');
     }
 
     /*
@@ -4827,13 +4831,12 @@
                                                                  ORDER BY Rental_Apply__c, Rental_Apply_Equipment_Set__c, Name];
         // 鏀堕泦鍥炲瘎鏄庣粏 {raesId -> raesdList}
         Map<Id, List<Rental_Apply_Equipment_Set_Detail__c>> raesdListMap = new Map<Id, List<Rental_Apply_Equipment_Set_Detail__c>>();
-        Map<Id, Rental_Apply__c> return_DeliverySlipIdMap = new Map<Id, Rental_Apply__c>();
         Map<Id, FixtureDeliverySlip__c> return_DeliverySlipMap = new Map<Id, FixtureDeliverySlip__c>();
         for (Rental_Apply_Equipment_Set_Detail__c raesd : raesdList) {
             if (!raesdListMap.containsKey(raesd.Rental_Apply_Equipment_Set__c)) {
                 raesdListMap.put(raesd.Rental_Apply_Equipment_Set__c, new List<Rental_Apply_Equipment_Set_Detail__c>());
             }
-            return_DeliverySlipIdMap.put(raesd.Return_DeliverySlip__c, raesd.Rental_Apply__r);
+
             raesdListMap.get(raesd.Rental_Apply_Equipment_Set__c).add(raesd);
             /* --------- 璁剧疆杩愯緭鍗昅ap Start --------- */
             if (return_DeliverySlipMap.containsKey(raesd.Rental_Apply__c) == false) {

--
Gitblit v1.9.1