| // before update のみ対応した | 
| trigger TemporaryFileBoxUpdate on TemporaryFileBox__c (before update) { | 
|     List<Id> tfbIds = new List<Id>(); | 
|     for(TemporaryFileBox__c tfb : Trigger.new) { | 
|         if (tfb.Status__c == '已申请' || tfb.Status__c == '已批准') { | 
|             tfbIds.add(tfb.Id); | 
|         } | 
|     } | 
|     if (tfbIds.size() > 0) { | 
|         Map<Id, AggregateResult> arMap = new Map<Id, AggregateResult>( | 
|                 [SELECT ParentId Id, Count(Id) Cnt_Id | 
|                    FROM Attachment | 
|                   WHERE ParentId IN :tfbIds | 
|                   GROUP BY ParentId | 
|         ]); | 
|         for(TemporaryFileBox__c tfb : Trigger.new) { | 
|             AggregateResult ar = arMap.get(tfb.Id); | 
|             if (ar == null || Integer.valueOf(ar.get('Cnt_Id')) == 0) { | 
|                 tfb.addError(System.Label.TemporaryFileBoxNeedAttachment); | 
|             } | 
|         } | 
|     } | 
| } |