liujiandao
2024-03-11 318c49da20ec30c4f85ef35e479499e82a841b25
models/operation_details.go
@@ -11,13 +11,18 @@
   // OperationDetails 操作明细表
   OperationDetails struct {
      WmsModel
      Id          int    `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
      OperationID int    `json:"operationId" gorm:"type:int;not null;comment:操作记录id"`      //操作id
      ProductId   string `json:"productId" gorm:"type:varchar(191);not null;comment:产品id"` //产品id
      //ProductName string          `json:"productName" gorm:"type:varchar(255);not null;comment:产品名称"` //产品名称
      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"`
      Id          int             `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
      OperationId int             `json:"OperationId" gorm:"type:int;not null;comment:操作记录id"`        //操作id
      ProductId   string          `json:"productId" gorm:"type:varchar(191);not null;comment:产品id"`   //产品id
      ProductName string          `json:"productName" gorm:"type:varchar(255);not null;comment:产品名称"` //产品名称
      Quantity    decimal.Decimal `json:"quantity" gorm:"type:decimal(20,2);not null;comment:数量"`     //数量
      Unit        string          `json:"unit" gorm:"type:varchar(31);comment:单位"`
      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 {
@@ -54,8 +59,8 @@
   return slf
}
func (slf *OperationDetailsSearch) SetID(id uint) *OperationDetailsSearch {
   slf.ID = id
func (slf *OperationDetailsSearch) SetID(ID int) *OperationDetailsSearch {
   slf.Id = ID
   return slf
}
@@ -70,15 +75,20 @@
}
func (slf *OperationDetailsSearch) SetOperationId(operationId int) *OperationDetailsSearch {
   slf.OperationId = operationId
   slf.OperationID = operationId
   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{})
   if slf.ID != 0 {
      db = db.Where("id = ?", slf.ID)
   if slf.Id != 0 {
      db = db.Where("id = ?", slf.Id)
   }
   if slf.Order != "" {
@@ -89,8 +99,14 @@
      db = db.Where("product_name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
   }
   if slf.OperationId != 0 {
      db = db.Where("operation_id = ?", slf.OperationId)
   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
@@ -154,7 +170,7 @@
func (slf *OperationDetailsSearch) Delete() error {
   var db = slf.build()
   return db.Delete(&OperationDetails{}).Error
   return db.Unscoped().Delete(&OperationDetails{}).Error
}
func (slf *OperationDetailsSearch) First() (*OperationDetails, error) {