From 743614db00f9b8cd9a97997a743f9c161e493aea Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期三, 10 七月 2024 20:55:28 +0800 Subject: [PATCH] 车间分组配置 --- models/workshop_manage.go | 85 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 72 insertions(+), 13 deletions(-) diff --git a/models/workshop_manage.go b/models/workshop_manage.go index ca05716..88c555f 100644 --- a/models/workshop_manage.go +++ b/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) } -- Gitblit v1.8.0