From e8be4d964c6b336ed39dba5900b1b9a8f3181b96 Mon Sep 17 00:00:00 2001
From: liuyn <liuyana@prec-tech.com>
Date: 星期五, 22 三月 2024 14:13:35 +0800
Subject: [PATCH] 模拟dq追加
---
test.test | 72 ++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 0 deletions(-)
diff --git a/test.test b/test.test
new file mode 100644
index 0000000..33274f1
--- /dev/null
+++ b/test.test
@@ -0,0 +1,72 @@
+global class AccAssumeChangeBatch implements Database.Batchable<sObject> , Database.AllowsCallouts, Database.Stateful {
+ public List<Account> HospitalIdList;//鎵ц澶辫触鎵嬪姩褰曞叆鍖婚櫌
+ Boolean a = true;
+ //鎵ц澶辫触鎵嬪姩褰曞叆鍖婚櫌
+ global AccAssumeChangeBatch(List<Account> HospitalIdList) {
+ this.HospitalIdList = HospitalIdList;
+ }
+ global AccAssumeChangeBatch( boolean a) {
+ this.a = a;
+ }
+ // 鎵ц闈跺櫒
+ global AccAssumeChangeBatch() {
+
+ }
+
+ global Database.QueryLocator start(Database.BatchableContext bc) {
+ // 妫�绱㈠尰闄紙鐢ㄦ潵瀵瑰簲鍏跺叧鑱旂殑鎷涙姇鏍囷級
+ String query = 'Select Id, Assume_Change__c FROM Account ';
+ if (a) {
+ query += 'Where Assume_Change__c = true';
+ }
+ if (HospitalIdList.size() > 0) {
+ query += ' And Id in : HospitalIdList';
+ }
+ return Database.getQueryLocator(query);
+ }
+
+ global void execute(Database.BatchableContext BC, list<Account> HosinfoList) {
+ List<Tender_information__c> TenInfoList = [Select Id, Hospital__c, Hospital1__c, Hospital2__c, Hospital3__c,
+ Hospital4__c from Tender_information__c
+ Where Hospital__c in: HosinfoList or Hospital1__c in: HosinfoList
+ or Hospital2__c in: HosinfoList or Hospital3__c in: HosinfoList
+ or Hospital4__c in: HosinfoList ];
+
+ if (TenInfoList.size() > 0) {
+ // List<Tender_information__c> failedTenderList = new List<Tender_information__c>();
+ Map<String, String> failedAccountMap = new Map<String, String>();//濡傛灉鎷涙姇鏍囨洿鏂板け璐ワ紝鐢ㄦ潵瀛樻洿鏂板け璐ョ殑鎷涙姇鏍囨墍鍏宠仈鐨勫尰闄�
+ // 绌烘洿鏂版嫑鎶曟爣
+ Database.SaveResult[] saveTenderResults = Database.update(TenInfoList, false);
+ // 寰幆鏇存柊缁撴灉锛屽彇鍑虹┖鏇存柊澶辫触鐨勬嫑鎶曟爣鎵�瀵瑰簲鐨勫尰闄�
+ for (Integer i = 0; i < saveTenderResults.size(); i++) {
+ if (!saveTenderResults.get(i).isSuccess() || System.Test.isRunningTest()) {
+ // failedTenderList.add(TenInfoList.get(i));
+ String HospitalId = TenInfoList.get(i).Hospital__c;
+ String Hospital1Id = TenInfoList.get(i).Hospital1__c;
+ String Hospital2Id = TenInfoList.get(i).Hospital2__c;
+ String Hospital3Id = TenInfoList.get(i).Hospital3__c;
+ String Hospital4Id = TenInfoList.get(i).Hospital4__c;
+ failedAccountMap.put(HospitalId, HospitalId);
+ failedAccountMap.put(Hospital1Id, Hospital1Id);
+ failedAccountMap.put(Hospital2Id, Hospital2Id);
+ failedAccountMap.put(Hospital3Id, Hospital3Id);
+ failedAccountMap.put(Hospital4Id, Hospital4Id);
+ }
+ }
+ List<Account> accsList = new List<Account>();// 鐢ㄦ潵鏇存柊瀹㈡埛淇℃伅锛堟媴褰撳彂鐢熷彉鍖栵級
+ for (Account accs : HosinfoList) {
+ if (!failedAccountMap.containsKey(accs.Id) ) {
+ accs.Assume_Change__c = false;
+ accsList.add(accs);
+ }
+ }
+ if (accsList.size() > 0) {
+ update accsList;
+ }
+ }
+ }
+
+ global void finish(Database.BatchableContext BC) {
+
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1