From 2c3d6d192684544c38df54ebb304ddab127c2c53 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 26 五月 2023 16:41:19 +0800
Subject: [PATCH] backup signoff

---
 force-app/main/default/classes/DNUpsertBatch.cls                |   31 ++-------------
 force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls |   56 +++++++++++++++++----------
 force-app/main/default/classes/OCSMHandler.cls                  |    5 +-
 manifest/packageForSign.xml                                     |    4 +-
 force-app/main/default/classes/updateESignBatch.cls             |    6 +-
 5 files changed, 46 insertions(+), 56 deletions(-)

diff --git a/force-app/main/default/classes/DNUpsertBatch.cls b/force-app/main/default/classes/DNUpsertBatch.cls
index a0bf320..66ba7d8 100644
--- a/force-app/main/default/classes/DNUpsertBatch.cls
+++ b/force-app/main/default/classes/DNUpsertBatch.cls
@@ -291,12 +291,11 @@
             Map < String, String > provinceGIMap = new Map< String, String > ();
             //妫�绱CSM绠$悊鐪佸璞�
             //闆嗕腑閲囪喘璇环 澧炲姞妫�绱㈠姪鐞� 
-            List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c   from OCM_Management_Province__c ];
+            List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c   from OCM_Management_Province__c ];
             //瀛樻斁map<鐪侊紝鎷呭綋>
             for (OCM_Management_Province__c omp: ompList) {
                 provinceOwnerMap.put(omp.Name, omp.SalesManage__c);
-                //provinceGIMap.put(omp.Name,omp.GI_assistant__c); //Commented by Li Jun 20230420
-                provinceGIMap.put(omp.Name, omp.Window1__c);// Add By Li Jun 鏇存柊 绛炬敹鍗曠殑銆愯惀涓氬姪鐞嗐�戝�硷紝浠嶰CSM绠$悊鐪佸搴旂殑銆愯惀涓氱獥鍙c�戝瓧娈佃幏鍙�
+                provinceGIMap.put(omp.Name,omp.GI_assistant__c);
             }
             // 鐢靛瓙绛炬敹鍗� end
 
@@ -574,30 +573,12 @@
                  Statu_Achievements__r.orderType__c 
                  //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 end
                  //acc鏍囪瘑 end
-                 //Add by Li Jun 20230420 start 
-                 ,Opportunity__r.OCM_man_province_cus__c
-                 //Add By Li Jun 20230420 end
                  from Statu_Achievements_DN__c where
                  Name in: DNNoSet];
         return DNList;
     }
     global void finish(Database.BatchableContext BC) {
     }
-
-    //Add By Li Jun 0420 Start query management province
-    private static Map<String,OCM_Management_Province__c> provinceManagementMap{set;get;}
-    public static Map<String,OCM_Management_Province__c> getManagementProvince(){ 
-        if(provinceManagementMap !=null && provinceManagementMap.keySet().size()>0 ){
-            return provinceManagementMap;
-        }
-        provinceManagementMap = new Map<String,OCM_Management_Province__c>();
-        List <OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c   from OCM_Management_Province__c];
-        for (OCM_Management_Province__c omp: ompList) {
-            provinceManagementMap.put(omp.Name,omp);
-        }
-        return provinceManagementMap;
-    }
-      //Add By Li Jun 0420 End
     /* 鏋勫缓绛炬敹鍗曪細
      * eSFMap 鏄郴缁熼噷闈㈢幇鏈夌殑绛炬敹鍗�
      * key 涓� DN鍙凤紱
@@ -750,14 +731,10 @@
                     // 鐢靛瓙绛炬敹鍗�  璧嬪�艰惀涓氬姪鐞嗗拰钀ヤ笟绠$悊閮ㄦ媴褰� start
                     //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 start 
                     if(opp.Group_purchase_PCL__c){
-                        system.debug('闆嗛噰璇�');
-                        tempSADN.Sales_assistant_name_text__c = provinceGIMap.containskey('闆嗛噰璇�')?provinceGIMap.get('闆嗛噰璇�'):null; //Add  By Li Jun 20230523
-                        //tempSADN.Sales_assistant_name_text__c = provinceGIMap.get('闆嗛噰璇�'); //Commented By Li Jun 20230420
+                        tempSADN.Sales_assistant_name_text__c = provinceGIMap.get('闆嗛噰璇�');
                         tempSADN.RC_Manager__c =  provinceOwnerMap.get('闆嗛噰璇�');
                     }else{
-                        system.debug('闈為泦閲囪');
-                        //tempSADN.Sales_assistant_name_text__c = opp.Sales_assistant_name_text__c; //Commented By Li Jun 20230420
-                        tempSADN.Sales_assistant_name_text__c =opp.OCM_man_province_cus__c!='' && provinceGIMap.containskey(opp.OCM_man_province_cus__c)?provinceGIMap.get(opp.OCM_man_province_cus__c):null; //Add  By Li Jun 20230523
+                        tempSADN.Sales_assistant_name_text__c = opp.Sales_assistant_name_text__c;
                         tempSADN.RC_Manager__c =  provinceOwnerMap.get(opp.OCM_man_province_cus__c);
                     }
                     //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 end
diff --git a/force-app/main/default/classes/OCSMHandler.cls b/force-app/main/default/classes/OCSMHandler.cls
index a8aa3db..d904fd0 100644
--- a/force-app/main/default/classes/OCSMHandler.cls
+++ b/force-app/main/default/classes/OCSMHandler.cls
@@ -49,7 +49,7 @@
                     }
                 }
                 //Add By Li Jun 20230420 Start 
-                if (local.Window1__c != null &&  local.Window1__c != old.Window1__c) {
+                if ((local.GI_assistant__c != null &&  local.GI_assistant__c != old.GI_assistant__c) || (local.SP_assistant__c != null &&  local.SP_assistant__c != old.SP_assistant__c)) {
                     changedWindowProvince.add(local.Name);   
                 }                
                 //Add By Li Jun 20230420 End
@@ -66,5 +66,4 @@
         }
         //Add By Li Jun 20230420 End
     }
-}
-//LY          2021/11/12                  end
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls b/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
index 711e8c0..b2fccf3 100644
--- a/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
+++ b/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
@@ -1,34 +1,34 @@
 global without sharing class SyncProvinceWIndowToSignForm implements Database.Batchable<sObject>, Database.Stateful {
     private Set<String> changedWindowProvince { get; set; }
-
-    global SyncProvinceWIndowToSignForm(Set<String> changedWindowProvince) {
-        this.changedWindowProvince = changedWindowProvince;
-    }
-
-    global Database.QueryLocator start(Database.BatchableContext BC) {
-        String query = 'select Sales_assistant_name_text__c,isProcessed__c,OCM_man_province_cus__c from eSignForm__c ';
-        if (changedWindowProvince != null && changedWindowProvince.size() > 0) {
-            if (!Test.isRunningTest()) {
-                query += '  where isProcessed__c = false and Group_purchase_PCL__c = false and OCM_man_province_cus__c = :changedWindowProvince ';
-            }
-            system.debug('SOQL:' + query);
-            return Database.getQueryLocator(query);
-        }
-        return null;
-    }
+    private final string JCKStr ='闆嗛噰璇�'; 
     private static Map<String,OCM_Management_Province__c> provinceManagementMap{set;get;}
     public static Map<String,OCM_Management_Province__c> getManagementProvince(){ 
         if(provinceManagementMap !=null && provinceManagementMap.keySet().size()>0 ){
             return provinceManagementMap;
         }
         provinceManagementMap = new Map<String,OCM_Management_Province__c>();
-        List <OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c   from OCM_Management_Province__c];
+        List <OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,SP_assistant__c   from OCM_Management_Province__c];
         for (OCM_Management_Province__c omp: ompList) {
             provinceManagementMap.put(omp.Name,omp);
         }
         return provinceManagementMap;
     }
 
+    global SyncProvinceWIndowToSignForm(Set<String> changedWindowProvince) {
+        this.changedWindowProvince = changedWindowProvince;
+    }
+
+    global Database.QueryLocator start(Database.BatchableContext BC) {
+        String query = 'select Sales_assistant_name_text__c,isProcessed__c,OCM_man_province_cus__c,Statu_Achievements__r.Opportunity__r.Opportunity_Category__c,Group_purchase_PCL__c from eSignForm__c ';
+        if (changedWindowProvince != null && changedWindowProvince.size() > 0) {
+            if (!Test.isRunningTest()) {
+                query += '  where isProcessed__c = false and (OCM_man_province_cus__c = :changedWindowProvince or Group_purchase_PCL__c = true)';
+            }
+            system.debug('SOQL:' + query);
+            return Database.getQueryLocator(query);
+        }
+        return null;
+    }
     global void execute(Database.BatchableContext BC, List<eSignForm__c> signFormList) {
         system.debug('sign form list size:' + signFormList.size());
         // 鍙栧緱OCM绠$悊鐪佷俊鎭�
@@ -37,10 +37,24 @@
         List<eSignForm__c> updList = new List<eSignForm__c>();
         if (signFormList != null && signFormList.size() > 0) {
             for (eSignForm__c temp : signFormList) {
-                String provinceName = Test.isRunningTest() ? '鍖椾含甯�' : temp.OCM_man_province_cus__c;
-                if (provinceName != '' && provinceMap.containsKey(provinceName) && provinceMap.get(provinceName).Window1__c != null) {
-                    temp.Sales_assistant_name_text__c = provinceMap.get(provinceName).Window1__c;
-                    updList.add(temp);
+                String oppType = String.isBlank(temp.Statu_Achievements__r.Opportunity__r.Opportunity_Category__c)?'':temp.Statu_Achievements__r.Opportunity__r.Opportunity_Category__c;
+                system.debug('Opportunity Type:'+ oppType);
+                String provinceName = Test.isRunningTest() ? '鍖椾含甯�' : (temp.Group_purchase_PCL__c?JCKStr:temp.OCM_man_province_cus__c);
+                Boolean userGIId =(oppType == 'GI' || oppType == 'BF' || oppType == 'ET')?true:false;
+                if(provinceName != ''&& provinceMap.containsKey(provinceName)){
+                    String GIId = provinceMap.get(provinceName).GI_assistant__c!=null?provinceMap.get(provinceName).GI_assistant__c:'';
+                    STring SPId = provinceMap.get(provinceName).SP_assistant__c!=null?provinceMap.get(provinceName).SP_assistant__c:'';
+                    Boolean updateGIId = (userGIId && GIId!='' && temp.Sales_assistant_name_text__c != GIId) ? true:false;
+                    Boolean updateSPId = ((!userGIId) && SPId!='' && temp.Sales_assistant_name_text__c!=SPId)? true:false;
+                    if(updateGIId) {
+                        temp.Sales_assistant_name_text__c = provinceMap.get(provinceName).GI_assistant__c;
+                    } 
+                    if(updateSPId){
+                        temp.Sales_assistant_name_text__c = provinceMap.get(provinceName).SP_assistant__c;
+                    }
+                    if(updateGIId || updateSPId){
+                        updList.add(temp);
+                    }                            
                 }
             }
             // 绛炬敹鍗曟洿鏂�
diff --git a/force-app/main/default/classes/updateESignBatch.cls b/force-app/main/default/classes/updateESignBatch.cls
index ca1d529..5ac8c23 100644
--- a/force-app/main/default/classes/updateESignBatch.cls
+++ b/force-app/main/default/classes/updateESignBatch.cls
@@ -709,7 +709,7 @@
                                     }
                                 }
                                 //缁欒惀涓氬姪鐞嗚祴鍊�
-                                //eSignForm.Sales_assistant_name_text__c = eSignFormEntry.Sales_assistant_ID__c;// Commented By Li Jun 20230420
+                                eSignForm.Sales_assistant_name_text__c = eSignFormEntry.Sales_assistant_ID__c;
                                 //瀛樹竴涓猧d
                                 idlast = eSignFormEntry.Id;
                                 //绛炬敹鍗昻ame鐢ㄤ綔鏂囦欢鍛藉悕
@@ -1170,14 +1170,14 @@
 
         List < eSignForm__c > eSignFormLastList = new List < eSignForm__c >();
         //妫�绱CSM绠$悊鐪佸璞�
-        List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c    from OCM_Management_Province__c where Name IN: provinceList];
+        List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c    from OCM_Management_Province__c where Name IN: provinceList];
         //瀛樻斁map<鐪侊紝鎷呭綋>
         for (OCM_Management_Province__c omp : ompList) {
             //涓嶇敤map<String,list>鐨� 鍘熷洜鏄� 鎯� ocsm绠$悊鐪� 鍜岀鏀跺崟 钀ヤ笟鎷呭綋鐨勯『搴忎繚鎸佷竴鑷�
             //String salesManage = omp.SalesManage__c+','+omp.SalesManage2__c+','+omp.SalesManage3__c;
             //provinceOwnerMap.put(omp.Name, salesManage);
             provinceOwnerMap.put(omp.Name, omp.SalesManage__c);
-            provinceGIMap.put(omp.Name, omp.Window1__c);//Update By Li Jun 20230420 for  绛炬敹鍗曡惀涓氬姪鐞嗕粠GI/SP鍔╃悊鏀逛负绛炬敹鍗昈CSM鐪佺殑钀ヤ笟绐楀彛
+            provinceGIMap.put(omp.Name, omp.GI_assistant__c);
         }
         //鈶犱负true鐨勬椂鍊� 鏄叾浠栨病鍙戠敓鍙樺寲鍙湁ocsm鐪佷笂钀ヤ笟鎷呭綋鏀瑰彉
         //鈶′负false鐨勬椂鍊欙紝鏈変腑闂磋〃姝e父鏇存柊鐨勬儏鍐�
diff --git a/manifest/packageForSign.xml b/manifest/packageForSign.xml
index f63f744..224a934 100644
--- a/manifest/packageForSign.xml
+++ b/manifest/packageForSign.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 <Package xmlns="http://soap.sforce.com/2006/04/metadata">
     <types>
-        <members>updateESignBatch</members>
-        <members>DNUpsertBatch</members>
+        <!--<members>updateESignBatch</members>-->
+        <!--<members>DNUpsertBatch</members>-->
         <members>SyncProvinceWIndowToSignForm</members>
         <members>OCSMHandler</members>
         <name>ApexClass</name>

--
Gitblit v1.9.1