jiangshuai
2023-09-27 65f900c88f0f90ee3b29e9b985723b8f94aaeb0b
models/location.go
@@ -11,20 +11,21 @@
   // Location 位置
   Location 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:位置名称"` //位置名称
      ParentId             string                        `json:"parentId" gorm:"type:varchar(255)"`                         //上级id
      CompanyId            int                           `json:"companyId" gorm:"type:int"`                                 //公司id
      Company              Company                       `json:"company" gorm:"foreignKey:CompanyId"`                       //公司
      Type                 constvar.LocationType         `json:"type" gorm:"type:int(11);comment:位置类型"`                     //位置类型
      CountFrequency       int                           `json:"countFrequency" gorm:"type:tinyint;comment:盘点频率(天)"`        //盘点频率(天)
      IsScrapLocation      bool                          `json:"isScrapLocation" gorm:"type:tinyint;comment:是否报废位置"`        //是否报废位置
      IsReturnLocation     bool                          `json:"isReturnLocation" gorm:"type:tinyint;comment:是否退货位置"`       //是否退货位置
      ReplenishLocation    bool                          `json:"replenishLocation" gorm:"type:tinyint;comment:是否补充位置"`      //是否补充位置
      ForceRemovalStrategy constvar.ForceRemovalStrategy `json:"forceRemovalStrategy" gorm:"type:tinyint;comment:下架策略"`     //下架策略
      Notes                string                        `json:"notes" gorm:"type:varchar(255);comment:外部备注"`               //外部备注
      RecentlyCount        string                        `json:"recentlyCount" gorm:"type:varchar(255);comment:最近盘点"`       //最近盘点
      NextCount            string                        `json:"nextCount" gorm:"type:varchar(255);comment:下次盘点"`           //下次盘点
      Id        int    `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
      Name      string `json:"name" gorm:"index;type:varchar(255);not null;comment:位置名称"` //位置名称
      ParentId  int    `json:"parentId" gorm:"type:int;comment:上级id"`                     //上级id
      CompanyId int    `json:"companyId" gorm:"type:int"`                                 //公司id
      //Company              Company                       `json:"company" gorm:"foreignKey:CompanyId"`                       //公司
      Type                 constvar.LocationType         `json:"type" gorm:"type:int(11);comment:位置类型"`                 //位置类型
      CountFrequency       int                           `json:"countFrequency" gorm:"type:tinyint;comment:盘点频率(天)"`    //盘点频率(天)
      IsScrapLocation      bool                          `json:"isScrapLocation" gorm:"type:tinyint;comment:是否报废位置"`    //是否报废位置
      IsReturnLocation     bool                          `json:"isReturnLocation" gorm:"type:tinyint;comment:是否退货位置"`   //是否退货位置
      ReplenishLocation    bool                          `json:"replenishLocation" gorm:"type:tinyint;comment:是否补充位置"`  //是否补充位置
      ForceRemovalStrategy constvar.ForceRemovalStrategy `json:"forceRemovalStrategy" gorm:"type:tinyint;comment:下架策略"` //下架策略
      Notes                string                        `json:"notes" gorm:"type:varchar(255);comment:外部备注"`           //外部备注
      RecentlyCount        string                        `json:"recentlyCount" gorm:"type:varchar(255);comment:最近盘点"`   //最近盘点
      NextCount            string                        `json:"nextCount" gorm:"type:varchar(255);comment:下次盘点"`       //下次盘点
      JointName            string                        `json:"jointName" gorm:"type:varchar(255);comment:拼接名称"`       //拼接名称
   }
   LocationSearch struct {
@@ -35,7 +36,7 @@
      Keyword  string
      Orm      *gorm.DB
      Preload  bool
      Parents  []string
      Codes    []string
   }
)
@@ -62,12 +63,12 @@
   return slf
}
func (slf *LocationSearch) SetID(id int) *LocationSearch {
   slf.Id = id
func (slf *LocationSearch) SetID(ID int) *LocationSearch {
   slf.Id = ID
   return slf
}
func (slf *LocationSearch) SetParents(ids []string) *LocationSearch {
   slf.Parents = ids
func (slf *LocationSearch) SetCodes(ids []string) *LocationSearch {
   slf.Codes = ids
   return slf
}
@@ -91,7 +92,7 @@
   return slf
}
func (slf *LocationSearch) SetParentId(parentId string) *LocationSearch {
func (slf *LocationSearch) SetParentId(parentId int) *LocationSearch {
   slf.ParentId = parentId
   return slf
}
@@ -124,14 +125,14 @@
      db = db.Where("type=?", slf.Type)
   }
   if slf.ParentId != "" {
   if slf.ParentId > 0 {
      db = db.Where("parent_id=?", slf.ParentId)
   }
   if slf.CompanyId != 0 {
      db = db.Where("company_id=?", slf.CompanyId)
   }
   if len(slf.Parents) != 0 {
      db = db.Where("parent_id in (?)", slf.Parents)
   if len(slf.Codes) != 0 {
      db = db.Where("warehouse_code in (?)", slf.Codes)
   }
   return db