jiangshuai
2023-11-17 81827a26b91b07c997716f5f595e9e3121c18cf5
models/location_product_amount.go
@@ -17,7 +17,7 @@
      LocationId        int             `json:"locationId" gorm:"type:int;not null;comment:位置id"` //位置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"`
      ProductCategory   ProductCategory `json:"productCategory" gorm:"foreignKey:ProductCategoryID;references:Id"`
      ProductId         string          `json:"productId" gorm:"type:varchar(191);not null;comment:产品id"` //产品id
      Product           Material        `json:"product" gorm:"foreignKey:ProductId;references:ID"`
      Amount            decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:库存数量"` //库存数量
@@ -35,6 +35,7 @@
      //LocationProductIds []int
      LocationIds []int
      ProductIds  []string
      Ids         []int
   }
   LocationProductAmountWithOperation struct {
@@ -80,6 +81,11 @@
func (slf *LocationProductAmountSearch) SetID(id int) *LocationProductAmountSearch {
   slf.Id = id
   return slf
}
func (slf *LocationProductAmountSearch) SetIds(ids []int) *LocationProductAmountSearch {
   slf.Ids = ids
   return slf
}
@@ -151,6 +157,10 @@
   if slf.ProductId != "" {
      db = db.Where("product_id=?", slf.ProductId)
   }
   if len(slf.Ids) > 0 {
      db = db.Where("id in (?)", slf.Ids)
   }
   return db
@@ -247,3 +257,24 @@
   return record, db.First(&record)
}
func (slf *LocationProductAmountSearch) Count() (int64, error) {
   var (
      total int64
      db    = slf.build()
   )
   err := db.Count(&total).Error
   return total, err
}
func (slf *LocationProductAmountSearch) UpdateByMap(upMap map[string]interface{}) error {
   var (
      db = slf.build()
   )
   if err := db.Updates(upMap).Error; err != nil {
      return fmt.Errorf("update by map err: %v, upMap: %+v", err, upMap)
   }
   return nil
}