From 6b05e5c975c7e33b09e6073f1ec8419e1f9b065b Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期三, 30 十一月 2022 16:23:37 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG

---
 force-app/main/default/classes/OPDPlanCancelPostponePlanLogicBatch.cls |   38 ++++++++++++++++---
 force-app/main/default/classes/EnquiryBoostTypeBatch.cls               |   67 +++++++++++++++++++++------------
 2 files changed, 75 insertions(+), 30 deletions(-)

diff --git a/force-app/main/default/classes/EnquiryBoostTypeBatch.cls b/force-app/main/default/classes/EnquiryBoostTypeBatch.cls
index 9553ee7..921d1c2 100644
--- a/force-app/main/default/classes/EnquiryBoostTypeBatch.cls
+++ b/force-app/main/default/classes/EnquiryBoostTypeBatch.cls
@@ -42,41 +42,58 @@
     global void execute(Database.BatchableContext BC, list<Rental_Apply__c> scope) {
         if(scope != null && scope.size() > 0){
             List<Rental_Apply__c> addListRentalApply = new List<Rental_Apply__c>();
+            // 20221129 ljh DB202211366462 璇环鐘舵��2 start
+            String InquiryStatusMapping = System.Label.Inquiry_Status_Mapping;
+            Map<String, Object> mapping = (Map<String, Object>) JSON.deserializeUntyped(InquiryStatusMapping);
+            // 20221129 ljh DB202211366462 璇环鐘舵��2 end
             for(Rental_Apply__c ra : scope){
                 String newFollowPclStatus2Text = ra.Follow_pcl_status2_Text__c;
                 String newFollowPclStatus2 = ra.Follow_pcl_status2__c;
                 Rental_Apply__c raData = new Rental_Apply__c();
                 raData.id = ra.id;
+                
                 if(newFollowPclStatus2Text != null){
+                    // 20221129 ljh DB202211366462 璇环鐘舵��2 start
                     //璺熻繘涓�
-                    if(newFollowPclStatus2Text == '寮曞悎 : -' || newFollowPclStatus2Text == '寮曞悎 : 00 杩樻病鏇存柊' || newFollowPclStatus2Text == '寮曞悎 : 01 杩樻病鎷滆' || newFollowPclStatus2Text == '寮曞悎 : 02 璺熻繘涓�'){
-                        raData.Inquiry_Status_History__c = 1;
-                    }else if(newFollowPclStatus2Text == '寮曞悎 : 03 宸叉巿鏉�'){//宸叉巿鏉�
-                        raData.Inquiry_Status_History__c = 2;
-                    }else if(newFollowPclStatus2Text == '寮曞悎 : 04 宸蹭腑鏍�' || newFollowPclStatus2Text == '寮曞悎 : 05 浠锋牸鐢宠涓�' || newFollowPclStatus2Text == '寮曞悎 : 06 鐢ㄦ埛鏈绾�' || newFollowPclStatus2Text == '寮曞悎 : 07 鐢ㄦ埛宸茬绾�'
-                         || newFollowPclStatus2Text == '寮曞悎 : 08 宸茬绾�'){//鍑嗗绛剧害
-                        raData.Inquiry_Status_History__c = 3;
-                    }else if(newFollowPclStatus2Text == '鍑鸿嵎 : -' || newFollowPclStatus2Text == '瀹屼簡 : -'  || newFollowPclStatus2Text == '娉ㄦ畫 : -' || newFollowPclStatus2Text == '瀹屼簡 : 08 宸茬绾�'){//宸茶璐�
-                        raData.Inquiry_Status_History__c = 4;
-                    }else if(newFollowPclStatus2Text == '鍓婇櫎 : 17 鍙栨秷' || newFollowPclStatus2Text == '鏁楁垿 : 18 澶卞崟'){//0.鍙栨秷  0.澶卞崟 
-                        raData.Inquiry_Status_History__c = 0;
-                    }
+                    // if(newFollowPclStatus2Text == '寮曞悎 : -' || newFollowPclStatus2Text == '寮曞悎 : 00 杩樻病鏇存柊' || newFollowPclStatus2Text == '寮曞悎 : 01 杩樻病鎷滆' || newFollowPclStatus2Text == '寮曞悎 : 02 璺熻繘涓�'){
+                    //     raData.Inquiry_Status_History__c = 1;
+                    // }else if(newFollowPclStatus2Text == '寮曞悎 : 03 宸叉巿鏉�'){//宸叉巿鏉�
+                    //     raData.Inquiry_Status_History__c = 2;
+                    // }else if(newFollowPclStatus2Text == '寮曞悎 : 04 宸蹭腑鏍�' || newFollowPclStatus2Text == '寮曞悎 : 05 浠锋牸鐢宠涓�' || newFollowPclStatus2Text == '寮曞悎 : 06 鐢ㄦ埛鏈绾�' || newFollowPclStatus2Text == '寮曞悎 : 07 鐢ㄦ埛宸茬绾�'
+                    //      || newFollowPclStatus2Text == '寮曞悎 : 08 宸茬绾�'){//鍑嗗绛剧害
+                    //     raData.Inquiry_Status_History__c = 3;
+                    // }else if(newFollowPclStatus2Text == '鍑鸿嵎 : -' || newFollowPclStatus2Text == '瀹屼簡 : -'  || newFollowPclStatus2Text == '娉ㄦ畫 : -' || newFollowPclStatus2Text == '瀹屼簡 : 08 宸茬绾�'){//宸茶璐�
+                    //     raData.Inquiry_Status_History__c = 4;
+                    // }else if(newFollowPclStatus2Text == '鍓婇櫎 : 17 鍙栨秷' || newFollowPclStatus2Text == '鏁楁垿 : 18 澶卞崟'){//0.鍙栨秷  0.澶卞崟 
+                    //     raData.Inquiry_Status_History__c = 0;
+                    // }
+                    raData.Inquiry_Status_History__c = mapping.get(newFollowPclStatus2Text) != null ? Integer.valueOf(mapping.get(newFollowPclStatus2Text)) : null;
+                    // System.debug('zheli00:'+mapping.get(newFollowPclStatus2Text));
+                    // 20221129 ljh DB202211366462 璇环鐘舵��2 end
                 }
                 if(newFollowPclStatus2 != null){
+                    // 20221129 ljh DB202211366462 璇环鐘舵��2 start
                     //璺熻繘涓�
-                    if(newFollowPclStatus2 == '寮曞悎 : -' || newFollowPclStatus2 == '寮曞悎 : 00 杩樻病鏇存柊' || newFollowPclStatus2 == '寮曞悎 : 01 杩樻病鎷滆' || newFollowPclStatus2 == '寮曞悎 : 02 璺熻繘涓�'){
-                        raData.Inquiry_Status_Now__c = 1;
-                    }else if(newFollowPclStatus2 == '寮曞悎 : 03 宸叉巿鏉�'){//宸叉巿鏉�
-                        raData.Inquiry_Status_Now__c = 2;
-                    }else if(newFollowPclStatus2 == '寮曞悎 : 04 宸蹭腑鏍�' || newFollowPclStatus2 == '寮曞悎 : 05 浠锋牸鐢宠涓�' || newFollowPclStatus2 == '寮曞悎 : 06 鐢ㄦ埛鏈绾�' || newFollowPclStatus2 == '寮曞悎 : 07 鐢ㄦ埛宸茬绾�'
-                         || newFollowPclStatus2 == '寮曞悎 : 08 宸茬绾�'){//鍑嗗绛剧害
-                        raData.Inquiry_Status_Now__c = 3;
-                    }else if(newFollowPclStatus2 == '鍑鸿嵎 : -' || newFollowPclStatus2 == '瀹屼簡 : -'  || newFollowPclStatus2 == '娉ㄦ畫 : -' || newFollowPclStatus2 == '瀹屼簡 : 08 宸茬绾�'){//宸茶璐�
-                        raData.Inquiry_Status_Now__c = 4;
-                    }else if(newFollowPclStatus2 == '鍓婇櫎 : 17 鍙栨秷' || newFollowPclStatus2 == '鏁楁垿 : 18 澶卞崟'){//0.鍙栨秷  0.澶卞崟
-                        raData.Inquiry_Status_Now__c = 0;
-                    }
+                    // if(newFollowPclStatus2 == '寮曞悎 : -' || newFollowPclStatus2 == '寮曞悎 : 00 杩樻病鏇存柊' || newFollowPclStatus2 == '寮曞悎 : 01 杩樻病鎷滆' || newFollowPclStatus2 == '寮曞悎 : 02 璺熻繘涓�'){
+                    //     raData.Inquiry_Status_Now__c = 1;
+                    // }else if(newFollowPclStatus2 == '寮曞悎 : 03 宸叉巿鏉�'){//宸叉巿鏉�
+                    //     raData.Inquiry_Status_Now__c = 2;
+                    // }else if(newFollowPclStatus2 == '寮曞悎 : 04 宸蹭腑鏍�' || newFollowPclStatus2 == '寮曞悎 : 05 浠锋牸鐢宠涓�' || newFollowPclStatus2 == '寮曞悎 : 06 鐢ㄦ埛鏈绾�' || newFollowPclStatus2 == '寮曞悎 : 07 鐢ㄦ埛宸茬绾�'
+                    //      || newFollowPclStatus2 == '寮曞悎 : 08 宸茬绾�'){//鍑嗗绛剧害
+                    //     raData.Inquiry_Status_Now__c = 3;
+                    // }else if(newFollowPclStatus2 == '鍑鸿嵎 : -' || newFollowPclStatus2 == '瀹屼簡 : -'  || newFollowPclStatus2 == '娉ㄦ畫 : -' || newFollowPclStatus2 == '瀹屼簡 : 08 宸茬绾�'){//宸茶璐�
+                    //     raData.Inquiry_Status_Now__c = 4;
+                    // }else if(newFollowPclStatus2 == '鍓婇櫎 : 17 鍙栨秷' || newFollowPclStatus2 == '鏁楁垿 : 18 澶卞崟'){//0.鍙栨秷  0.澶卞崟
+                    //     raData.Inquiry_Status_Now__c = 0;
+                    // }
+                     
+                    
+                    raData.Inquiry_Status_Now__c = mapping.get(newFollowPclStatus2) != null ? Integer.valueOf(mapping.get(newFollowPclStatus2)) : null;
+                    // System.debug('zheli01:'+mapping.get(newFollowPclStatus2));
+                    // 20221129 ljh DB202211366462 璇环鐘舵��2 end
                 }
+                // Boolean aa = raData.Inquiry_Status_Now__c != ra.Inquiry_Status_Now__c;
+                // System.debug('zheli03:'+aa+raData.Inquiry_Status_Now__c +'~~'+ ra.Inquiry_Status_Now__c);
                 //涓轰簡鍑忓皯update锛屽鏋滃�兼病鏈夊彂鐢熷彉鍖栵紝閭d箞涓嶉渶瑕佹洿鏂�
                 if((raData.Inquiry_Status_Now__c != ra.Inquiry_Status_Now__c) || (raData.Inquiry_Status_History__c != ra.Inquiry_Status_History__c)){
                     addListRentalApply.add(raData);
@@ -84,8 +101,10 @@
             }
             Savepoint sp = Database.setSavepoint();
             try{
+                // System.debug('zheli05:');
                 update addListRentalApply;
             }catch(exception e){
+                // System.debug('zheli04:'+e.getMessage());
                 errStr = e.getMessage()+'\n';
                 errStr += e.getLineNumber()+'\n';
                 Database.rollback(sp);
diff --git a/force-app/main/default/classes/OPDPlanCancelPostponePlanLogicBatch.cls b/force-app/main/default/classes/OPDPlanCancelPostponePlanLogicBatch.cls
index bc46d1e..ce3a52f 100644
--- a/force-app/main/default/classes/OPDPlanCancelPostponePlanLogicBatch.cls
+++ b/force-app/main/default/classes/OPDPlanCancelPostponePlanLogicBatch.cls
@@ -1,6 +1,7 @@
 //褰撳墠鏃ユ湡澶т簬OPD璁″垝瀹炴柦鏃ユ湡 and 鐘舵�佷笉绛変簬鍙栨秷鎴栧畬姣� and 锛坥pd璁″垝涓嬫病鏈変换浣曞緱澶囧搧鍊熷嚭鐢宠 or 鎴栬�呭搴斿鍝佸�熷嚭鐘舵�佹槸鑽夋涓�,鐢宠涓�,鍙栨秷鏃讹級
 //闇�瑕佸垱寤篛PD璁″垝鍙栨秷寤舵湡,鏇存柊opd璁″垝
 //1.OPD璁″垝鍙栨秷寤舵湡.鍙栨秷鐞嗙敱鏄彇娑堟垚鍔�,2.闇�瑕佽�冭檻opd璁″垝鎵�鏈変汉鏄惁宸茬鑱岋紝鑻ョ鑱岋紝鍙栨秷/寤舵湡鐞嗙敱涓烘媴褰撶鑱岋紝鍚﹀垯涓烘病瀹屾垚澶囧搧鐢宠
+// OPD璁″垝寤舵湡涓�娆″悗锛屽湪绗簩涓湀浠嶆病鏈夊垎閰嶅鍝佺殑锛孫PD璁″垝鑷姩鍙栨秷锛屽師鍥犱负澶囧搧涓嶈冻锛屽悓鏃跺鍝佺敵璇疯嚜鍔ㄥ彇娑堛�� ljh 20220929 
 global class OPDPlanCancelPostponePlanLogicBatch implements Database.Batchable<sObject>, Database.Stateful {
     //鍔犳棩蹇� 涓轰簡鏇存柊鍘嗗彶鏁版嵁 鍋氫竴涓嬫棩蹇楁煡鐪� 20201124 you start
     private final Id TEST_ID = null;
@@ -65,9 +66,8 @@
         List<CancelPostponePlan__c> cppList =  new List<CancelPostponePlan__c>();
         List<OPDPlan__c> OpdRtlList = new List<OPDPlan__c>();
         List<OPDPlan__c>OpdUpList = new List<OPDPlan__c>();
-
         system.debug('OPDPlanList' + OPDPlanList.size());
-
+        Set<Id> raIdSet = new Set<Id>();// 鏈変繚鏈夎澶� 鐨勪竴鐢宠涔�  20221107 ljh update SWAG-CHM5E4
         for (OPDPlan__c op : OPDPlanList) {
             if (op.Rental_Apply2__c != null) {
                 // 鎵�鏈夋湁澶囧搧鐨凮PD璁″垝
@@ -79,25 +79,51 @@
         }
         //opdID涓嶰PD璁″垝鍙栨秷寤舵湡Map
         Map<id, Rental_Apply__c> rtlMap  = new Map<id, Rental_Apply__c>();
+        Set<Id> rtl3Set  = new Set<Id>();//20221108  ljh update SWAG-CHM5E4
         if (OpdRtlList.size() > 0) {
             //鑾峰彇OPD璁″垝涓嬬殑鍙栨秷寤舵湡鏁版嵁
+            //20220920  ljh update SWAG-CHM5E4  start
+            List<Rental_Apply_Equipment_Set_Detail__c> raesList =
+                [select Rental_Apply__c from Rental_Apply_Equipment_Set_Detail__c where Asset__c != null and Rental_Apply__r.OPDPlan__c in :OpdRtlList];
+            for(Rental_Apply_Equipment_Set_Detail__c raes:raesList){
+                raIdSet.add(raes.Rental_Apply__c);
+            }    
+            //20220920  ljh update SWAG-CHM5E4 end
             List<Rental_Apply__c> rtlList =
                 [select id, RA_Status__c, OPDPlan__c from Rental_Apply__c where OPDPlan__c in :OpdRtlList];
             //鍙栧嚭澶囧搧鍊熷嚭鐘舵�佷笉鏄崏妗堜腑,鐢宠涓�,鍙栨秷鐨勫彇娑堝欢鏈熸暟鎹斁鍏ap
             for (Rental_Apply__c rtl : rtlList) {
-                if (rtl.RA_Status__c != '鑽夋涓�' && rtl.RA_Status__c != '鐢宠涓�' && rtl.RA_Status__c != '鍙栨秷') {
+                //20221007  ljh update SWAG-CHM5E4 start
+                // if (rtl.RA_Status__c != '鑽夋涓�' && rtl.RA_Status__c != '鐢宠涓�' && rtl.RA_Status__c != '鍙栨秷') {
+                //     // OPD璁″垝-鎵�鏈夊鍝丮ap
+                //     rtlMap.put(rtl.OPDPlan__c, rtl);
+                // }
+                if (rtl.RA_Status__c == '鑽夋涓�' || rtl.RA_Status__c == '鐢宠涓�' || rtl.RA_Status__c == '鍙栨秷') {
                     // OPD璁″垝-鎵�鏈夊鍝丮ap
-                    rtlMap.put(rtl.OPDPlan__c, rtl);
+                    rtl3Set.add(rtl.OPDPlan__c);
                 }
+                if(raIdSet.contains(rtl.Id)){
+                    rtlMap.put(rtl.OPDPlan__c, rtl);
+                } 
+                //20221007  ljh update SWAG-CHM5E4 end
             }
         }
+        Date dateToday1 = Date.today();//20221108  ljh update SWAG-CHM5E4
         //鍙栧嚭鍙互鍙樻洿鐨勫鍝佸�熷嚭鐢宠
         for (OPDPlan__c OpdRt : OpdRtlList) {
-            if (!rtlMap.containskey(OpdRt.Id)) {
+            //20221108  ljh update SWAG-CHM5E4 start
+            // if (!rtlMap.containskey(OpdRt.Id)) {
+            //     OpdUpList.add(OpdRt);
+            // }
+            if (!rtlMap.containskey(OpdRt.Id) && rtl3Set.contains(OpdRt.Id)) {
+                OpdUpList.add(OpdRt);
+            }else if(!rtlMap.containskey(OpdRt.Id) && !rtl3Set.contains(OpdRt.Id) && OpdRt.OPDPlan_ImplementDate__c < dateToday1 && OpdRt.SystemDelayMark__c){
                 OpdUpList.add(OpdRt);
             }
+            //20221108  ljh update SWAG-CHM5E4 end
         }
-        Date dateToday1 = Date.today();
+        // Date dateToday1 = Date.today();
+        System.debug('OpdUpList涓暟:'+OpdUpList.size());
         //璧嬪�奸渶瑕佽�冭檻鎷呭綋鑰呮槸鍚﹀湪鑱�
         for (OPDPlan__c op : OpdUpList) {
             CancelPostponePlan__c cpp = new CancelPostponePlan__c();

--
Gitblit v1.9.1