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/SyncProvinceWIndowToSignForm.cls | 42 ++++++++++++++++++++++++++++++++++--------
1 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls b/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
index eda2ca5..b2fccf3 100644
--- a/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
+++ b/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
@@ -1,34 +1,60 @@
global without sharing class SyncProvinceWIndowToSignForm implements Database.Batchable<sObject>, Database.Stateful {
private Set<String> changedWindowProvince { get; set; }
+ 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,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 from eSignForm__c ';
+ 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 ';
+ 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绠$悊鐪佷俊鎭�
- Map<String, OCM_Management_Province__c> provinceMap = DNUpsertBatch.getManagementProvince();
+ Map<String, OCM_Management_Province__c> provinceMap = getManagementProvince();
// 鍒ゆ柇闇�瑕佹洿鏂扮殑绛炬敹鍗�
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);
+ }
}
}
// 绛炬敹鍗曟洿鏂�
--
Gitblit v1.9.1