高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/UpdateAssetToCurrentMCBatch.cls
@@ -55,6 +55,8 @@
              where (Maintenance_Contract__r.Contract_Start_Date__c <=: TDAY
                    or Asset__r.CurrentContract_Start_Date__c <=: TDAY
                )
              // gzw 20230201 batch优化
              and Maintenance_Contract__r.Status__c = '契約'
              order by Maintenance_Contract__r.Effective__c, Maintenance_Contract__r.Service_Number_Auto__c desc
            ]
@@ -80,6 +82,8 @@
             and (Maintenance_Contract__r.Contract_Start_Date__c <=: TDAY
                    or Asset__r.CurrentContract_Start_Date__c <=: TDAY
                )
            // gzw 20230201 batch优化
            and Maintenance_Contract__r.Status__c = '契約'
              order by Maintenance_Contract__r.Effective__c, Maintenance_Contract__r.Service_Number_Auto__c desc
             ]);
        }
@@ -89,6 +93,9 @@
        try {
            Date TDAY = Date.today();
            Map<Id, Asset> uptAssets = new Map<Id, Asset>();
            // gzw 20230201 batch优化
            Map<Id, Asset> uptAssetsMap = new Map<Id, Asset>();
            if(null != lastAsset) {
                uptAssets.put(lastAsset.Id, lastAsset);
@@ -146,6 +153,8 @@
                            a.EGFlg_fromContract_asset__c = mca.EquipmentGuaranteeFlgE__c;
                            a.CurrentContract_asset__c    = mca.Id;
                        }
                        // gzw 20230201 batch优化
                        uptAssetsMap.put(a.Id, a);
                        system.debug('有无维修合同:'+a.Service_Agreement__c);
                    } else {
                        // 初期化があるので、ここはロジックなし
@@ -188,8 +197,8 @@
            //}
            
            system.debug('最终数据'+uptAssets.values());
            if(uptAssets.values() != null){
                update uptAssets.values();
            if(uptAssetsMap.values() != null){
                update uptAssetsMap.values();
            }