Files
zsp-project/backend/internal/model/delivery.go
2026-06-03 20:59:39 +08:00

116 lines
5.7 KiB
Go
Executable File

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"`
}