zhangqian
2023-09-12 ccc4c924d81c3f8201e7a6c783a9a7148b21670d
models/warehouse.go
@@ -8,9 +8,10 @@
)
type (
   // Warehouse 部门信息
   // Warehouse 仓库
   Warehouse struct {
      WmsModel
      Id               int          `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
      Name             string       `json:"name" gorm:"index;type:varchar(255);not null;comment:仓库名称"`                                 //仓库名称
      Active           bool         `json:"active" gorm:"type:tinyint(1);not null;comment:是否激活"`                                       //是否启用,传true就行
      Code             string       `json:"code" binding:"required,min=1,max=5"  gorm:"index;type:varchar(255);not null;comment:仓库编码"` //仓库编码
@@ -19,6 +20,8 @@
      ResupplyWhIdsStr string       `json:"-" gorm:"column:resupply_wh_ids;type:varchar(255);not null;comment:补给来源仓库ID"`               //补给来源仓库ID
      ResupplyWhIds    []string     `json:"resupplyWhIds" gorm:"-"`                                                                    //补给来源仓库ID
      ResupplyWh       []*Warehouse `json:"resupplyWh" gorm:"-"`                                                                       //补给来源仓库
      CompanyId        int          `json:"companyId" gorm:"type:int;not null;comment:公司id"`
      Company          Company      `json:"company" gorm:"foreignKey:CompanyId"`
   }
   WarehouseSearch struct {
@@ -28,6 +31,7 @@
      PageSize int
      Keyword  string
      Orm      *gorm.DB
      Preload  bool
   }
)
@@ -79,8 +83,13 @@
   return slf
}
func (slf *WarehouseSearch) SetPreload(preload bool) *WarehouseSearch {
   slf.Preload = preload
   return slf
}
func (slf *WarehouseSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
   var db = slf.Orm.Model(&Warehouse{})
   if slf.ID != 0 {
      db = db.Where("id = ?", slf.ID)
@@ -93,10 +102,15 @@
   if slf.Keyword != "" {
      db = db.Where("name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
   }
   if slf.Name != "" {
      db = db.Where("name = ?", slf.Name)
   }
   if slf.Preload {
      db = db.Preload("Company")
   }
   return db
}