receiptDetail * @property Collection taxDetail * @property string receiptCustomerName * @property int receiptTotalAmount * @property Collection paymentPlans */ class Receipt extends KintoneModel { const CONFIG_KEY = "KINTONE_APP_RECEIPT"; const FIELD_RECEIPT_NO = "領収証番号"; const FIELD_RECEIPT_DATE = "発行日"; const FIELD_INVOICE_NO = "インボイス登録番号"; const FIELD_RECEIPT_ISSURE = "発行事業者名"; const FIELD_RECEIPT_NAME = "領収証名称"; const FIELD_CUSTOMER_CODE = "顧客コード"; const FIELD_CUSTOMER_NAME = "顧客名"; const FIELD_TAX_TYPE = "税区分"; const FIELD_RECEIPT_DETAIL = "テーブル_明細"; const FIELD_RECEIPT_DETAIL_NAME = "明細_名称"; const FIELD_RECEIPT_DETAIL_PARKING_NAME = "明細_駐車場名"; const FIELD_RECEIPT_DETAIL_TARGET_MONTH = "明細_対象月"; const FIELD_RECEIPT_DETAIL_MEMO = "明細_備考"; const FIELD_RECEIPT_DETAIL_UNIT_PRICE = "明細_単価"; const FIELD_RECEIPT_DETAIL_QUANTITY = "明細_数量"; const FIELD_RECEIPT_DETAIL_AMOUNT = "明細_金額"; const FIELD_RECEIPT_DETAIL_TAX_RATE = "明細_税率"; const FIELD_TAX_DETAIL = "テーブル_内税明細"; const FIELD_TAX_DETAIL_TAX_RATE = "内税明細_税率"; const FIELD_TAX_DETAIL_TOTAL_AMOUNT = "内税明細_税込金額合計"; const FIELD_TAX_DETAIL_TAX_AMOUNT = "内税明細_消費税_内税"; const FIELD_RECEIPT_CUSTOMER_NAME = "宛名"; const FIELD_RECEIPT_TOTAL_AMOUNT = "合計"; const FIELD_PAYMENT_PLANS = "テーブル_入金実績"; const FIELD_PAYMENT_PLANS_RECORD_NO = "入金実績_入金予定レコード番号"; const FIELD_PAYMENT_PLANS_PAYMENT_PURPOSE = "入金実績_支払種別"; const FIELD_PAYMENT_PLANS_DATE = "入金実績_入金日"; const FIELD_PAYMENT_PLANS_AMOUNT = "入金実績_入金額"; const FIELD_PAYMENT_PLANS_TARGET_YEAR = "入金実績支払対象_利用_年"; const FIELD_PAYMENT_PLANS_TARGET_MONTH = "入金実績支払対象_利用_月"; const FIELD_RECEIPT_PDF_FILE = "領収証PDF"; protected const FIELDS = [ ...parent::FIELDS, self::FIELD_RECEIPT_NO => FieldType::SINGLE_LINE_TEXT, self::FIELD_RECEIPT_DATE => FieldType::DATE, self::FIELD_INVOICE_NO => FieldType::SINGLE_LINE_TEXT, self::FIELD_RECEIPT_ISSURE => FieldType::MULTI_LINE_TEXT, self::FIELD_RECEIPT_NAME => FieldType::SINGLE_LINE_TEXT, self::FIELD_CUSTOMER_CODE => FieldType::NUMBER, self::FIELD_CUSTOMER_NAME => FieldType::SINGLE_LINE_TEXT, self::FIELD_TAX_TYPE => FieldType::DROP_DOWN, self::FIELD_RECEIPT_DETAIL => FieldType::SUBTABLE, self::FIELD_TAX_DETAIL => FieldType::SUBTABLE, self::FIELD_RECEIPT_CUSTOMER_NAME => FieldType::SINGLE_LINE_TEXT, self::FIELD_RECEIPT_TOTAL_AMOUNT => FieldType::NUMBER, self::FIELD_RECEIPT_PDF_FILE => FieldType::FILE, self::FIELD_PAYMENT_PLANS => FieldType::SUBTABLE, ]; protected const FIELD_NAMES = [ ...parent::FIELD_NAMES, self::FIELD_RECEIPT_DATE => 'receipt_date', self::FIELD_RECEIPT_NAME => 'receipt_name', self::FIELD_RECEIPT_TOTAL_AMOUNT => 'total_amount', ]; protected const SUB_TABLES = [ self::FIELD_RECEIPT_DETAIL => ReceiptDetail::class, self::FIELD_TAX_DETAIL => TaxDetail::class, self::FIELD_PAYMENT_PLANS => PaymentPlan::class, ]; protected const RELATIONS = [ Customer::class, ModelsPaymentPlan::class, ]; protected function toArrayCustom(): array { return [ 'pdf_url' => RouteHelper::getPath(ReceiptDownloadController::class, ['receipt_no' => $this->receiptNo, 'record_no' => $this->getRecordId()]), ]; } }