zhangqian
2024-07-04 c950586b718ae6fc198bedf424609a4ac94cb5d1
models/location_product_amount.go
@@ -11,10 +11,9 @@
type (
   LocationProductAmount struct {
      WmsModel
      Id int `json:"id"  gorm:"column:id;primary_key;AUTO_INCREMENT"`
      //LocationProductId int             `json:"locationProductId" gorm:"type:int;not null;comment:上架规则id"` //上架规则id
      //LocationProduct   LocationProduct `json:"locationProduct" gorm:"foreignKey:LocationProductId;references:Id"`
      Id                int             `json:"id"  gorm:"column:id;primary_key;AUTO_INCREMENT"`
      LocationId        int             `json:"locationId" gorm:"type:int;not null;comment:位置id"` //位置id
      WarehouseId       int             `json:"warehouseId" gorm:"type:int;not null;default:0;comment:仓库id"`
      Location          Location        `json:"location" gorm:"foreignKey:LocationId;references:id"`
      ProductCategoryID int             `json:"productCategoryId" gorm:"type:int;not null;comment:产品种类id"` //产品种类id
      ProductCategory   ProductCategory `json:"productCategory" gorm:"foreignKey:ProductCategoryID;references:Id"`
@@ -47,6 +46,7 @@
      ProductId               string                     `json:"productId" gorm:"column:product_id"`
      ProductName             string                     `json:"productName" gorm:"column:product_name"`
      Amount                  decimal.Decimal            `json:"amount" gorm:"column:amount"`
      AmountMoreUnits         []UnitItems                `json:"amountMoreUnits" gorm:"-"` //在库数量多单位
      Unit                    string                     `json:"unit" gorm:"column:unit"`
      CreateDate              string                     `json:"createDate" gorm:"column:create_date"`
      AdjustAmount            decimal.Decimal            `json:"adjustAmount" gorm:"column:adjust_amount"` //差值
@@ -126,6 +126,11 @@
   return slf
}
func (slf *LocationProductAmountSearch) SetWarehouseId(wid int) *LocationProductAmountSearch {
   slf.WarehouseId = wid
   return slf
}
func (slf *LocationProductAmountSearch) build() *gorm.DB {
   var db = slf.Orm.Model(&LocationProductAmount{})
@@ -147,9 +152,7 @@
   if slf.Preload {
      db = db.Model(&LocationProductAmount{}).Preload("Location").Preload("Product").Preload("ProductCategory")
   }
   //if slf.LocationProductId != 0 {
   //   db = db.Where("location_product_id=?", slf.LocationProductId)
   //}
   if len(slf.ProductIds) > 0 {
      db = db.Where("product_id in (?)", slf.ProductIds)
   }
@@ -172,6 +175,10 @@
   if slf.Query != "" {
      db = db.Where(slf.Query)
   }
   if slf.WarehouseId != 0 {
      db = db.Where("warehouse_id = ?", slf.WarehouseId)
   }
   return db
@@ -253,6 +260,9 @@
      db      = slf.build()
   )
   if slf.PageNum*slf.PageSize > 0 {
      db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
   }
   if err := db.Find(&records).Error; err != nil {
      return records, fmt.Errorf("find records err: %v", err)
   }
@@ -311,3 +321,13 @@
   }
   return result, nil
}
func (slf *LocationProductAmountSearch) Save(record *LocationProductAmount) error {
   var db = slf.build()
   if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
      return fmt.Errorf("save err: %v, record: %+v", err, record)
   }
   return nil
}