zhangqian
2024-04-29 440392a932fb2dc8118caf1f4996e7d8b72574a1
models/fineness.go
@@ -2,6 +2,7 @@
import (
   "fmt"
   "github.com/shopspring/decimal"
   "gorm.io/gorm"
   "silkserver/pkg/mysqlx"
)
@@ -10,27 +11,34 @@
   // FinenessRegister 纤度登记
   FinenessRegister struct {
      gorm.Model
      Number        string `gorm:"type:varchar(255);not null;comment:编号" json:"number"`        //编号
      FinishDate    string `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"`  //落丝时间
      Workshop      string `gorm:"type:varchar(255);not null;comment:车间" json:"name"`          //车间
      WorkshopGroup string `gorm:"type:varchar(255);not null;comment:车组" json:"workshopGroup"` //车组
      Market        string `gorm:"type:varchar(255);not null;comment:庄口" json:"market"`        //庄口
      Spec          string `gorm:"type:varchar(255);not null;comment:规格" json:"spec"`          //规格
      StartCircle   uint8  `gorm:"type:varchar(255);not null;comment:开始回数" json:"startCircle"` //开始回数
      EndCircle     uint8  `gorm:"type:varchar(255);not null;comment:结束回数" json:"endCircle"`   //结束回数
      Number          string          `gorm:"type:varchar(255);not null;comment:编号" json:"number"`       //编号
      FinenessCheckID uint            `gorm:"not null;comment:纤度检验表ID" json:"finenessCheckID"`           //纤度检验表ID
      FinishDate      string          `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"` //落丝时间
      WorkshopNumber  string          `json:"workshopNumber" gorm:"type:varchar(255);comment:车间编号"`
      WorkshopName    string          `json:"workshopName" gorm:"type:varchar(255);comment:车间名称"`
      WorkshopGroup   int             `gorm:"type:int(11);not null;default:0;comment:车组" json:"workshopGroup"` //车组
      Market          string          `gorm:"type:varchar(255);not null;comment:庄口" json:"market"`             //庄口
      Spec            string          `gorm:"type:varchar(255);not null;comment:规格" json:"spec"`               //规格
      Circle          uint8           `gorm:"not null;default:0;comment:回数" json:"circle"`                     //回数
      TotalCircle     uint8           `gorm:"not null;default:0;comment:总回数" json:"totalCircle"`               //总回数
      FinenessList    []FinenessItem  `gorm:"foreignkey:FinenessRegisterID;references:ID" json:"finenessList"`
      SumFineness     decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:合计纤度" json:"sumFineness"`
      SumQuantity     decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:合计数量" json:"sumQuantity"`
      Position        int             `gorm:"not null;default:0;comment:车号" json:"position"` //最后一个车号
   }
   FinenessRegisterSearch struct {
      FinenessRegister
      Order    string
      PageNum  int
      PageSize int
      Orm      *gorm.DB
      Preload  bool
      Keyword  string
   }
)
func (slf *FinenessRegister) TableName() string {
   return "fineness_register"
   return "silk_fineness_register"
}
func NewFinenessRegisterSearch() *FinenessRegisterSearch {
@@ -52,6 +60,11 @@
   return slf
}
func (slf *FinenessRegisterSearch) SetPreload() *FinenessRegisterSearch {
   slf.Preload = true
   return slf
}
func (slf *FinenessRegisterSearch) SetID(id uint) *FinenessRegisterSearch {
   slf.ID = id
   return slf
@@ -59,6 +72,26 @@
func (slf *FinenessRegisterSearch) SetNumber(number string) *FinenessRegisterSearch {
   slf.Number = number
   return slf
}
func (slf *FinenessRegisterSearch) SetKeyword(keyword string) *FinenessRegisterSearch {
   slf.Keyword = keyword
   return slf
}
func (slf *FinenessRegisterSearch) SetWorkshopName(workshop string) *FinenessRegisterSearch {
   slf.WorkshopName = workshop
   return slf
}
func (slf *FinenessRegisterSearch) SetMarket(market string) *FinenessRegisterSearch {
   slf.Market = market
   return slf
}
func (slf *FinenessRegisterSearch) SetWorkshopGroup(group int) *FinenessRegisterSearch {
   slf.WorkshopGroup = group
   return slf
}
@@ -77,6 +110,26 @@
      db = db.Where("number = ?", slf.Number)
   }
   if slf.Preload {
      db = db.Model(&FinenessRegister{}).Preload("FinenessList")
   }
   if slf.Keyword != "" {
      db = db.Where("number like ?", fmt.Sprintf("%%%s%%", slf.Keyword))
   }
   if slf.WorkshopName != "" {
      db = db.Where("workshop_name = ?", slf.WorkshopName)
   }
   if slf.Market != "" {
      db = db.Where("market = ?", slf.Market)
   }
   if slf.WorkshopGroup > 0 {
      db = db.Where("workshop_group = ?", slf.WorkshopGroup)
   }
   return db
}