From e3c02c03dd2de442bbced87236f60a13a1cd154e Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期四, 02 三月 2023 17:51:57 +0800
Subject: [PATCH] gzw 正式环境最新代码更新

---
 force-app/main/default/classes/UpdateInquiryFormConfirmationBatch.cls |  141 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 139 insertions(+), 2 deletions(-)

diff --git a/force-app/main/default/classes/UpdateInquiryFormConfirmationBatch.cls b/force-app/main/default/classes/UpdateInquiryFormConfirmationBatch.cls
index b8310d8..7a4ad72 100644
--- a/force-app/main/default/classes/UpdateInquiryFormConfirmationBatch.cls
+++ b/force-app/main/default/classes/UpdateInquiryFormConfirmationBatch.cls
@@ -2,11 +2,13 @@
 * 鏇存柊浜у搧鍜ㄨ鍗�
 * 娌℃湁纭鐨勶紝纭澶╂暟=浠婂ぉ-鍒涘缓鏃�----鑷姩 batch
 * 鏈夌‘璁ょ殑锛堝瓨鍦ㄦ渶灏忔棩鏈燂級 纭澶╂暟=鏈�灏忔棩鏈�-鍒涘缓鏃�-----瑙﹀彂鍣�
+* ocm绠$悊鐪佷腑瀵瑰簲鐨凣I锛孲P鍔╃悊鍙樺寲锛屼骇鍝佸挩璇㈠崟涔熷彉
 */
 global class UpdateInquiryFormConfirmationBatch implements Database.Batchable<sObject> {
     public String query;
     public String inqid;
     private BatchIF_Log__c iflog;
+    private String stb_Flag;//20220614 WLIG-CER9NQ you
 
     global UpdateInquiryFormConfirmationBatch() {
         this.query = query;
@@ -16,6 +18,7 @@
         iflog.Log__c = 'UpdateInquiryFormConfirmationBatch start\n';
         iflog.ErrorLog__c = '';
         insert iflog;
+        stb_Flag=System.label.SetPersonalTargetBatch_Flag;
     }
 
     global UpdateInquiryFormConfirmationBatch(String inqid) {
@@ -27,6 +30,7 @@
         iflog.Log__c = 'UpdateInquiryFormConfirmationBatch start\n';
         iflog.ErrorLog__c = '';
         insert iflog;
+        stb_Flag=System.label.SetPersonalTargetBatch_Flag;
     }
 
     global Database.QueryLocator start(Database.BatchableContext BC) {
@@ -40,6 +44,21 @@
 
     global void execute(Database.BatchableContext BC, list<Inquiry_form__c> inquiryList) {
         system.debug('==='+inquiryList.size());
+        updateTimeoutDays(inquiryList,iflog);
+        
+        //20220518 you SWAG-CBUB2W start
+        Map<String, OCM_Management_Province__c> mpMap = new Map<String, OCM_Management_Province__c>();
+        List<OCM_Management_Province__c> ocmList = [select id, Name, GI_assistant__c,SP_assistant__c from OCM_Management_Province__c];
+        system.debug('==ocmList='+ocmList.size());
+       // 鍙栧緱OCSM绠$悊鐪佺殑GI,SP 鍔╃悊
+        for (OCM_Management_Province__c mp : ocmList) {
+            mpMap.put(mp.Name, mp);
+        }
+         updateGISPAssistant(mpMap, iflog);
+        //20220518 you SWAG-CBUB2W end
+    }
+    //纭澶╂暟璧嬪��
+    public static void updateTimeoutDays(List<Inquiry_form__c> inquiryList, BatchIF_Log__c iflog) {
         String dateToday = String.valueOf(Date.today());
         for(Inquiry_form__c inq:inquiryList){
             String crdate = String.valueOf(inq.CreateDate__c);
@@ -71,8 +90,41 @@
                 indexCon ++ ;   
             } 
         }
-        
-    }
+    }  
+    public static void updateGISPAssistant(Map<String, OCM_Management_Province__c> mpMap, BatchIF_Log__c iflog) {
+         List<Inquiry_form__c> updateInquiryFormList =
+            [select id, GI_assistant__c, SP_assistant__c,OCM_man_province_cus__c,IfGotoDepartment__c from Inquiry_form__c
+        where (GI_assistant__c !=null or SP_assistant__c !=null)
+        and IfGotoDepartment__c = false ]; //杩樻病鏈夎浆绉荤瀹ょ殑锛岃鏄庡姪鐞嗚繕闇�瑕佹搷浣滐紝杩欎釜鏃跺�欏鏋渙csm鍔╃悊鏀瑰彉锛岃繖杈逛篃璺熺潃鏀瑰彉
+        system.debug('==updateInquiryFormList='+updateInquiryFormList.size());
+        for (Inquiry_form__c ifo : updateInquiryFormList) {
+            system.debug('==mpMap='+mpMap+'==ifo.OCM_man_province_cus__c=='+ifo.OCM_man_province_cus__c);
+            if(null!=mpMap && mpMap.containsKey(ifo.OCM_man_province_cus__c)){
+               OCM_Management_Province__c omp = mpMap.get(ifo.OCM_man_province_cus__c);
+                if (omp != null) {
+                    if(ifo.GI_assistant__c != omp.GI_assistant__c){
+                       ifo.GI_assistant__c = omp.GI_assistant__c;
+                    }
+                    if(ifo.SP_assistant__c != omp.SP_assistant__c){
+                       ifo.SP_assistant__c = omp.SP_assistant__c;
+                    }
+                }
+             }
+        }
+        Integer indexCon = 0;
+        Database.SaveResult[] lsrUpdateInq = Database.update(updateInquiryFormList, false);
+        for (Database.SaveResult lsrChild : lsrUpdateInq) {
+            if (!lsrChild.isSuccess()) {
+                iflog.Is_Error__c = 3;
+                Database.Error emsg = lsrChild.getErrors()[0];
+                iflog.ErrorLog__c += 'GI鍔╃悊: ' + updateInquiryFormList.get(indexCon).GI_assistant__c + ' \n'
+                                     +'SP鍔╃悊: ' + updateInquiryFormList.get(indexCon).SP_assistant__c + ' \n'
+                                     + 'InquiryFormID: ' + updateInquiryFormList.get(indexCon).Id + '\n ConLog:' + emsg.getMessage() + '\n';
+
+            }
+            indexCon ++ ;
+        }
+    }  
 
     global void finish(Database.BatchableContext BC) {
         system.debug('=====iflog:' + iflog.id+'==='+iflog.ErrorLog__c);
@@ -100,6 +152,91 @@
                 update iflog;
             }
         }
+        //20220614 WLIG-CER9NQ you
+        if (stb_Flag=='true') {
+          Database.executeBatch(new SetPersonalTargetBatch(), 20);
+        }
 
     }
+    @TestVisible private static 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++;//鍙互澶氬啓鐐�
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1