yinbentan
2024-07-10 743614db00f9b8cd9a97997a743f9c161e493aea
models/workshop_manage.go
@@ -11,20 +11,25 @@
type (
   WorkshopManage struct {
      gorm.Model
      WorkshopNumber string           `json:"workshopNumber" gorm:"type:varchar(255);comment:车间编号"`
      WorkshopName   string           `json:"workshopName" gorm:"type:varchar(255);comment:车间名称"`
      GroupNumber    int              `json:"groupNumber" gorm:"type:int(11);comment:组别"`
      StartCarNumber int              `json:"startCarNumber"  gorm:"type:int(11);comment:开始车号"`
      EndCarNumber   int              `json:"endCarNumber"  gorm:"type:int(11);comment:结束车号"`
      CarFlag        constvar.CarFlag `json:"carFlag" gorm:"type:int(1);comment:半车标志"`
      Notes          string           `json:"notes" gorm:"type:varchar(255);comment:备注"`
      WorkshopNumber string                `json:"workshopNumber" gorm:"type:varchar(255);comment:车间编号"`
      WorkshopName   string                `json:"workshopName" gorm:"type:varchar(255);comment:车间名称"`
      Type           constvar.WorkshopType `json:"type" gorm:"size:1;comment:类型(1车间、2分组)"` // 类型(1车间、2分组)
      ParentID       string                `json:"parentID" gorm:"size:11;comment:车间编号"`
      GroupNumber    int                   `json:"groupNumber" gorm:"type:int(11);comment:组别"`
      StartCarNumber int                   `json:"startCarNumber"  gorm:"type:int(11);comment:开始车号"`
      StartCarHalf   constvar.CarFlag      `json:"startCarHalf" gorm:"type:int(1);comment:开始半车标识(1左半车、2右半车)"`
      EndCarNumber   int                   `json:"endCarNumber"  gorm:"type:int(11);comment:结束车号"`
      EndCarHalf     constvar.CarFlag      `json:"endCarHalf" gorm:"type:int(1);comment:结束半车标识(1左半车、2右半车)"`
      CarFlag        int                   `json:"carFlag" gorm:"type:int(1);comment:半车标志(0全车、1半车)"`
      Notes          string                `json:"notes" gorm:"type:varchar(255);comment:备注"`
   }
   WorkshopManageSearch struct {
      WorkshopManage
      PageNum  int
      PageSize int
      Order    string
      Orm      *gorm.DB
      WorkshopNumberArr []string
      PageNum           int
      PageSize          int
      Order             string
      Orm               *gorm.DB
   }
)
@@ -51,6 +56,16 @@
   return slf
}
func (slf *WorkshopManageSearch) SetType(types constvar.WorkshopType) *WorkshopManageSearch {
   slf.Type = types
   return slf
}
func (slf *WorkshopManageSearch) SetParentID(parentID string) *WorkshopManageSearch {
   slf.ParentID = parentID
   return slf
}
func (slf *WorkshopManageSearch) SetWorkshopNumber(workshopNumber string) *WorkshopManageSearch {
   slf.WorkshopNumber = workshopNumber
   return slf
@@ -58,6 +73,11 @@
func (slf *WorkshopManageSearch) SetWorkshopName(workshopName string) *WorkshopManageSearch {
   slf.WorkshopName = workshopName
   return slf
}
func (slf *WorkshopManageSearch) SetWorkshopNumberArr(workshopNumberArr []string) *WorkshopManageSearch {
   slf.WorkshopNumberArr = workshopNumberArr
   return slf
}
@@ -78,8 +98,20 @@
      db = db.Where("id = ?", slf.ID)
   }
   if slf.Type > 0 {
      db = db.Where("`type` = ?", slf.Type)
   }
   if slf.ParentID != "" {
      db = db.Where("parent_id = ?", slf.ParentID)
   }
   if slf.WorkshopNumber != "" {
      db = db.Where("workshop_number = ?", slf.WorkshopNumber)
   }
   if len(slf.WorkshopNumberArr) > 0 {
      db = db.Where("workshop_number in (?)", slf.WorkshopNumberArr)
   }
   if slf.WorkshopName != "" {
@@ -103,6 +135,19 @@
   return nil
}
func (slf *WorkshopManageSearch) First() (*WorkshopManage, error) {
   var (
      record = new(WorkshopManage)
      db     = slf.build()
   )
   if err := db.First(record).Error; err != nil {
      return record, err
   }
   return record, nil
}
func (slf *WorkshopManageSearch) Find() ([]*WorkshopManage, int64, error) {
   var (
      records = make([]*WorkshopManage, 0)
@@ -116,19 +161,33 @@
   if slf.PageNum*slf.PageSize > 0 {
      db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
   }
   if err := db.Order("updated_at desc").Find(&records).Error; err != nil {
   if slf.Order != "" {
      db = db.Order(slf.Order)
   } else {
      db = db.Order("updated_at desc")
   }
   if err := db.Find(&records).Error; err != nil {
      return records, total, fmt.Errorf("find records err: %v", err)
   }
   return records, total, nil
}
func (slf *WorkshopManageSearch) FindAll() ([]*WorkshopManage, error) {
func (slf *WorkshopManageSearch) FindNotTotal() ([]*WorkshopManage, error) {
   var (
      records = make([]*WorkshopManage, 0)
      db      = slf.build()
   )
   if slf.PageNum*slf.PageSize > 0 {
      db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
   }
   if slf.Order != "" {
      db = db.Order(slf.Order)
   } else {
      db = db.Order("updated_at desc")
   }
   if err := db.Find(&records).Error; err != nil {
      return records, fmt.Errorf("find records err: %v", err)
   }