Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

63 lignes
2.3KB

  1. <?php
  2. namespace App\Kintone\Models;
  3. /**
  4. * アプリ名 入金予定・結果
  5. */
  6. class PaymentPlan extends KintoneModel
  7. {
  8. const CONFIG_KEY = "KINTONE_APP_PAYMENT_PLAN";
  9. const FIELD_SEASON_TICKET_CONTRACT_RECORD_NO = "contract_record_number";
  10. const FIELD_PAYMENT_TYPE = "payment_type";
  11. const FIELD_PAYMENT_METHOD = "payment_method";
  12. const FIELD_TARGET_YEAR = "target_year";
  13. const FIELD_TARGET_MONTH = "target_month";
  14. const FIELD_TARGET_TERM_MONTH = "target_term_month";
  15. const FIELD_PAYMENT_PLAN_DATE = "payment_plan_date";
  16. const FIELD_PAYMENT_PLAN_AMOUNT = "payment_plan_amount";
  17. const FIELD_APPROPRIATION_DATE = "appropriation_date";
  18. const FIELD_APPROPRIATION_AMOUNT = "appropriation_amount";
  19. const FIELD_REMAINING_AMOUNT = "remaining_amount";
  20. protected const FIELDS = [
  21. ...parent::FIELDS,
  22. self::FIELD_SEASON_TICKET_CONTRACT_RECORD_NO => FieldType::SINGLE_LINE_TEXT,
  23. self::FIELD_PAYMENT_TYPE => FieldType::DROP_DOWN,
  24. self::FIELD_PAYMENT_METHOD => FieldType::DROP_DOWN,
  25. self::FIELD_TARGET_YEAR => FieldType::SINGLE_LINE_TEXT,
  26. self::FIELD_TARGET_MONTH => FieldType::SINGLE_LINE_TEXT,
  27. self::FIELD_TARGET_TERM_MONTH => FieldType::SINGLE_LINE_TEXT,
  28. self::FIELD_PAYMENT_PLAN_DATE => FieldType::DATE,
  29. self::FIELD_PAYMENT_PLAN_AMOUNT => FieldType::SINGLE_LINE_TEXT,
  30. self::FIELD_APPROPRIATION_DATE => FieldType::DATE,
  31. self::FIELD_APPROPRIATION_AMOUNT => FieldType::SINGLE_LINE_TEXT,
  32. self::FIELD_REMAINING_AMOUNT => FieldType::SINGLE_LINE_TEXT,
  33. ];
  34. protected const FIELD_NAMES = [
  35. ...parent::FIELD_NAMES,
  36. self::FIELD_SEASON_TICKET_CONTRACT_RECORD_NO => 'season_ticekt_contract_record_no',
  37. self::FIELD_PAYMENT_TYPE => 'payment_type',
  38. self::FIELD_PAYMENT_METHOD => 'payment_method',
  39. self::FIELD_PAYMENT_PLAN_DATE => 'payment_plan_date',
  40. ];
  41. protected function toArrayCustom(): array
  42. {
  43. $paymentDate = $this->getDate(self::FIELD_APPROPRIATION_DATE);
  44. $remainingAmount = $this->getNumber(self::FIELD_REMAINING_AMOUNT);
  45. $paymentStatus = "未払い";
  46. if (!!$paymentDate && $remainingAmount === 0) {
  47. $paymentStatus = "支払済み";
  48. }
  49. return [
  50. 'payment_status' => $paymentStatus,
  51. ];
  52. }
  53. }