From e3c02c03dd2de442bbced87236f60a13a1cd154e Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期四, 02 三月 2023 17:51:57 +0800
Subject: [PATCH] gzw 正式环境最新代码更新
---
force-app/main/default/classes/AssetUpdateContractBatch.cls | 73 ++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 1 deletions(-)
diff --git a/force-app/main/default/classes/AssetUpdateContractBatch.cls b/force-app/main/default/classes/AssetUpdateContractBatch.cls
index b886a87..91cbdcd 100644
--- a/force-app/main/default/classes/AssetUpdateContractBatch.cls
+++ b/force-app/main/default/classes/AssetUpdateContractBatch.cls
@@ -86,6 +86,7 @@
' , RecordType_DeveloperName__c ' +
' from Maintenance_Contract__c '
+ ' where Status__c in (\'濂戠磩\',\'濂戠磩婧�浜哱') ';
+
if (string.isNotBlank(TestID) ) {
query += ' and id =: TestID';
} else if (TestIDList != null && TestIDList.size() > 0) {
@@ -106,6 +107,25 @@
global void execute(Database.BatchableContext BC,
list<Maintenance_Contract__c> MCList) {
+ //URF闄愭鍚堝悓2鏈� LY 20220908 start
+ set<id> mcIDSet = new set<id>();
+ for (Maintenance_Contract__c tempMCA : MCList) {
+ mcIDSet.add(tempMCA.id);
+ }
+ //鑾峰彇闈為檺娆″悎鍚�
+ List<Maintenance_Contract__c> mcPList =[select id , previousTotalRepairAmount__c , currentTotalRepairAmount__c ,
+ previousTotalContractAmount__c , currentTotalContractAmountVM__c , currentTotalGuaranteePrice__c
+ , RecordType_DeveloperName__c
+ from Maintenance_Contract__c
+ where URF_Contract__c = false and ID in :mcIDSet];
+ //鑾峰彇闄愭鍚堝悓
+ List<Maintenance_Contract__c> urfMCList =[select id , previousTotalRepairAmount__c , currentTotalRepairAmount__c ,
+ previousTotalContractAmount__c , currentTotalContractAmountVM__c , currentTotalGuaranteePrice__c
+ , RecordType_DeveloperName__c
+ from Maintenance_Contract__c
+ where URF_Contract__c = true and ID in :mcIDSet];
+
+ //URF闄愭鍚堝悓2鏈� LY 20220908 end
map<string, asset> updateAssetMap = new map<string, asset>();
map<string, Maintenance_Contract__c> UpdateMCMap =
@@ -122,7 +142,7 @@
Set<ID> allAssetIDSet = new Set<ID>();
List<asset> allAssetList = new List<asset>();
// 鍒濆鍖栫淮淇悎鍚屾秷璐圭巼鐩稿叧閲戦瀛楁涓�0;
- for (Maintenance_Contract__c tempMC : MCList) {
+ for (Maintenance_Contract__c tempMC : mcPList) {
mcIDmap.put(tempMC.id,null);
tempMC.currentTotalRepairAmount__c = 0;
tempMC.previousTotalRepairAmount__c = 0;
@@ -261,6 +281,56 @@
}
}
+ //URF闄愭鍚堝悓2鏈� LY 20220908 start
+ Map<string,Maintenance_Contract__c> mcURFIDmap = new Map<string,Maintenance_Contract__c>();
+ for (Maintenance_Contract__c tempURFMC : urfMCList) {
+ mcURFIDmap.put(tempURFMC.Id, null);
+ }
+ //妫�绱㈡湰娆¢檺娆″悎鍚岀殑淇濇湁璁惧
+ List<Maintenance_Contract_Asset__c> mcURFList =
+ [select Id, Asset__c, Maintenance_Contract__c,
+ Estimate_Cost_formula__c,
+ startDate_sum__c,
+ endDate_sum__c,
+ No_discount__c,
+ GuaranteePrice_Amount_Text__c,
+ Maintenance_Contract__r.Status__c,
+ Maintenance_Contract__r.Name,
+ Maintenance_Contract__r.Contract_End_Date__c,
+ Maintenance_Contract__r.Contract_Start_Date__c,
+ Maintenance_Contract__r.RecordType_DeveloperName__c,
+ Maintenance_Contract__r.Estimation_Id__r.Submit_quotation_day__c,
+ Maintenance_Contract__r.RecordType.DeveloperName
+ , ifHaveleftInPrevious__c
+ from Maintenance_Contract_Asset__c
+ where Maintenance_Contract__c in: mcURFIDmap.keyset()
+ ];
+ Set<ID> allURFAssetIDSet = new Set<ID>();
+ Map<string, Maintenance_Contract_Asset__c> assetIDtoURF =new Map<string, Maintenance_Contract_Asset__c>();
+ for (Maintenance_Contract_Asset__c mcaURF : mcURFList) {
+ // 鎵惧嚭鏉ユ绱㈠嚭鏉ョ殑缁翠慨鍚堝悓淇濇湁涓殑鏈�鏂扮殑
+ if (assetIDtoURF.containsKey(mcaURF.Asset__c)) {
+ Maintenance_Contract_Asset__c tempURF =
+ assetIDtoURF.get(mcaURF.Asset__c);
+ if (tempURF.endDate_sum__c < mcaURF.endDate_sum__c) {
+ assetIDtoURF.put(mcaURF.Asset__c, mcaURF);
+ }
+ } else {
+ assetIDtoURF.put(mcaURF.Asset__c, mcaURF);
+ }
+ allURFAssetIDSet.add(mcaURF.Asset__c);
+ }
+ List<asset> allURFAssetList =[select id, URF_Maintenance_Contract__c
+ from asset
+ where id in: allURFAssetIDSet];
+ for (asset ass : allURFAssetList) {
+ Maintenance_Contract_Asset__c tempMCA =
+ assetIDtoURF.get(ass.Id);
+ ass.URF_Maintenance_Contract__c = tempMCA.Maintenance_Contract__c;
+ updateAssetMap.put(ass.id, ass);
+
+ }
+ //URF闄愭鍚堝悓2鏈� LY 20220908 end
//妫�绱㈠嚭鍘嗗眾淇濇湁璁惧
list<Maintenance_Contract_Asset__c> allMCAList =
[select Id, Asset__c, Maintenance_Contract__c,
@@ -469,6 +539,7 @@
failedCount ++;
}
}
+ system.debug('11111111111111111111111updateAssetMap'+updateAssetMap.values());
updateAsset (updateAssetMap.values());
}
global void finish(Database.BatchableContext BC) {
--
Gitblit v1.9.1