liujiandao
2024-01-11 eaa4218d45fade3a9ac2cfb7ff81cbfceeb650cd
models/operation_details.go
@@ -18,6 +18,11 @@
      Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:数量"` //数量
      //Unit        string          `json:"unit" gorm:"type:varchar(31);comment:单位"`                    //单位
      Product Material `json:"product" gorm:"foreignKey:ProductId;references:ID"`
      FromLocationID int      `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"`         //源位置id
      FromLocation   Location `json:"fromLocation"     gorm:"foreignKey:FromLocationID;references:Id"` //源位置
      ToLocationID   int      `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"`         //目标位置id
      ToLocation     Location `json:"toLocation"      gorm:"foreignKey:ToLocationID;references:Id"`    //目标位置
   }
   OperationDetailsSearch struct {
@@ -74,6 +79,11 @@
   return slf
}
func (slf *OperationDetailsSearch) SetProductId(productId string) *OperationDetailsSearch {
   slf.ProductId = productId
   return slf
}
func (slf *OperationDetailsSearch) build() *gorm.DB {
   var db = slf.Orm.Model(&OperationDetails{})
@@ -92,6 +102,12 @@
   if slf.OperationID != 0 {
      db = db.Where("operation_id = ?", slf.OperationID)
   }
   if slf.ProductId != "" {
      db = db.Where("product_id = ?", slf.ProductId)
   }
   if slf.Preload {
      db = db.Preload("Product")
   }
   return db
}