高章伟
2022-02-18 8b5f4c6c281cfa548f92de52c8021e37aa81901e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * 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');
 
}