From de9565270a88b0749d17c1961cd41399c8483c96 Mon Sep 17 00:00:00 2001
From: binxie <137736985@qq.com>
Date: 星期一, 26 六月 2023 17:46:45 +0800
Subject: [PATCH] merge
---
force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls b/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
new file mode 100644
index 0000000..22a75c0
--- /dev/null
+++ b/force-app/main/default/classes/SyncProvinceWIndowToSignForm.cls
@@ -0,0 +1,51 @@
+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 OCM_man_province_cus__c = :changedWindowProvince ';
+ }
+ 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();
+ // 鍒ゆ柇闇�瑕佹洿鏂扮殑绛炬敹鍗�
+ 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);
+ }
+ }
+ // 绛炬敹鍗曟洿鏂�
+ if (updList.size() > 0) {
+ Database.SaveResult[] lsr = Database.update(updList, false);
+ system.debug('Upsert Result' + lsr);
+ }
+ }
+ }
+
+ global void finish(Database.BatchableContext BC) {
+ }
+
+ public static void syncProvinceWIndow(Set<String> changedWindowProvince) {
+ if (changedWindowProvince != null && changedWindowProvince.size() > 0) {
+ Database.executeBatch(new SyncProvinceWIndowToSignForm(changedWindowProvince), 200);
+
+ }
+ }
+}
--
Gitblit v1.9.1