| force-app/main/default/classes/DNUpsertBatch.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/classes/OCSMHandler.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/classes/updateESignBatch.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| manifest/packageForSign.xml | ●●●●● 补丁 | 查看 | 原始文档 | 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>