waybill.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package model
  2. import model2 "cold-logistics/common/model"
  3. var (
  4. WaybillStatusWaitDelivery = 1 // 待派单
  5. WaybillStatusWaitTruck = 2 // 待装车
  6. WaybillStatusWaitStorage = 3 // 待入库
  7. WaybillStatusTruck = 4 // 已装车
  8. WaybillStatusStorage = 5 // 已入库
  9. WaybillStatusTruckOut = 6 // 已下车
  10. WaybillStatusStorageOut = 7 // 已出库
  11. WaybillStatusReceipt = 8 // 已签收
  12. WaybillStatusWaitVanning = 9 // 待装箱
  13. WaybillStatusVanning = 10 // 已装箱
  14. WaybillStatusVanningOut = 11 // 已出箱
  15. WaybillStatusTransfer = 12 // 转箱
  16. WaybillStatusMap = map[int]string{
  17. WaybillStatusWaitDelivery: "待派单",
  18. WaybillStatusWaitTruck: "待装车",
  19. WaybillStatusWaitStorage: "待入库",
  20. WaybillStatusTruck: "已装车",
  21. WaybillStatusStorage: "已入库",
  22. WaybillStatusReceipt: "已签收",
  23. WaybillStatusTruckOut: "已下车",
  24. WaybillStatusStorageOut: "已出库",
  25. WaybillStatusWaitVanning: "待装箱",
  26. WaybillStatusVanning: "已装箱",
  27. WaybillStatusVanningOut: "已出箱",
  28. WaybillStatusTransfer: "已转箱",
  29. }
  30. )
  31. // 获取客户运单状态
  32. func GetCustomerWaybillStatus(status int) string {
  33. switch status {
  34. case WaybillStatusWaitDelivery, WaybillStatusWaitTruck, WaybillStatusWaitStorage:
  35. return "未发货"
  36. case WaybillStatusTruck, WaybillStatusStorage, WaybillStatusTruckOut, WaybillStatusStorageOut:
  37. return "已发货"
  38. case WaybillStatusReceipt:
  39. return "已签收"
  40. }
  41. return ""
  42. }
  43. // 运单
  44. type Waybill struct {
  45. model2.Model
  46. WaybillNo string `json:"waybillNo" gorm:"size:128"` //单号
  47. Status int `json:"status" gorm:"size:128"` //运单状态:1待派单 2待装车 3待入库 4已装车 5已入库 6已下车 7已出库 8已签收 9待装箱 10已装箱 11已出箱
  48. //SenderAddressId int `json:"senderAddressId" gorm:"size:128"` //发货地址Id
  49. SenderAddressDetails string `json:"senderAddressDetails" gorm:"size:128"` //发货地址详情
  50. SenderAddressName string `json:"senderAddressName" gorm:"size:128"` //发货地址名称
  51. SenderAddressPhone string `json:"senderAddressPhone" gorm:"size:128"` //发货地址电话
  52. //ConsigneeAddressId int `json:"consigneeAddressId" gorm:"size:128"` // 收货地址id
  53. ConsigneeAddressDetails string `json:"consigneeAddressDetails" gorm:"size:128"` // 收发货地址详情
  54. ConsigneeAddressName string `json:"consigneeAddressName" gorm:"size:128"` // 收发货地址名称
  55. ConsigneeAddressPhone string `json:"consigneeAddressPhone" gorm:"size:128"` // 收发货地址电话
  56. CargoType string `json:"cargoType" gorm:"size:128"` // 货物类型
  57. TemperatureInterval string `json:"temperatureInterval" gorm:"size:128"` // 温度要求
  58. DeliveryCondition string `json:"deliveryCondition" gorm:"size:128"` // 配送要求
  59. Quantity int `json:"quantity" gorm:"size:128"` // 药品数量
  60. Remark string `json:"remark" gorm:"size:text"` // 运输备注
  61. CustomerId int `json:"customerId" gorm:"size:4"` // 下单客户id
  62. CustomerName string `json:"customerName" gorm:"size:128"` // 下单客户名称
  63. OrderTime model2.Time `json:"orderTime" gorm:"size:128"` // 下单时间
  64. DeliveryTime model2.Time `json:"deliveryTime" gorm:"size:128"` // 发货时间 入库/装车/装箱时间
  65. PrintUserId int `json:"printUserId" gorm:"size:128"` // 打印人id
  66. ReceiptTime model2.Time `json:"receiptTime" gorm:"size:128"` // 签收时间
  67. WarehouseId int `json:"warehouseId" gorm:"size:128"` // 仓库id
  68. CarId int `json:"carId" gorm:"size:128"` // 车辆id
  69. CoolerBoxId int `json:"coolerBoxId" gorm:"size:128"` // 保温箱id
  70. ReceiptImg string `json:"ReceiptImg" gorm:"size:text"` // 签收图片
  71. Qualified int `json:"qualified" gorm:"size:128"` // 1-合格 2-不合格
  72. Freight float64 `json:"freight" gorm:"size:9"` //运费
  73. PrintUser SysUserOmit `json:"printUser" gorm:"->;foreignkey:PrintUserId;references:Id"`
  74. CoolerBox CoolerBoxOmit `json:"coolerBox" gorm:"->;foreignkey:CoolerBoxId;references:Id"`
  75. Dept SysDept `json:"dept" gorm:"->"` // 部门
  76. model2.ControlBy
  77. model2.ModelTime
  78. model2.DeptBy
  79. }
  80. func (Waybill) TableName() string {
  81. return "waybill"
  82. }