領収証発行サービス
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.5KB

  1. <?php
  2. namespace App\Logic\ReceiptIssuingOrder;
  3. use App\Exceptions\AppCommonException;
  4. use App\Models\ReceiptIssuingOrder;
  5. use App\Util\DateUtil;
  6. use PDF;
  7. class PDFDownLoadManager extends ReceiptIssuingOrderManager
  8. {
  9. public function __construct(
  10. protected ReceiptIssuingOrder $order,
  11. ) {
  12. parent::__construct($order);
  13. }
  14. public function downlaodA4()
  15. {
  16. $order = $this->order;
  17. // $data = [
  18. // 'amount'
  19. // ];
  20. $pdf = PDF::loadView('pdf/receipt_a4', $order->toArray());
  21. // はがきサイズを指定
  22. $ret = $pdf->setPaper('A4')
  23. ->setOption('encoding', 'utf-8')
  24. ->inline();
  25. if ($order->status_receipt_download_datetime === null) {
  26. $order->status_receipt_download_datetime = DateUtil::now();
  27. }
  28. $this->save();
  29. return $ret;
  30. }
  31. public function downlaodLetter()
  32. {
  33. $order = $this->order;
  34. // $data = [
  35. // 'amount'
  36. // ];
  37. $pdf = PDF::loadView('pdf/receipt_letter', $order->toArray());
  38. // はがきサイズを指定
  39. $ret = $pdf->setOption('page-height', 148)
  40. ->setOption('page-width', 100)
  41. ->setOption('encoding', 'utf-8')
  42. ->inline();
  43. if ($order->status_receipt_download_datetime === null) {
  44. $order->status_receipt_download_datetime = DateUtil::now();
  45. }
  46. $this->save();
  47. return $ret;
  48. }
  49. }