buli
2023-05-26 2c3d6d192684544c38df54ebb304ddab127c2c53
backup signoff
5个文件已修改
102 ■■■■ 已修改文件
force-app/main/default/classes/DNUpsertBatch.cls 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/OCSMHandler.cls 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/updateESignBatch.cls 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest/packageForSign.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/DNUpsertBatch.cls
@@ -291,12 +291,11 @@
            Map < String, String > provinceGIMap = new Map< String, String > ();
            //检索OCSM管理省对象
            //集中采购询价 增加检索助理 
            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 更新 签收单的【营业助理】值,从OCSM管理省对应的【营业窗口】字段获取
                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
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
}
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);
                    }
                }
            }
            // 签收单更新
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;
                                //存一个id
                                idlast = eSignFormEntry.Id;
                                //签收单name用作文件命名
@@ -1170,14 +1170,14 @@
        List < eSignForm__c > eSignFormLastList = new List < eSignForm__c >();
        //检索OCSM管理省对象
        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助理改为签收单OCSM省的营业窗口
            provinceGIMap.put(omp.Name, omp.GI_assistant__c);
        }
        //①为true的时候 是其他没发生变化只有ocsm省上营业担当改变
        //②为false的时候,有中间表正常更新的情况
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>