No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

82 líneas
3.4KB

  1. <?php
  2. namespace App\Kintone\Models;
  3. use LogicException;
  4. /**
  5. * アプリ名 車室情報管理
  6. * @property string customerCode
  7. * @property string seasonTicketSeqNo
  8. * @property string parkingName
  9. * @property string planName
  10. * @property string vehicleNo
  11. * @property string registerNo
  12. */
  13. class SeasonTicketContract extends KintoneModel
  14. {
  15. const CONFIG_KEY = "KINTONE_APP_SEASON_TICKET_CONTRACT";
  16. const FIELD_CUSTOMER_CODE = "顧客コード";
  17. const FIELD_PARKING_NAME = "駐車場名";
  18. const FIELD_ROOM_NO = "車室番号";
  19. const FIELD_SEASON_TICKET_SEQ_NO = "定期券番号_0";
  20. const FIELD_VEHICLE_NO = "車両番号";
  21. const FIELD_REGISTER_NO = "防犯登録番号";
  22. const FIELD_CONTRACT_START_DATE = "契約日";
  23. const FIELD_CONTRACT_END_DATE = "解約日";
  24. const FIELD_CONTRACT_AMOUNT = "契約金額";
  25. const FIELD_PLAN_NAME = "契約駐車場_0";
  26. const FIELD_STUDENT_LICENSE_IMAGES = "学生証画像";
  27. const FIELD_OTHER_LICENSE_IMAGES = "障がい者手帳画像";
  28. const FIELD_STUDENT_LICENSE_IMAGES_UPLOAD_DATETIME = "学生証画像更新日時";
  29. const FIELD_OTHER_LICENSE_IMAGES_UPLOAD_DATETIME = "障がい者手帳画像更新日時";
  30. const FIELD_STUDENT_LICENSE_EXPIRES_DATE = "学生証有効期限";
  31. const FIELD_OTHER_LICENSE_EXPIRES_DATE = "障がい者手帳有効期限";
  32. protected const FIELDS = [
  33. ...parent::FIELDS,
  34. self::FIELD_CUSTOMER_CODE => FieldType::NUMBER,
  35. self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT,
  36. self::FIELD_ROOM_NO => FieldType::SINGLE_LINE_TEXT,
  37. self::FIELD_SEASON_TICKET_SEQ_NO => FieldType::SINGLE_LINE_TEXT,
  38. self::FIELD_VEHICLE_NO => FieldType::SINGLE_LINE_TEXT,
  39. self::FIELD_REGISTER_NO => FieldType::SINGLE_LINE_TEXT,
  40. self::FIELD_CONTRACT_START_DATE => FieldType::DATE,
  41. self::FIELD_CONTRACT_END_DATE => FieldType::DATE,
  42. self::FIELD_CONTRACT_AMOUNT => FieldType::NUMBER,
  43. self::FIELD_PLAN_NAME => FieldType::SINGLE_LINE_TEXT,
  44. self::FIELD_STUDENT_LICENSE_IMAGES => FieldType::FILE,
  45. self::FIELD_OTHER_LICENSE_IMAGES => FieldType::FILE,
  46. self::FIELD_STUDENT_LICENSE_IMAGES_UPLOAD_DATETIME => FieldType::DATETIME,
  47. self::FIELD_OTHER_LICENSE_IMAGES_UPLOAD_DATETIME => FieldType::DATETIME,
  48. self::FIELD_STUDENT_LICENSE_EXPIRES_DATE => FieldType::DATE,
  49. self::FIELD_OTHER_LICENSE_EXPIRES_DATE => FieldType::DATE,
  50. ];
  51. protected const FIELD_NAMES = [
  52. ...parent::FIELD_NAMES,
  53. self::FIELD_SEASON_TICKET_SEQ_NO => 'season_ticekt_contract_record_no',
  54. self::FIELD_PARKING_NAME => 'parking_name',
  55. self::FIELD_ROOM_NO => 'room_no',
  56. self::FIELD_VEHICLE_NO => 'vehicle_no',
  57. self::FIELD_REGISTER_NO => 'register_no',
  58. self::FIELD_CONTRACT_START_DATE => 'contract_start_date',
  59. self::FIELD_CONTRACT_END_DATE => 'contract_end_date',
  60. self::FIELD_CONTRACT_AMOUNT => 'contract_amount',
  61. self::FIELD_STUDENT_LICENSE_IMAGES_UPLOAD_DATETIME => 'student_license_images_upload_datetime',
  62. self::FIELD_OTHER_LICENSE_IMAGES_UPLOAD_DATETIME => 'other_license_images_upload_datetime',
  63. ];
  64. public function getParking(): Parking
  65. {
  66. return Parking::findByParkingName($this->parkingName);
  67. }
  68. public function getCustomer(): Customer
  69. {
  70. return Customer::findByCustomerCode($this->customerCode);
  71. }
  72. }