34 lines
1.3 KiB
Go
34 lines
1.3 KiB
Go
package entities
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type InventoryTransactionEntity struct {
|
|
ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()" json:"id"`
|
|
TransactionDate time.Time `gorm:"type:timestamp;" json:"transaction_date"`
|
|
TransactionType string `gorm:"type:varchar(100);" json:"transaction_type"`
|
|
|
|
ProductID uuid.UUID `gorm:"type:uuid;index;" json:"product_id"`
|
|
AisleID *uuid.UUID `gorm:"type:uuid;index;" json:"aisle_id"`
|
|
ClientID uuid.UUID `gorm:"type:uuid;index;" json:"client_id"`
|
|
InvReceiptID *uuid.UUID `gorm:"type:uuid;index;" json:"inv_receipt_id"`
|
|
InvIssueID *uuid.UUID `gorm:"type:uuid;index;" json:"inv_issue_id"`
|
|
InvMoveID *uuid.UUID `gorm:"type:uuid;index;" json:"inv_move_id"`
|
|
|
|
Product MProductEntity `gorm:"foreignKey:ProductID;references:ID"`
|
|
Aisle MAisleEntity `gorm:"foreignKey:AisleID;references:ID"`
|
|
Client M_Client `gorm:"foreignKey:ClientID;references:ID"`
|
|
InvReceipt TInventoryReceiptEntity `gorm:"foreignKey:InvReceiptID;references:ID"`
|
|
InvIssue TInventoryIssueEntity `gorm:"foreignKey:InvIssueID;references:ID"`
|
|
InvMove TInventoryMovementEntity `gorm:"foreignKey:InvMoveID;references:ID"`
|
|
|
|
FullAuditTrail
|
|
}
|
|
|
|
func (InventoryTransactionEntity) TableName() string {
|
|
return "m_inventory_transactions"
|
|
}
|