Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

55 lines
1.6KB

  1. <?php
  2. namespace App\Kintone\Models;
  3. use App\Util\DateUtil;
  4. use Illuminate\Support\Carbon;
  5. /**
  6. * アプリ名 定期駐車場マスタ
  7. * @property string parkingName
  8. * @property array canTerminateDate
  9. * @property array canTerminateRule
  10. */
  11. class Parking extends KintoneModel
  12. {
  13. const CONFIG_KEY = "KINTONE_APP_PARKING";
  14. const FIELD_PARKING_NAME = "駐車場名";
  15. const FIELD_CAN_TERMINATE_DATE = "解約可能日";
  16. const FIELD_CAN_TERMINATE_RULE = "解約ルール";
  17. const ELEMENT_CAN_TERMINATE_DATE_END_OF_MONTH = "末日";
  18. const ELEMENT_CAN_TERMINATE_DATE_15 = "15日";
  19. const ELEMENT_CAN_TERMINATE_RULE_UNTIL_10 = "10日まで申込は当月可";
  20. const ELEMENT_CAN_TERMINATE_RULE_TODAY = "当日解約可";
  21. protected const FIELDS = [
  22. ...parent::FIELDS,
  23. self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT,
  24. self::FIELD_CAN_TERMINATE_DATE => FieldType::CHECK_BOX,
  25. self::FIELD_CAN_TERMINATE_RULE => FieldType::CHECK_BOX,
  26. ];
  27. protected const FIELD_NAMES = [
  28. ...parent::FIELD_NAMES,
  29. self::FIELD_PARKING_NAME => 'parking_name',
  30. ];
  31. static function findByParkingName(string $parkingName)
  32. {
  33. return static::getAccess()->first(static::getQuery()->where(static::FIELD_PARKING_NAME, $parkingName));
  34. }
  35. public function canTerminateDateEndOfMonth(): bool
  36. {
  37. return in_array(self::ELEMENT_CAN_TERMINATE_DATE_END_OF_MONTH, $this->canTerminateDate);
  38. }
  39. public function canTerminateDate15(): bool
  40. {
  41. return in_array(self::ELEMENT_CAN_TERMINATE_DATE_15, $this->canTerminateDate);
  42. }
  43. }