| trigger OnCallTrigger on On_Call__c (before update) { | 
|      | 
|     // ---------------------------------------------------------------------- | 
|     // これより、On-Callの「On-Call跟进结果」を更新するロジック | 
|     // ---------------------------------------------------------------------- | 
|      | 
| System.debug( '-----:On-Call起動'); | 
|     if ( Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) { | 
|      | 
|         // 処理対象となるオンコールを全部確保 | 
|         List<On_Call__c> oncalls = Trigger.New; | 
| System.debug( '-----:On-Call起動:oncalls.size()=' + oncalls.size() + ', id=' + oncalls[0].Id); | 
|          | 
|         // 子の修理を全部取得する | 
|         List<Repair__c> repairs = OncallFinalStatusManager.getRepairListFromOncalls(oncalls); | 
|          | 
|         // 子のQISを全部取得する | 
|         List<QIS_Report__c> qiss = OncallFinalStatusManager.getQisListFronOncalls(oncalls); | 
|          | 
|         // FinalStatus更新処理 | 
|         OncallFinalStatusManager.setFinalStatus( oncalls, repairs, qiss); | 
|   | 
|     } | 
|   | 
|     // ---------------------------------------------------------------------- | 
|     // ここまで、On-Callの「On-Call跟进结果」を更新するロジック | 
|     // ---------------------------------------------------------------------- | 
|   | 
| } |