예제 #1
0
 /**
  * 
  * @param NotificationType $notificationType
  * @return \Application\Model\Collection\FileCollection
  */
 private function getFiles(Notification $notification)
 {
     $notificationType = NotificationTypeQuery::create()->findByPK($notification->getIdNotificationType());
     $array = array();
     $files = new FileCollection($array);
     switch ($notificationType->getIdNotificationType()) {
         case NotificationType::$id['CLAIM_REPORT_NOTIFICATION']:
             $vars = json_decode($notification->getVariables(), true);
             $filename = sys_get_temp_dir() . '/claim_report.pdf';
             $claimReport = new ClaimReport();
             $claimReport->setDocumentName($filename);
             $claimReport->setFolio($vars['folio']);
             $claimReport->setPurchaseOrder($vars['purchaseOrder']);
             $claimReport->setPercentageOfAceptance($vars['percentageOfAcceptance']);
             $claimReport->setPercentageOfDefects($vars['percentageOfDefects']);
             $claimReport->setDescription($vars['description']);
             $claimReport->setIncreasableFreight($vars['increasableFreight']);
             $claimReport->setGood($vars['claimReport']['good']);
             $claimReport->setRejected($vars['claimReport']['rejected']);
             $claimReport->setMissing($vars['claimReport']['missing']);
             $claimReport->setEstimatedRecuperationCost($vars['ERCost']);
             $claimReport->setRefuseTotal($vars['refuseTotal']);
             $claimReport->setComments($vars['comments']);
             $claimReport->setOutputDestination(ClaimReport::$OutputDestination['SAVE_LOCAL_DESTINATION']);
             $claimReport->generateClaimReport();
             $files->append(FileFactory::createFromArray(array('content' => $filename)));
             break;
     }
     return $files;
 }