You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
5.2KB

  1. <?php
  2. namespace App\Kintone\Models;
  3. use App\Kintone\Models\SubTable\SeasonTicketContractSelection\Candidate;
  4. use App\Kintone\Models\SubTable\SeasonTicketContractSelection\Entry;
  5. use App\Kintone\Models\SubTable\SeasonTicketContractSelection\Result;
  6. use App\Kintone\Models\SubTable\SeasonTicketContractSelection\TargetRoom;
  7. use Illuminate\Support\Carbon;
  8. use Illuminate\Support\Collection;
  9. /**
  10. * アプリ名 定期予約選考
  11. * @property string parkingName
  12. * @property string status
  13. * @property ?Carbon useStartDate
  14. * @property ?Carbon selectionFinalDate
  15. * @property Collection<int, TargetRoom> targetRoomList
  16. * @property Collection<int, Candidate> candidateList
  17. * @property Collection<int, Entry> entryList
  18. * @property Collection<int, Result> resultList
  19. * @property string selectionMessage
  20. * @property string searchCandidateListRecordNo
  21. * @property string searchEntryListRecordNo
  22. * @property string searchResultListEntryRecordNo
  23. */
  24. class SeasonTicketContractSelection extends KintoneModel
  25. {
  26. const CONFIG_KEY = "KINTONE_APP_SEASON_TICEKT_CONTRACT_SELECTION";
  27. const FIELD_PARKING_NAME = "駐車場名";
  28. const FIELD_STATUS = "選考ステータス";
  29. const FIELD_USE_START_DATE = "利用開始日";
  30. const FIELD_SELECTION_FINAL_DATE = "選考締切日";
  31. const FIELD_TARGET_ROOM_LIST = "対象車室一覧";
  32. const FIELD_TARGET_ROOM_LIST_ROOM_NO = "対象車室一覧_車室番号";
  33. const FIELD_TARGET_ROOM_LIST_ROOM_TYPE = "対象車室一覧_車室タイプ";
  34. const FIELD_TARGET_ROOM_LIST_RECORD_NO = "対象車室一覧_車室レコード番号";
  35. const FIELD_CANDIDATE_LIST = "申込者一覧";
  36. const FIELD_CANDIDATE_EMAIL_SEND_TARGET = "申込者一覧_通知対象";
  37. const FIELD_CANDIDATE_LIST_RECORD_NO = "申込者一覧_申込レコード番号";
  38. const FIELD_CANDIDATE_LIST_STATUS = "申込者一覧_状態";
  39. const FIELD_CANDIDATE_LIST_PLAN = "申込者一覧_プラン";
  40. const FIELD_CANDIDATE_LIST_ENTRY_NO = "申込者一覧_申込番号";
  41. const FIELD_CANDIDATE_LIST_NAME = "申込者一覧_氏名";
  42. const FIELD_CANDIDATE_LIST_ENTRY_DATETIME = "申込者一覧_受付日時";
  43. const FIELD_CANDIDATE_LIST_WANTS_TO_USE_START_DATE = "申込者一覧_利用開始希望日";
  44. const FIELD_CANDIDATE_LIST_CAR_AMOUNT = "申込者一覧_台数";
  45. const FIELD_CANDIDATE_LIST_EMAIL = "申込者一覧_メールアドレス";
  46. const FIELD_ENTRY_LIST = "契約希望者一覧";
  47. const FIELD_ENTRY_LIST_STATUS = "契約希望者一覧_状態";
  48. const FIELD_ENTRY_LIST_PLAN = "契約希望者一覧_プラン";
  49. const FIELD_ENTRY_LIST_RECORD_NO = "契約希望者一覧_申込レコード番号";
  50. const FIELD_ENTRY_LIST_ENTRY_NO = "契約希望者一覧_申込番号";
  51. const FIELD_ENTRY_LIST_NAME = "契約希望者一覧_氏名";
  52. const FIELD_ENTRY_LIST_ENTRY_DATETIME = "契約希望者一覧_受付日時";
  53. const FIELD_ENTRY_LIST_WANTS_TO_USE_START_DATE = "契約希望者一覧_利用開始希望日";
  54. const FIELD_ENTRY_LIST_CAR_AMOUNT = "契約希望者一覧_台数";
  55. const FIELD_RESULT_LIST = "選考結果一覧";
  56. const FIELD_RESULT_LIST_ROOM_RECORD_NO = "選考結果一覧_車室レコード番号";
  57. const FIELD_RESULT_LIST_ROOM_NO = "選考結果一覧_車室番号";
  58. const FIELD_RESULT_LIST_ROOM_TYPE = "選考結果一覧_車室タイプ";
  59. const FIELD_RESULT_LIST_ENTRY_RECORD_NO = "選考結果一覧_申込レコード番号";
  60. const FIELD_RESULT_LIST_STATUS = "選考結果一覧_ステータス";
  61. const FIELD_RESULT_LIST_PLAN = "選考結果一覧_プラン";
  62. const FIELD_RESULT_LIST_ENTRY_NO = "選考結果一覧_申込番号";
  63. const FIELD_RESULT_LIST_NAME = "選考結果一覧_氏名";
  64. const FIELD_SELECTION_MESSAGE = "自動選考メッセージ";
  65. const FIELD_SEARCH_CANDIDATE_LIST_RECORD_NO = "検索用_申込一覧_レコード番号";
  66. const FIELD_SEARCH_ENTRY_LIST_RECORD_NO = "検索用_契約希望者_レコード番号";
  67. const FIELD_SEARCH_RESULT_LIST_ENTRY_RECORD_NO = "検索用_選考結果_レコード番号";
  68. protected const FIELDS = [
  69. ...parent::FIELDS,
  70. self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT,
  71. self::FIELD_STATUS => FieldType::DROP_DOWN,
  72. self::FIELD_TARGET_ROOM_LIST => FieldType::SUBTABLE,
  73. self::FIELD_CANDIDATE_LIST => FieldType::SUBTABLE,
  74. self::FIELD_ENTRY_LIST => FieldType::SUBTABLE,
  75. self::FIELD_RESULT_LIST => FieldType::SUBTABLE,
  76. self::FIELD_SELECTION_MESSAGE => FieldType::MULTI_LINE_TEXT,
  77. self::FIELD_SEARCH_CANDIDATE_LIST_RECORD_NO => FieldType::SINGLE_LINE_TEXT,
  78. self::FIELD_SEARCH_ENTRY_LIST_RECORD_NO => FieldType::SINGLE_LINE_TEXT,
  79. self::FIELD_SEARCH_RESULT_LIST_ENTRY_RECORD_NO => FieldType::SINGLE_LINE_TEXT,
  80. ];
  81. protected const SUB_TABLES = [
  82. self::FIELD_TARGET_ROOM_LIST => TargetRoom::class,
  83. self::FIELD_CANDIDATE_LIST => Candidate::class,
  84. self::FIELD_ENTRY_LIST => Entry::class,
  85. self::FIELD_RESULT_LIST => Result::class,
  86. ];
  87. protected const FIELD_NAMES = [
  88. ...parent::FIELD_NAMES,
  89. ];
  90. protected const RELATIONS = [
  91. SeasonTicketContractEntry::class,
  92. ParkingRoom::class,
  93. ];
  94. }