|
- <?php
-
- namespace App\Kintone\Models;
-
- use Illuminate\Support\Carbon;
-
- /**
- * アプリ名 定期申込・予約
- * @property string parkingName
- * @property string status
- * @property string customerName
- * @property string customerNameKana
- * @property string phoneNo
- * @property string address
- * @property string email
- * @property ?Carbon useStartDate
- * @property string vehicleNo
- * @property int carAmount
- * @property string paymentMethod
- * @property Carbon entryDatetime
- * @property string planName
- * @property ?string seasonTicketPlanName
- * @property ?int amount
- * @property ?int firstAmount
- * @property ?int hiwariMonth
- * @property ?int hiwariAmount
- * @property ?int targetMonth
- * @property ?int targetAmount
- * @property ?Carbon paymentLimitDate
- * @property ?int firstMonthPaymentPlanRecordNo
- * @property ?int partitialPaymentPlanRecordNo
- * @property ?int depositPaymentPlanRecordNo
- * @property ?string[] firstPaymentDone
- * @property ?int seasonTicketContractRecordNo
- */
- class SeasonTicketContractEntry extends KintoneModel
- {
- const CONFIG_KEY = "KINTONE_APP_SEASON_TICEKT_CONTRACT_ENTRY";
-
- const FIELD_PARKING_NAME = "駐車場";
- const FIELD_STATUS = "status";
- const FIELD_CUSTOMER_NAME = "氏名";
- const FIELD_CUSTOMER_NAME_KANA = "フリガナ";
- const FIELD_PHONE_NO = "電話番号";
- const FIELD_ADDRESS = "住所";
- const FIELD_EMAIL = "メールアドレス";
- const FIELD_USE_START_DATE = "利用開始希望日";
- const FIELD_VEHICLE_NO = "車両番号";
- const FIELD_CAR_AMOUNT = "台数";
- const FIELD_PAYMENT_METHOD = "支払方法";
- const FIELD_ENTRY_DATETIME = "受付日時";
- const FIELD_PLAN_NAME = "ParkingNaviプラン";
- const FIELD_SEASON_TICKET_PLAN_NAME = "定期駐車場プラン";
- const FIELD_AMOUNT = "定期駐車料金";
- const FIELD_HIWARI_MONTH = "日割り分_月";
- const FIELD_HIWARI_AMOUNT = "日割り分_金額";
- const FIELD_TARGET_MONTH = "請求対象分_月";
- const FIELD_TARGET_AMOUNT = "請求対象分_金額";
- const FIELD_FIRST_AMOUNT = "初回振り込み合計額";
- const FIELD_PAYMENT_LIMIT_DATE = "振込期日";
- const FIELD_FIRST_MONTH_PAYMENT_PLAN_RECORD_NO = "初回入金予定_初月分入金予定";
- const FIELD_PARTITIAL_PAYMENT_PLAN_RECORD_NO = "初回入金予定_日割り分入金予定";
- const FIELD_DEPOSIT_PAYMENT_PLAN_RECORD_NO = "初回入金予定_保証金入金予定";
- const FIELD_FIRST_PAYMENT_DONE = "初回入金予定_初回入金充当状態";
- const FIELD_SEASON_TICKET_CONTRACT_RECORD_NO = "自動承認契約情報";
-
- protected const FIELDS = [
- ...parent::FIELDS,
- self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_STATUS => FieldType::DROP_DOWN,
- self::FIELD_CUSTOMER_NAME => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_CUSTOMER_NAME_KANA => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_PHONE_NO => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_ADDRESS => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_EMAIL => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_USE_START_DATE => FieldType::DATE,
- self::FIELD_VEHICLE_NO => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_PAYMENT_METHOD => FieldType::DROP_DOWN,
- self::FIELD_ENTRY_DATETIME => FieldType::DATETIME,
- self::FIELD_PLAN_NAME => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_SEASON_TICKET_PLAN_NAME => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_AMOUNT => FieldType::NUMBER,
- self::FIELD_HIWARI_MONTH => FieldType::NUMBER,
- self::FIELD_HIWARI_AMOUNT => FieldType::NUMBER,
- self::FIELD_TARGET_MONTH => FieldType::NUMBER,
- self::FIELD_TARGET_AMOUNT => FieldType::NUMBER,
- self::FIELD_FIRST_AMOUNT => FieldType::NUMBER,
- self::FIELD_PAYMENT_LIMIT_DATE => FieldType::DATE,
- self::FIELD_FIRST_MONTH_PAYMENT_PLAN_RECORD_NO => FieldType::NUMBER,
- self::FIELD_PARTITIAL_PAYMENT_PLAN_RECORD_NO => FieldType::NUMBER,
- self::FIELD_DEPOSIT_PAYMENT_PLAN_RECORD_NO => FieldType::NUMBER,
- self::FIELD_FIRST_PAYMENT_DONE => FieldType::CHECK_BOX,
- self::FIELD_SEASON_TICKET_CONTRACT_RECORD_NO => FieldType::NUMBER,
- ];
-
- protected const FIELD_NAMES = [
- ...parent::FIELD_NAMES,
- self::FIELD_PARKING_NAME => 'parking_name',
- self::FIELD_CUSTOMER_NAME => 'customer_name',
- self::FIELD_PLAN_NAME => 'plan_name',
- self::FIELD_ENTRY_DATETIME => 'entry_datetime',
- self::FIELD_PHONE_NO => 'phone_no',
- self::FIELD_ADDRESS => 'address',
- self::FIELD_CAR_AMOUNT => 'car_amount',
- ];
-
-
- public function getParking(): Parking
- {
- return Parking::findByParkingName($this->parkingName);
- }
-
- public function getPlan(): ?SeasonTicketContractPlan
- {
- if (!$this->planName) {
- return null;
- }
- return SeasonTicketContractPlan::findByName($this->seasonTicketPlanName);
- }
-
- public function getSeasonTicketContract(): ?SeasonTicketContract
- {
- if (!$this->seasonTicketContractRecordNo) {
- return null;
- }
- return SeasonTicketContract::find($this->seasonTicketContractRecordNo);
- }
- }
|