|
- <?php
-
- namespace App\Kintone\Models;
-
- use App\Util\DateUtil;
- use Illuminate\Support\Carbon;
-
- /**
- * アプリ名 定期駐車場マスタ
- * @property string parkingName
- * @property array canTerminateDate
- * @property array canTerminateRule
- */
- class Parking extends KintoneModel
- {
- const CONFIG_KEY = "KINTONE_APP_PARKING";
-
- const FIELD_PARKING_NAME = "駐車場名";
- const FIELD_CAN_TERMINATE_DATE = "解約可能日";
- const FIELD_CAN_TERMINATE_RULE = "解約ルール";
-
-
- const ELEMENT_CAN_TERMINATE_DATE_END_OF_MONTH = "末日";
- const ELEMENT_CAN_TERMINATE_DATE_15 = "15日";
-
- const ELEMENT_CAN_TERMINATE_RULE_UNTIL_10 = "10日まで申込は当月可";
- const ELEMENT_CAN_TERMINATE_RULE_TODAY = "当日解約可";
-
- protected const FIELDS = [
- ...parent::FIELDS,
- self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT,
- self::FIELD_CAN_TERMINATE_DATE => FieldType::CHECK_BOX,
- self::FIELD_CAN_TERMINATE_RULE => FieldType::CHECK_BOX,
- ];
-
- protected const FIELD_NAMES = [
- ...parent::FIELD_NAMES,
- self::FIELD_PARKING_NAME => 'parking_name',
- ];
-
- static function findByParkingName(string $parkingName)
- {
- return static::getAccess()->first(static::getQuery()->where(static::FIELD_PARKING_NAME, $parkingName));
- }
-
- public function canTerminateDateEndOfMonth(): bool
- {
- return in_array(self::ELEMENT_CAN_TERMINATE_DATE_END_OF_MONTH, $this->canTerminateDate);
- }
- public function canTerminateDate15(): bool
- {
- return in_array(self::ELEMENT_CAN_TERMINATE_DATE_15, $this->canTerminateDate);
- }
- }
|