From 6a471bc62a8567abd74dcef733fcddf9911b6a16 Mon Sep 17 00:00:00 2001
From: denny chen <chenbangcai@prec-tech.com>
Date: 星期三, 29 三月 2023 15:47:48 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG
---
force-app/main/default/triggers/MaintenanceContractAssetTrigger.trigger | 68 +++++++++++++++++++++++++++++++--
1 files changed, 63 insertions(+), 5 deletions(-)
diff --git a/force-app/main/default/triggers/MaintenanceContractAssetTrigger.trigger b/force-app/main/default/triggers/MaintenanceContractAssetTrigger.trigger
index 5233403..6bf7274 100644
--- a/force-app/main/default/triggers/MaintenanceContractAssetTrigger.trigger
+++ b/force-app/main/default/triggers/MaintenanceContractAssetTrigger.trigger
@@ -1,7 +1,7 @@
/**
* Maintenance_Contract_Asset__c 銇� Reapire__c锛圓ccount绲岀敱锛夈伅涓诲緭闁總銆併仢銇伨銇緐pdate OK
*/
-trigger MaintenanceContractAssetTrigger on Maintenance_Contract_Asset__c ( after insert, after delete ) {
+trigger MaintenanceContractAssetTrigger on Maintenance_Contract_Asset__c ( before insert, before update ) {
System.debug( '-----+MaintenanceContractAssetTrigger start');
@@ -10,13 +10,67 @@
// ----------------------------------------------------------------------
// 鍓嶅嚘鐞�
- Set<Id> assetIds = new Set<Id>();
+ // Set<Id> assetIds = new Set<Id>();
// Set<Id> serviceIds = new Set<Id>();
- for ( Maintenance_Contract_Asset__c local : ( Trigger.isInsert ? Trigger.New : Trigger.old)) {
- assetIds.add( local.Asset__c);
-// serviceIds.add( local.Maintenance_Contract__c);
+
+ List<String> locallastList = new List<String>();
+ List<String> locallist = new List<String>();
+
+ for ( Maintenance_Contract_Asset__c local : Trigger.New) {
+ locallastList.add(local.LastMContract__c);
+ locallist.add(local.Maintenance_Contract__c);
+ }
+ List<Maintenance_Contract__c> llmc = [select id,contractNextYear_new__c,serviceContractNextYear_new__c
+ from Maintenance_Contract__c
+ where Id in :locallastList];
+ List<Maintenance_Contract__c> lmc = [select id,RecordType.name from Maintenance_Contract__c where Id in :locallist];
+
+ Map<Id, Maintenance_Contract__c> map1 = new Map<Id, Maintenance_Contract__c>();
+ Map<Id, Maintenance_Contract__c> map2 = new Map<Id, Maintenance_Contract__c>();
+
+ for (Maintenance_Contract__c mc:llmc ) {
+ if (!map1.containsKey(mc.id)) {
+ map1.put(mc.id,mc);
+ }
+ }
+ for (Maintenance_Contract__c mc:lmc ) {
+ if (!map2.containsKey(mc.id)) {
+ map2.put(mc.id,mc);
+ }
+ }
+ List<Maintenance_Contract__c> mcList = new List<Maintenance_Contract__c>();
+ for ( Maintenance_Contract_Asset__c local : Trigger.New) {
+ // 2000/07/19 杩涚▼鐢熸垚鍣� - 鏉ュ勾鍚堝悓璁剧疆
+ Maintenance_Contract__c mc1 = new Maintenance_Contract__c();
+ Maintenance_Contract__c mc2 = new Maintenance_Contract__c();
+ if (map1.containsKey(local.LastMContract__c)) {
+ mc1 = map1.get(local.LastMContract__c);
+ if (local.LastMContract_Gap__c <= 365 && mc1.contractNextYear_new__c == null) {
+ //鏇存柊涓婁竴鏈熺淮淇悎鍚岀殑鏉ュ勾缁翠慨鍚堝悓
+ mc1.contractNextYear_new__c = local.Maintenance_Contract__c;
+ }
+ }
+ if (map2.containsKey(local.Maintenance_Contract__c)&&map1.containsKey(local.LastMContract__c)) {
+ mc2 = map2.get(local.Maintenance_Contract__c);
+ if (local.LastMContract_Gap__c <= 365 && mc1.serviceContractNextYear_new__c == null && mc2.RecordType.name == '鏈嶅姟鍚堝悓') {
+ //鏇存柊涓婁竴鏈熺淮淇悎鍚岀殑鏉ュ勾鏈嶅姟鍚堝悓
+ mc1.serviceContractNextYear_new__c = local.Maintenance_Contract__c;
+ }
+ }
+ System.debug( '娣诲姞mc1='+mc1);
+ // System.debug( 'mc1.length='+mc1.length());
+ // system.assertEquals(mc1,null);
+ if (mc1.id!=null && !mcList.contains(mc1)){
+
+ mcList.add(mc1);
+ }
+ }
+ System.debug( '寮�濮嬫洿鏂�'+mcList);
+ if (mcList!=null&&mcList.size()!=0) {
+ update mcList;
}
+
// 鍑︾悊瀵捐薄銇ㄣ仾銈嬩慨鐞嗕竴瑕с倰寰椼倠
// List<Repair__c> repairList = [SELECT Id, SERVICE_CONTRACT_JUDEGE_DAY__C, Maintenance_Contract__c FROM Repair__C WHERE Delivered_Product__c IN :assetIds];
// 淇悊銈掓洿鏂般仚銈屻伆銆佷慨鐞嗐伄Trigger銇倛銇c仸銆佷慨鐞嗐伄銈点兗銉撱偣銈炽兂銉堛儵銈儓闋呯洰銇�ゃ亴銈汇儍銉堛仌銈屻倠
@@ -28,6 +82,10 @@
// ----------------------------------------------------------------------
// 銇撱亾銇俱仹銆併偟銉笺儞銈广偝銉炽儓銉┿偗銉堥爡鐩倰鑷嫊鐨勩伀鏇存柊銇欍倠銉偢銉冦偗
// ----------------------------------------------------------------------
+
+
+
+
System.debug( '-----+MaintenanceContractAssetTrigger end');
--
Gitblit v1.9.1