Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

106 Zeilen
3.9KB

  1. <?php
  2. namespace App\Kintone\Models;
  3. use Illuminate\Support\Carbon;
  4. /**
  5. * アプリ名 定期申込・予約
  6. * @property string parkingName
  7. * @property string status
  8. * @property string customerName
  9. * @property string customerNameKana
  10. * @property string phoneNo
  11. * @property string address
  12. * @property string email
  13. * @property ?Carbon useStartDate
  14. * @property string vehicleNo
  15. * @property int carAmount
  16. * @property string paymentMethod
  17. * @property Carbon entryDatetime
  18. * @property string planName
  19. * @property ?string seasonTicketPlanName
  20. * @property ?int amount
  21. * @property ?int firstAmount
  22. * @property ?int hiwariMonth
  23. * @property ?int hiwariAmount
  24. * @property ?int targetMonth
  25. * @property ?int targetAmount
  26. * @property ?Carbon paymentLimitDate
  27. */
  28. class SeasonTicketContractEntry extends KintoneModel
  29. {
  30. const CONFIG_KEY = "KINTONE_APP_SEASON_TICEKT_CONTRACT_ENTRY";
  31. const FIELD_PARKING_NAME = "駐車場";
  32. const FIELD_STATUS = "status";
  33. const FIELD_CUSTOMER_NAME = "氏名";
  34. const FIELD_CUSTOMER_NAME_KANA = "フリガナ";
  35. const FIELD_PHONE_NO = "電話番号";
  36. const FIELD_ADDRESS = "住所";
  37. const FIELD_EMAIL = "メールアドレス";
  38. const FIELD_USE_START_DATE = "利用開始希望日";
  39. const FIELD_VEHICLE_NO = "車両番号";
  40. const FIELD_CAR_AMOUNT = "台数";
  41. const FIELD_PAYMENT_METHOD = "支払方法";
  42. const FIELD_ENTRY_DATETIME = "受付日時";
  43. const FIELD_PLAN_NAME = "ParkingNaviプラン";
  44. const FIELD_SEASON_TICKET_PLAN_NAME = "定期駐車場プラン";
  45. const FIELD_AMOUNT = "定期駐車料金";
  46. const FIELD_HIWARI_MONTH = "日割り分_月";
  47. const FIELD_HIWARI_AMOUNT = "日割り分_金額";
  48. const FIELD_TARGET_MONTH = "請求対象分_月";
  49. const FIELD_TARGET_AMOUNT = "請求対象分_金額";
  50. const FIELD_FIRST_AMOUNT = "初回振り込み合計額";
  51. const FIELD_PAYMENT_LIMIT_DATE = "振込期日";
  52. protected const FIELDS = [
  53. ...parent::FIELDS,
  54. self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT,
  55. self::FIELD_STATUS => FieldType::DROP_DOWN,
  56. self::FIELD_CUSTOMER_NAME => FieldType::SINGLE_LINE_TEXT,
  57. self::FIELD_CUSTOMER_NAME_KANA => FieldType::SINGLE_LINE_TEXT,
  58. self::FIELD_PHONE_NO => FieldType::SINGLE_LINE_TEXT,
  59. self::FIELD_ADDRESS => FieldType::SINGLE_LINE_TEXT,
  60. self::FIELD_EMAIL => FieldType::SINGLE_LINE_TEXT,
  61. self::FIELD_USE_START_DATE => FieldType::DATE,
  62. self::FIELD_VEHICLE_NO => FieldType::SINGLE_LINE_TEXT,
  63. self::FIELD_PAYMENT_METHOD => FieldType::DROP_DOWN,
  64. self::FIELD_ENTRY_DATETIME => FieldType::DATETIME,
  65. self::FIELD_PLAN_NAME => FieldType::SINGLE_LINE_TEXT,
  66. self::FIELD_SEASON_TICKET_PLAN_NAME => FieldType::SINGLE_LINE_TEXT,
  67. self::FIELD_AMOUNT => FieldType::NUMBER,
  68. self::FIELD_HIWARI_MONTH => FieldType::NUMBER,
  69. self::FIELD_HIWARI_AMOUNT => FieldType::NUMBER,
  70. self::FIELD_TARGET_MONTH => FieldType::NUMBER,
  71. self::FIELD_TARGET_AMOUNT => FieldType::NUMBER,
  72. self::FIELD_FIRST_AMOUNT => FieldType::NUMBER,
  73. self::FIELD_PAYMENT_LIMIT_DATE => FieldType::DATE,
  74. ];
  75. protected const FIELD_NAMES = [
  76. ...parent::FIELD_NAMES,
  77. self::FIELD_PARKING_NAME => 'parking_name',
  78. self::FIELD_CUSTOMER_NAME => 'customer_name',
  79. self::FIELD_PLAN_NAME => 'plan_name',
  80. self::FIELD_ENTRY_DATETIME => 'entry_datetime',
  81. self::FIELD_PHONE_NO => 'phone_no',
  82. self::FIELD_ADDRESS => 'address',
  83. self::FIELD_CAR_AMOUNT => 'car_amount',
  84. ];
  85. public function getParking(): Parking
  86. {
  87. return Parking::findByParkingName($this->parkingName);
  88. }
  89. public function getPlan(): ?SeasonTicketContractPlan
  90. {
  91. if (!$this->planName) {
  92. return null;
  93. }
  94. return SeasonTicketContractPlan::findByName($this->seasonTicketPlanName);
  95. }
  96. }