package model

import "time"

type NSRevRec struct {
	ID                  int     `json:"id" gorm:"column:id" csv:"id"`
	OrderID             string  `json:"order_id,omitempty" csv:"order_id"`
	RevrecNumber        string  `json:"revrec_number" gorm:"column:revrec_number" csv:"revrec_number"`
	Item                string  `json:"item" gorm:"column:item" csv:"item"`
	AccountName         string  `json:"account_name" gorm:"column:account_name" csv:"account_name"`
	CreditAmount        float64 `json:"credit_amount" gorm:"column:credit_amount" csv:"credit_amount"`
	FxAmount            float64 `json:"fx_amount" gorm:"column:fx_amount" csv:"fx_amount"`
	ReportName          string  `json:"report_name" gorm:"column:report_name" csv:"report_name"`
	DebitAmount         float64 `json:"debit_amount" gorm:"column:debit_amount" csv:"debit_amount"`
	AccountID           string  `json:"account_id" gorm:"column:account_id" csv:"account_id"`
	OrderNumber         string  `json:"order_number" gorm:"column:order_number" csv:"order_number"`
	Region              string  `json:"region" gorm:"column:region" csv:"region"`
	Subsidiary          string  `json:"subsidiary" gorm:"column:subsidiary" csv:"subsidiary"`
	Currency            string  `json:"currency" gorm:"column:currency" csv:"currency"`
	TranDate            string  `json:"tran_date" gorm:"column:tran_date" csv:"tran_date"`
	ExchangeRate        float64 `json:"exchange_rate" gorm:"column:exchange_rate" csv:"exchange_rate"`
	ReportNumber        string  `json:"report_number" gorm:"column:report_number" csv:"report_number"`
	NSOrderNumber       string  `json:"ns_order_number" gorm:"column:ns_order_number" csv:"ns_order_number"`
	Account             string  `json:"account" gorm:"column:account" csv:"account"`
	RowID               string  `json:"row_id" gorm:"column:row_id" csv:"row_id"`
	OpOrderExchangeRate string  `json:"op_order_exchange_rate" gorm:"column:op_order_exchange_rate" csv:"op_order_exchange_rate"`

	SfRevrecID     string    `json:"sf_revrec_id" csv:"sf_revrec_id"`
	SfRevrecNumber string    `json:"sf_revrec_number" csv:"sf_revrec_number"`
	Sync           int       `json:"sync" csv:"sync"`
	SyncTime       time.Time `json:"sync_time" csv:"sync_time"`
	CreatedAt      time.Time `json:"created_at" gorm:"column:created_at" csv:"created_at"`
	UpdatedTime    time.Time `json:"updated_time" gorm:"column:updated_time" csv:"updated_time"`
}

func (NSRevRec) TableName() string {
	return "ns_revrec"
}

type NSRevRecStatus struct {
	ID             int       `json:"id" gorm:"column:id"`
	CreatedAt      time.Time `json:"created_at" gorm:"column:created_at"`
	RowID          string    `json:"row_id" gorm:"column:row_id"`
	Sync           int       `json:"sync" gorm:"column:sync"`
	SyncTime       time.Time `json:"sync_time" gorm:"column:sync_time"`
	UpdatedTime    time.Time `json:"updated_time" gorm:"column:updated_time"`
	SfRevrecID     string    `json:"sf_revrec_id" gorm:"column:sf_revrec_id"`
	SfRevrecNumber string    `json:"sf_revrec_number" gorm:"column:sf_revrec_number"`
}

func (NSRevRecStatus) TableName() string {
	return "ns_revrec_status"
}
