yinbentan
2024-07-06 79aef24a785581d95343ccd99e9cb362b2bc9c97
models/location.go
@@ -27,6 +27,8 @@
      NextCount            string                        `json:"nextCount" gorm:"type:varchar(255);comment:下次盘点"`       //下次盘点
      JointName            string                        `json:"jointName" gorm:"type:varchar(255);comment:拼接名称"`       //拼接名称
      Children             []*Location                   `json:"children" gorm:"-"`
      WarehouseId          int                           `json:"warehouseId" gorm:"type:int;not null;default:0;comment:仓库ID"` //仓库ID
      Warehouse            Warehouse                     `json:"warehouse" gorm:"foreignKey:WarehouseId"`                     //仓库
   }
   LocationSearch struct {
@@ -38,6 +40,7 @@
      Orm        *gorm.DB
      Preload    bool
      JointNames []string
      Ids        []int
   }
)
@@ -66,6 +69,11 @@
func (slf *LocationSearch) SetID(ID int) *LocationSearch {
   slf.Id = ID
   return slf
}
func (slf *LocationSearch) SetIds(ids []int) *LocationSearch {
   slf.Ids = ids
   return slf
}
@@ -109,11 +117,25 @@
   return slf
}
func (slf *LocationSearch) SetIsScrapLocation(isScrapLocation bool) *LocationSearch {
   slf.IsScrapLocation = isScrapLocation
   return slf
}
func (slf *LocationSearch) SetWarehouseId(warehouseId int) *LocationSearch {
   slf.WarehouseId = warehouseId
   return slf
}
func (slf *LocationSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
   if slf.Id != 0 {
      db = db.Where("id = ?", slf.Id)
   }
   if len(slf.Ids) > 0 {
      db = db.Where("id in (?)", slf.Ids)
   }
   if slf.Order != "" {
@@ -139,10 +161,23 @@
      db = db.Where("company_id=?", slf.CompanyId)
   }
   if slf.JointName != "" {
      //slf.JointName += "/"
      db = db.Where("joint_name like ?", slf.JointName+"%")
   }
   if len(slf.JointNames) != 0 {
      db = db.Where("joint_name in (?)", slf.JointNames)
   }
   if slf.IsScrapLocation {
      db = db.Where("is_scrap_location = ?", slf.IsScrapLocation)
   }
   if slf.Preload {
      db = db.Preload("Warehouse")
   }
   if slf.WarehouseId != 0 {
      db = db.Where("warehouse_id = ?", slf.WarehouseId)
   }
   return db
@@ -338,7 +373,7 @@
   locations = append(locations, &Location{Name: "库存损失", Type: 5, JointName: "库存损失"})
   locations = append(locations, &Location{Name: "生产", Type: 6, JointName: "生产"})
   locations = append(locations, &Location{Name: "中转位置", Type: 7, JointName: "中转位置"})
   locations = append(locations, &Location{Name: "报废位置", Type: 8, JointName: "报废位置"})
   locations = append(locations, &Location{Name: "报废位置", Type: 8, JointName: "报废位置", IsScrapLocation: true})
   locations = append(locations, &Location{Name: "库存盘点", Type: 9, JointName: "库存盘点"})
   return slf.CreateBatch(locations)
}