/**
|
* Maintenance_Contract_Asset__c と Reapire__c(Account経由)は主従関係、そのままupdate OK
|
*/
|
trigger MaintenanceContractAssetTrigger on Maintenance_Contract_Asset__c ( after insert, after delete ) {
|
|
System.debug( '-----+MaintenanceContractAssetTrigger start');
|
|
// ----------------------------------------------------------------------
|
// ここより、修理のサービスコントラクト項目を自動的に更新するロジック
|
// ----------------------------------------------------------------------
|
|
// 前処理
|
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<Repair__c> repairList = [SELECT Id, SERVICE_CONTRACT_JUDEGE_DAY__C, Maintenance_Contract__c FROM Repair__C WHERE Delivered_Product__c IN :assetIds];
|
// 修理を更新すれば、修理のTriggerによって、修理のサービスコントラクト項目に値がセットされる
|
// update repairList;
|
|
// // 処理対象となる、サービス契約の一覧を得る
|
// List<Maintenance_Contract__c> serviceList = [SELECT Id, Contract_Start_Date__c, Contract_End_Date__c FROM Maintenance_Contract__c WHERE Id IN :serviceIds];
|
|
// ----------------------------------------------------------------------
|
// ここまで、サービスコントラクト項目を自動的に更新するロジック
|
// ----------------------------------------------------------------------
|
|
System.debug( '-----+MaintenanceContractAssetTrigger end');
|
|
}
|