領収証発行サービス
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.

92 lines
3.9KB

  1. <?php
  2. namespace App\Models;
  3. use App\Codes\PrefCode;
  4. use App\Models\Feature\ContractFeature;
  5. use Illuminate\Database\Eloquent\Relations\HasMany;
  6. use Illuminate\Database\Eloquent\Relations\HasOne;
  7. class ReceiptIssuingOrder extends AppModel
  8. {
  9. use ContractFeature;
  10. const COL_NAME_CONTRACT_ID = ColumnName::CONTRACT_ID;
  11. const COL_NAME_HANDLER_ID = "handler_id";
  12. const COL_NAME_ORDER_DATETIME = "order_datetime";
  13. const COL_NAME_STATUS_NAME = "status_name";
  14. const COL_NAME_SUMMARY_KEY1 = "summary_key1";
  15. const COL_NAME_SUMMARY_KEY2 = "summary_key2";
  16. const COL_NAME_ACCESS_TOKEN = "access_token";
  17. const COL_NAME_ACCESS_TOKEN_EXPIRES_AT = "access_token_expires_at";
  18. const COL_NAME_STATUS_DONE = "status_done";
  19. const COL_NAME_STATUS_SMS_SEND_DATETIME = "status_sms_send_datetime";
  20. const COL_NAME_STATUS_FIRST_ACCESS_DATETIME = "status_first_access_datetime";
  21. const COL_NAME_STATUS_RECEIPT_CONFIRM_DATETIME = "status_receipt_confirm_datetime";
  22. const COL_NAME_STATUS_ORDER_MAIL_DATETIME = "status_order_mail_datetime";
  23. const COL_NAME_STATUS_MAIL_DOWNLOAD_DATETIME = "status_mail_download_datetime";
  24. const COL_NAME_STATUS_MAIL_POST_DATE = "status_mail_post_date";
  25. const COL_NAME_STATUS_RECEIPT_DOWNLOAD_DATETIME = "status_receipt_download_datetime";
  26. const COL_NAME_STATUS_RECEIPT_EMAIL_SEND_ORDER_DATETIME = "status_receipt_email_send_order_datetime";
  27. const COL_NAME_STATUS_RECEIPT_EMAIL_SEND_DATETIME = "status_receipt_email_send_datetime";
  28. const COL_NAME_RECEIPT_PDF_EMAIL_ID = "receipt_pdf_email_id";
  29. const COL_NAME_SMS_PHONE_NUMBER = "sms_phone_number";
  30. const COL_NAME_SMS_SEND_SUCCESS = "sms_send_success";
  31. const COL_NAME_RECEIPT_NO = "receipt_no";
  32. const COL_NAME_RECEIPT_USE_DATE = "receipt_use_date";
  33. const COL_NAME_RECEIPT_SHOP_NAME = "receipt_shop_name";
  34. const COL_NAME_RECEIPT_ISSUER = "receipt_issuer";
  35. const COL_NAME_RECEIPT_NAME = "receipt_name";
  36. const COL_NAME_RECEIPT_PURPOSE = "receipt_purpose";
  37. const COL_NAME_RECEIPT_INVOICE_NO = "receipt_invoice_no";
  38. const COL_NAME_RECEIPT_AMOUNT = "receipt_amount";
  39. const COL_NAME_EMAIL = "email";
  40. const COL_NAME_MAIL_PREF_CODE = "mail_pref_code";
  41. const COL_NAME_MAIL_ZIP_CODE = "mail_zip_code";
  42. const COL_NAME_MAIL_ADDRESS1 = "mail_address1";
  43. const COL_NAME_MAIL_ADDRESS2 = "mail_address2";
  44. const COL_NAME_MAIL_ADDRESS3 = "mail_address3";
  45. const COL_NAME_MAIL_NAME = "mail_name";
  46. const COL_NAME_MEMO = "memo";
  47. const COL_NAME_ACCEPT_PRIVACY_POLICY = "accept_privacy_policy";
  48. const COL_NAME_ACCEPT_CORRECT_ENTRY = "accept_correct_entry";
  49. const COL_NAME_ACCEPT_SITE_POLICY = "accept_site_policy";
  50. const COL_NAME_SEQ_NUMBER = "seq_number";
  51. protected $casts = [
  52. self::COL_NAME_ORDER_DATETIME => 'datetime',
  53. self::COL_NAME_ACCESS_TOKEN_EXPIRES_AT => 'datetime',
  54. self::COL_NAME_STATUS_SMS_SEND_DATETIME => 'datetime',
  55. self::COL_NAME_STATUS_FIRST_ACCESS_DATETIME => 'datetime',
  56. self::COL_NAME_STATUS_RECEIPT_CONFIRM_DATETIME => 'datetime',
  57. self::COL_NAME_STATUS_ORDER_MAIL_DATETIME => 'datetime',
  58. self::COL_NAME_STATUS_MAIL_DOWNLOAD_DATETIME => 'datetime',
  59. self::COL_NAME_STATUS_MAIL_POST_DATE => 'date',
  60. self::COL_NAME_STATUS_RECEIPT_DOWNLOAD_DATETIME => 'datetime',
  61. self::COL_NAME_STATUS_RECEIPT_EMAIL_SEND_ORDER_DATETIME => 'datetime',
  62. self::COL_NAME_STATUS_RECEIPT_EMAIL_SEND_DATETIME => 'datetime',
  63. self::COL_NAME_RECEIPT_USE_DATE => 'date',
  64. self::COL_NAME_MAIL_PREF_CODE => PrefCode::class,
  65. ];
  66. public function getModelName(): string
  67. {
  68. return "領収証発行依頼";
  69. }
  70. public function htCustomOrder(): HasOne
  71. {
  72. return $this->hasOne(ReceiptIssuingHTParkingCustomOrder::class);
  73. }
  74. public function receiptIssuingOrderTaxes(): HasMany
  75. {
  76. return $this->hasMany(ReceiptIssuingOrderTax::class);
  77. }
  78. }