From 1f76da69a17b7db8aa2c795905188b750cac877c Mon Sep 17 00:00:00 2001 From: "sosuke.iwabuchi" Date: Wed, 18 Oct 2023 09:58:56 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BA=88=E7=B4=84=E5=AF=BE=E5=BF=9C=E3=80=80?= =?UTF-8?q?=E3=81=9F=E3=81=9F=E3=81=8D=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Kintone/Models/ParkingRoom.php | 24 ++++++++++ .../Models/SeasonTicketContractReserve.php | 48 +++++++++++++++++++ .../TargetRoom.php | 31 ++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 app/Kintone/Models/ParkingRoom.php create mode 100644 app/Kintone/Models/SeasonTicketContractReserve.php create mode 100644 app/Kintone/Models/SubTable/SeasonTicketContractReserve/TargetRoom.php diff --git a/app/Kintone/Models/ParkingRoom.php b/app/Kintone/Models/ParkingRoom.php new file mode 100644 index 0000000..3dd7968 --- /dev/null +++ b/app/Kintone/Models/ParkingRoom.php @@ -0,0 +1,24 @@ + FieldType::SINGLE_LINE_TEXT, + ]; + + protected const FIELD_NAMES = [ + ...parent::FIELD_NAMES, + ]; +} diff --git a/app/Kintone/Models/SeasonTicketContractReserve.php b/app/Kintone/Models/SeasonTicketContractReserve.php new file mode 100644 index 0000000..28bbe50 --- /dev/null +++ b/app/Kintone/Models/SeasonTicketContractReserve.php @@ -0,0 +1,48 @@ + targetRoomList + */ +class SeasonTicketContractReserve extends KintoneModel +{ + const CONFIG_KEY = "KINTONE_APP_SEASON_TICEKT_CONTRACT_RESERVE"; + + const FIELD_PARKING_NAME = "駐車場"; + + const FIELD_TARGET_ROOM_LIST = "対象車室一覧"; + const FIELD_TARGET_ROOM_LIST_ROOM_NO = "対象車室一覧_車室番号"; + const FIELD_TARGET_ROOM_LIST_ROOM_TYPE = "対象車室一覧_車室タイプ"; + const FIELD_TARGET_ROOM_LIST_RECORD_NO = "対象車室一覧_車室レコード番号"; + + protected const FIELDS = [ + ...parent::FIELDS, + self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT, + self::FIELD_TARGET_ROOM_LIST => FieldType::SUBTABLE, + // self::FIELD_TARGET_ROOM_LIST => [ + // self::FIELD_TARGET_ROOM_LIST_RECORD_NO => FieldType::NUMBER, + // self::FIELD_TARGET_ROOM_LIST_ROOM_TYPE => FieldType::SINGLE_LINE_TEXT, + // self::FIELD_TARGET_ROOM_LIST_ROOM_NO => FieldType::SINGLE_LINE_TEXT, + // ], + ]; + + protected const SUB_TABLES = [ + self::FIELD_TARGET_ROOM_LIST => TargetRoom::class, + ]; + + protected const FIELD_NAMES = [ + ...parent::FIELD_NAMES, + ]; + + protected const RELATIONS = [ + SeasonTicketContractEntry::class, + ParkingRoom::class, + ]; +} diff --git a/app/Kintone/Models/SubTable/SeasonTicketContractReserve/TargetRoom.php b/app/Kintone/Models/SubTable/SeasonTicketContractReserve/TargetRoom.php new file mode 100644 index 0000000..8369bae --- /dev/null +++ b/app/Kintone/Models/SubTable/SeasonTicketContractReserve/TargetRoom.php @@ -0,0 +1,31 @@ +roomNo = data_get($data, SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_NO, ""); + $this->roomType = data_get($data, SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_TYPE, ""); + $this->roomRecordNo = intval(data_get($data, SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_RECORD_NO, 0)); + parent::__construct($data); + } + + public function toArray(): array + { + return [ + SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_NO => $this->roomNo, + SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_TYPE => $this->roomType, + SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_RECORD_NO => $this->roomRecordNo, + ]; + } +}