barcode.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package models
  2. import (
  3. model2 "Medical_ERP/common/model"
  4. "database/sql/driver"
  5. "encoding/json"
  6. )
  7. // 运输记录表
  8. type TransportRecord struct {
  9. Date string `json:"date"` // 出库时间
  10. ReceivingUnit string `json:"receivingUnit"` // 收货单位
  11. ProductID int `json:"productId"` // 药品名称id
  12. Type string `json:"type"` // 类型
  13. DeptID int `json:"deptId" swaggerignore:"true"` // 部门id
  14. DeptName string `json:"deptName" swaggerignore:"true"` // 部门名称
  15. StockOutIds []int `json:"stockOutIds"` // 出库id列表
  16. model2.ControlBy `gorm:"-"`
  17. }
  18. type Barcode struct {
  19. model2.Model
  20. Code string `gorm:"size:128;index" json:"code"` //条码编号
  21. Data TransportRecord `gorm:"type:json;comment:'条码信息'" json:"data" ` // 条码信息
  22. model2.ControlBy
  23. model2.ModelTime
  24. }
  25. // Value 存储数据的时候转换为字符串
  26. func (e TransportRecord) Value() (driver.Value, error) {
  27. d, err := json.Marshal(e)
  28. return string(d), err
  29. }
  30. func (e *TransportRecord) Scan(src interface{}) error {
  31. return json.Unmarshal(src.([]byte), e)
  32. }
  33. func (e *Barcode) TableName() string {
  34. return "barcode"
  35. }
  36. func (e *Barcode) GetId() interface{} {
  37. return e.Id
  38. }