package model import "time" // DeliveryApply 我要提货 - 提货委托 type DeliveryApply struct { ID uint `gorm:"primaryKey" json:"id"` OrderNumber string `gorm:"size:50;uniqueIndex" json:"orderNumber"` BLNumber string `gorm:"size:100" json:"blNumber"` BLNumber2 string `gorm:"size:100" json:"blNumber2"` LicensePlate string `gorm:"size:20" json:"licensePlate"` DriverName string `gorm:"size:50" json:"driverName"` DriverPhone string `gorm:"size:20" json:"driverPhone"` DriverIdCard string `gorm:"size:30" json:"driverIdCard"` Commodity string `gorm:"size:50" json:"commodity"` Quantity float64 `gorm:"type:decimal(16,4)" json:"quantity"` Unit string `gorm:"size:20" json:"unit"` DeliveryDate string `gorm:"size:20" json:"deliveryDate"` DeliveryAddress string `gorm:"size:200" json:"deliveryAddress"` Warehouse string `gorm:"size:100" json:"warehouse"` Status string `gorm:"size:20;default:pending" json:"status"` // pending, approved, in_progress, completed, cancelled Remark string `gorm:"size:500" json:"remark"` CreateTime time.Time `json:"createTime"` UpdateTime time.Time `json:"updateTime"` } // DeliveryOutbound 提货明细 - 出库单 type DeliveryOutbound struct { ID uint `gorm:"primaryKey" json:"id"` OutboundNumber string `gorm:"size:50;uniqueIndex" json:"outboundNumber"` DeliveryOrderNumber string `gorm:"size:50" json:"deliveryOrderNumber"` BLNumber string `gorm:"size:100" json:"blNumber"` LicensePlate string `gorm:"size:20" json:"licensePlate"` DriverName string `gorm:"size:50" json:"driverName"` DriverPhone string `gorm:"size:20" json:"driverPhone"` Commodity string `gorm:"size:50" json:"commodity"` CommodityCode string `gorm:"size:30" json:"commodityCode"` Quantity float64 `gorm:"type:decimal(16,4)" json:"quantity"` Unit string `gorm:"size:20" json:"unit"` OutboundDate string `gorm:"size:20" json:"outboundDate"` Warehouse string `gorm:"size:100" json:"warehouse"` Operator string `gorm:"size:50" json:"operator"` OutboundStatus string `gorm:"size:20;default:pending" json:"outboundStatus"` ReceiptStatus string `gorm:"size:20;default:pending" json:"receiptStatus"` Remark string `gorm:"size:500" json:"remark"` CreateTime time.Time `json:"createTime"` UpdateTime time.Time `json:"updateTime"` } // Warehouse 仓库 type Warehouse struct { ID uint `gorm:"primaryKey" json:"id"` Code string `gorm:"size:30;uniqueIndex" json:"code"` Name string `gorm:"size:100" json:"name"` Address string `gorm:"size:200" json:"address"` ContactPerson string `gorm:"size:50" json:"contactPerson"` ContactPhone string `gorm:"size:20" json:"contactPhone"` Status string `gorm:"size:20;default:active" json:"status"` Remark string `gorm:"size:500" json:"remark"` CreateTime time.Time `json:"createTime"` UpdateTime time.Time `json:"updateTime"` } // InventoryInbound 入库单 type InventoryInbound struct { ID uint `gorm:"primaryKey" json:"id"` InboundNumber string `gorm:"size:50;uniqueIndex" json:"inboundNumber"` Warehouse string `gorm:"size:100" json:"warehouse"` Commodity string `gorm:"size:50" json:"commodity"` CommodityCode string `gorm:"size:30" json:"commodityCode"` BLNumber string `gorm:"size:100" json:"blNumber"` BLWeight float64 `gorm:"type:decimal(16,4)" json:"blWeight"` InboundWeight float64 `gorm:"type:decimal(16,4)" json:"inboundWeight"` Owner string `gorm:"size:100" json:"owner"` ContractNumber string `gorm:"size:50" json:"contractNumber"` InboundDate string `gorm:"size:20" json:"inboundDate"` Operator string `gorm:"size:50" json:"operator"` Remark string `gorm:"size:500" json:"remark"` CreateTime time.Time `json:"createTime"` UpdateTime time.Time `json:"updateTime"` } // OwnershipTransfer 货权转移 type OwnershipTransfer struct { ID uint `gorm:"primaryKey" json:"id"` TransferNumber string `gorm:"size:50;uniqueIndex" json:"transferNumber"` TransferDate string `gorm:"size:20" json:"transferDate"` Commodity string `gorm:"size:50" json:"commodity"` Warehouse string `gorm:"size:100" json:"warehouse"` Transferor string `gorm:"size:100" json:"transferor"` Transferee string `gorm:"size:100" json:"transferee"` Status string `gorm:"size:20;default:draft" json:"status"` Remark string `gorm:"size:500" json:"remark"` CreateTime time.Time `json:"createTime"` UpdateTime time.Time `json:"updateTime"` BLItems []OwnershipTransferBL `gorm:"foreignKey:TransferID" json:"blItems"` Files []OwnershipTransferFile `gorm:"foreignKey:TransferID" json:"fileList"` } // OwnershipTransferBL 货权转移 - 提单明细(支持动态多条) type OwnershipTransferBL struct { ID uint `gorm:"primaryKey" json:"id"` TransferID uint `gorm:"index;not null" json:"transferId"` BLNumber string `gorm:"size:100" json:"blNumber"` Quantity float64 `gorm:"type:decimal(16,4)" json:"quantity"` } // OwnershipTransferFile 货权转移附件 type OwnershipTransferFile struct { ID uint `gorm:"primaryKey" json:"id"` TransferID uint `gorm:"index" json:"transferId"` Name string `gorm:"size:255" json:"name"` URL string `gorm:"size:500" json:"url"` }