From be19d957b591ad27a47057929c4a8694f0776a1a Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期四, 26 十月 2023 10:15:26 +0800 Subject: [PATCH] bug修改 --- models/location_product_amount.go | 76 ++++++++++++++++++++++++++++--------- 1 files changed, 57 insertions(+), 19 deletions(-) diff --git a/models/location_product_amount.go b/models/location_product_amount.go index 0700984..00c7b92 100644 --- a/models/location_product_amount.go +++ b/models/location_product_amount.go @@ -11,22 +11,29 @@ 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"` + //LocationProductId int `json:"locationProductId" gorm:"type:int;not null;comment:涓婃灦瑙勫垯id"` //涓婃灦瑙勫垯id + //LocationProduct LocationProduct `json:"locationProduct" gorm:"foreignKey:LocationProductId;references:Id"` + 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"` + 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:搴撳瓨鏁伴噺"` //搴撳瓨鏁伴噺 CreateDate string `json:"createDate" gorm:"type:varchar(63);comment:鏃ユ湡"` //鏃ユ湡 } LocationProductAmountSearch struct { LocationProductAmount - Order string - PageNum int - PageSize int - Keyword string - Orm *gorm.DB - Preload bool - LocationProductIds []int + Order string + PageNum int + PageSize int + Keyword string + Orm *gorm.DB + Preload bool + //LocationProductIds []int + LocationIds []int } LocationProductAmountWithOperation struct { @@ -85,13 +92,23 @@ return slf } -func (slf *LocationProductAmountSearch) SetLocationProductId(id int) *LocationProductAmountSearch { - slf.LocationProductId = id +func (slf *LocationProductAmountSearch) SetProductId(productId string) *LocationProductAmountSearch { + slf.ProductId = productId return slf } -func (slf *LocationProductAmountSearch) SetLocationProductIds(ids []int) *LocationProductAmountSearch { - slf.LocationProductIds = ids +func (slf *LocationProductAmountSearch) SetLocationId(locationId int) *LocationProductAmountSearch { + slf.LocationId = locationId + return slf +} + +//func (slf *LocationProductAmountSearch) SetLocationProductIds(ids []int) *LocationProductAmountSearch { +// slf.LocationProductIds = ids +// return slf +//} + +func (slf *LocationProductAmountSearch) SetLocationIds(ids []int) *LocationProductAmountSearch { + slf.LocationIds = ids return slf } @@ -110,13 +127,25 @@ } if slf.Preload { - db = db.Model(&LocationProductAmount{}).Preload("LocationProduct").Preload("LocationProduct.Location").Preload("LocationProduct.Product") + db = db.Model(&LocationProductAmount{}).Preload("Location").Preload("Product").Preload("ProductCategory") } - if slf.LocationProductId != 0 { - db = db.Where("location_product_id=?", slf.LocationProductId) + //if slf.LocationProductId != 0 { + // db = db.Where("location_product_id=?", slf.LocationProductId) + //} + //if len(slf.LocationProductIds) > 0 { + // db = db.Where("location_product_id in (?)", slf.LocationProductIds) + //} + + if len(slf.LocationIds) > 0 { + db = db.Where("location_id in (?)", slf.LocationIds) } - if len(slf.LocationProductIds) > 0 { - db = db.Where("location_product_id in (?)", slf.LocationProductIds) + + if slf.LocationId != 0 { + db = db.Where("location_id = ?", slf.LocationId) + } + + if slf.ProductId != "" { + db = db.Where("product_id=?", slf.ProductId) } return db @@ -204,3 +233,12 @@ return records, nil } + +func (slf *LocationProductAmountSearch) FirstRes() (*LocationProductAmount, *gorm.DB) { + var ( + record = new(LocationProductAmount) + db = slf.build() + ) + + return record, db.First(&record) +} -- Gitblit v1.8.0