From 3ae25318873c7175aedc529f05bacde8005d8b50 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期二, 23 四月 2024 17:52:30 +0800 Subject: [PATCH] 获取模版信息与考勤修改 --- models/yield_register.go | 97 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 91 insertions(+), 6 deletions(-) diff --git a/models/yield_register.go b/models/yield_register.go index 421d2a8..b22e269 100644 --- a/models/yield_register.go +++ b/models/yield_register.go @@ -14,7 +14,7 @@ Number string `json:"number" gorm:"type:varchar(255);not null;comment:缂栧彿"` CreateTime string `json:"createTime" gorm:"type:varchar(255);comment:鍒涘缓鏃堕棿"` MarketId uint `json:"marketId" gorm:"type:int(11);comment:搴勫彛id"` - WorkshopId uint `json:"workshopId" gorm:"type:int(11);comment:杞﹂棿id"` + WorkshopNumber string `json:"workshopNumber" gorm:"type:varchar(255);comment:杞﹂棿缂栫爜"` GroupNumber int `json:"groupNumber" gorm:"type:int(11);comment:缁勫埆"` Spec string `json:"spec" gorm:"type:varchar(255);comment:瑙勬牸"` JieZhuang string `json:"jieZhuang" gorm:"type:varchar(255);comment:鏄惁缁撳簞"` @@ -30,14 +30,21 @@ FallingSilkBucketOne decimal.Decimal `json:"fallingSilkBucketOne" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟1"` FallingSilkBucketTwo decimal.Decimal `json:"fallingSilkBucketTwo" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟2"` FallingSilkBucketThree decimal.Decimal `json:"fallingSilkBucketThree" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟3"` + SelectOne bool `json:"selectOne" gorm:"type:int(1);comment:钀戒笣妗舵暟1閫変腑"` + SelectTwo bool `json:"selectTwo" gorm:"type:int(1);comment:钀戒笣妗舵暟2閫変腑"` + SelectThree bool `json:"selectThree" gorm:"type:int(1);comment:钀戒笣妗舵暟3閫変腑"` TheorySilkAmount decimal.Decimal `json:"theorySilkAmount" gorm:"type:decimal(12,2);comment:鐞嗚涓濋噺"` HourYield decimal.Decimal `json:"hourYield" gorm:"type:decimal(12,2);comment:鍙版椂浜ч噺"` OneBack string `json:"oneBack" gorm:"type:varchar(255);comment:绗竴鍥�"` TwoBack string `json:"twoBack" gorm:"type:varchar(255);comment:绗簩鍥�"` ThreeBack string `json:"threeBack" gorm:"type:varchar(255);comment:绗笁鍥�"` Total decimal.Decimal `json:"total" gorm:"type:decimal(12,2);comment:鎬讳骇閲�"` - Items []*YieldRegisterItem `json:"items" gorm:"foreignKey:YieldRegisterId;references:Id"` - Circles []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId;references:Id"` + Items []*YieldRegisterItem `json:"items" gorm:"foreignKey:YieldRegisterId"` + Circles []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId"` + + MarketName string `json:"marketName" gorm:"-"` //搴勫彛鍚� + WorkshopName string `json:"workshopName" gorm:"-"` //杞﹂棿鍚� + } YieldRegisterSearch struct { YieldRegister @@ -49,7 +56,7 @@ ) func (slf YieldRegister) TableName() string { - return "yield_register" + return "silk_yield_register" } func NewYieldRegisterSearch() *YieldRegisterSearch { @@ -71,6 +78,36 @@ return slf } +func (slf *YieldRegisterSearch) SetNumber(number string) *YieldRegisterSearch { + slf.Number = number + return slf +} + +func (slf *YieldRegisterSearch) SetCreateTime(createTime string) *YieldRegisterSearch { + slf.CreateTime = createTime + return slf +} + +func (slf *YieldRegisterSearch) SetMarketId(marketId uint) *YieldRegisterSearch { + slf.MarketId = marketId + return slf +} + +func (slf *YieldRegisterSearch) SetWorkshopNumber(workshopNumber string) *YieldRegisterSearch { + slf.WorkshopNumber = workshopNumber + return slf +} + +func (slf *YieldRegisterSearch) SetGroupNumber(groupNumber int) *YieldRegisterSearch { + slf.GroupNumber = groupNumber + return slf +} + +func (slf *YieldRegisterSearch) SetSpec(spec string) *YieldRegisterSearch { + slf.Spec = spec + return slf +} + func (slf *YieldRegisterSearch) build() *gorm.DB { db := slf.Orm.Table(slf.TableName()) @@ -78,6 +115,29 @@ db = db.Model(YieldRegister{}).Preload("Items").Preload("Circles") } + if slf.Number != "" { + db = db.Where("number = ?", slf.Number) + } + + if slf.CreateTime != "" { + db = db.Where("create_time = ?", slf.CreateTime) + } + + if slf.WorkshopNumber != "" { + db = db.Where("workshop_number = ?", slf.WorkshopNumber) + } + + if slf.MarketId > 0 { + db = db.Where("market_id = ?", slf.MarketId) + } + + if slf.GroupNumber > 0 { + db = db.Where("group_number = ?", slf.GroupNumber) + } + + if slf.Spec != "" { + db = db.Where("spec = ?", slf.Spec) + } return db } @@ -89,6 +149,19 @@ return fmt.Errorf("create err: %v, record: %+v", err, record) } return nil +} + +func (slf *YieldRegisterSearch) First() (*YieldRegister, error) { + var ( + record = new(YieldRegister) + db = slf.build() + ) + + if err := db.First(record).Error; err != nil { + return record, err + } + + return record, nil } func (slf *YieldRegisterSearch) Find() ([]*YieldRegister, int64, error) { @@ -104,7 +177,7 @@ if slf.PageNum*slf.PageSize > 0 { db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) } - if err := db.Find(&records).Error; err != nil { + if err := db.Order("updated_at desc").Find(&records).Error; err != nil { return records, total, fmt.Errorf("find records err: %v", err) } @@ -127,7 +200,7 @@ func (slf *YieldRegisterSearch) Save(record *YieldRegister) error { var db = slf.build() - if err := db.Save(record).Error; err != nil { + if err := db.Omit("CreatedAt").Save(record).Error; err != nil { return fmt.Errorf("save err: %v, record: %+v", err, record) } @@ -143,3 +216,15 @@ return nil } + +func (slf *YieldRegisterSearch) Count() (int64, error) { + var ( + total int64 + db = slf.build() + ) + + if err := db.Count(&total).Error; err != nil { + return total, fmt.Errorf("find count err: %v", err) + } + return total, nil +} -- Gitblit v1.8.0