From 962519811b7c4be07f30d09e791798b0ea79d3ae Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期三, 08 三月 2023 09:54:02 +0800
Subject: [PATCH] 同步代码

---
 force-app/main/default/classes/AssetUpdateContractBatch.cls |   97 ++++++++++--------------------------------------
 1 files changed, 21 insertions(+), 76 deletions(-)

diff --git a/force-app/main/default/classes/AssetUpdateContractBatch.cls b/force-app/main/default/classes/AssetUpdateContractBatch.cls
index 91cbdcd..0a276db 100644
--- a/force-app/main/default/classes/AssetUpdateContractBatch.cls
+++ b/force-app/main/default/classes/AssetUpdateContractBatch.cls
@@ -107,25 +107,7 @@
 
     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 =
@@ -142,7 +124,7 @@
         Set<ID> allAssetIDSet = new Set<ID>();
         List<asset> allAssetList = new List<asset>();
         // 鍒濆鍖栫淮淇悎鍚屾秷璐圭巼鐩稿叧閲戦瀛楁涓�0;
-        for (Maintenance_Contract__c tempMC : mcPList) {
+        for (Maintenance_Contract__c tempMC : MCList) {
             mcIDmap.put(tempMC.id,null);
             tempMC.currentTotalRepairAmount__c  = 0;
             tempMC.previousTotalRepairAmount__c = 0;
@@ -172,6 +154,7 @@
              Maintenance_Contract__r.Estimation_Id__r.Submit_quotation_day__c,
              Maintenance_Contract__r.RecordType.DeveloperName
              , ifHaveleftInPrevious__c
+             ,Maintenance_Contract__r.URF_Contract__c
              from Maintenance_Contract_Asset__c
              where Maintenance_Contract__c in: mcIDmap.keyset()
             ];
@@ -253,13 +236,15 @@
             allAssetIDSet.add(mca.Asset__c);
             newToOldMCA.put(mca.id, null);
         }
-        //system.debug('allAssetIDSet:' + allAssetIDSet);
+        system.debug('allAssetIDSet:' + allAssetIDSet);
         //system.debug('newToOldMCA:' + newToOldMCA);
         allAssetList =
             [select id, CurrentContract_F__c,
              CurrentContract_F__r.Contract_End_Date__c,
              CurrentContract_F_asset__c,
              CurrentContract_F_asset__r.endDate_sum__c
+             ,URF_Maintenance_Contract__c
+             ,URF_Maintenance_Contract__r.Contract_End_Date__c
              from asset
              where id in: allAssetIDSet];
         // 鏇存柊淇濇湁璁惧涓婄殑涓婁竴鏈熺淮淇悎鍚屽拰缁翠慨鍚堝悓淇濇湁璁惧
@@ -267,70 +252,30 @@
         for (asset ass : allAssetList) {
             Maintenance_Contract_Asset__c tempMCA =
                 assetIDtoMCA.get(ass.Id);
-            if (tempMCA != null &&
+            if (tempMCA != null) {
+                if (tempMCA.Maintenance_Contract__r.URF_Contract__c==true && 
+                    (ass.URF_Maintenance_Contract__c == null ||
+                       ass.URF_Maintenance_Contract__r.Contract_End_Date__c <= tempMCA.endDate_sum__c
+                        )) {
+                    ass.URF_Maintenance_Contract__c = tempMCA.Maintenance_Contract__c;
+                }
+                if (tempMCA.Maintenance_Contract__r.URF_Contract__c==false &&
                     (
                         ass.CurrentContract_F__c == null  ||
                         ass.CurrentContract_F_asset__c == null ||
                         ass.CurrentContract_F_asset__r.endDate_sum__c <=
                         tempMCA.endDate_sum__c
-
-                    ) ) {
-                ass.CurrentContract_F__c = tempMCA.Maintenance_Contract__c;
-                ass.CurrentContract_F_asset__c = tempMCA.id;
+                    )
+                    ){
+                    ass.CurrentContract_F__c = tempMCA.Maintenance_Contract__c;
+                    ass.CurrentContract_F_asset__c = tempMCA.id;
+                }
+                
                 updateAssetMap.put(ass.id, ass);
             }
 
         }
-        //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,

--
Gitblit v1.9.1