From 9e864a183115ba2420797a8bda661187b1069e00 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 23 四月 2024 11:46:41 +0800
Subject: [PATCH] 考勤统计与车间修改

---
 models/fineness.go |   63 +++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 12 deletions(-)

diff --git a/models/fineness.go b/models/fineness.go
index a323ce0..4ea1e11 100644
--- a/models/fineness.go
+++ b/models/fineness.go
@@ -11,17 +11,19 @@
 	// 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 int             `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"`          //瑙勬牸
-		Circle        uint8           `gorm:"not null;comment:鍥炴暟" json:"circle"`                          //鍥炴暟
-		TotalCircle   uint8           `gorm:"not null;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"`
+		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"`       //钀戒笣鏃堕棿
+		Workshop        string          `gorm:"type:varchar(255);not null;comment:杞﹂棿" json:"name"`               //杞﹂棿
+		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
@@ -30,11 +32,12 @@
 		PageSize int
 		Orm      *gorm.DB
 		Preload  bool
+		Keyword  string
 	}
 )
 
 func (slf *FinenessRegister) TableName() string {
-	return "fineness_register"
+	return "silk_fineness_register"
 }
 
 func NewFinenessRegisterSearch() *FinenessRegisterSearch {
@@ -71,6 +74,26 @@
 	return slf
 }
 
+func (slf *FinenessRegisterSearch) SetKeyword(keyword string) *FinenessRegisterSearch {
+	slf.Keyword = keyword
+	return slf
+}
+
+func (slf *FinenessRegisterSearch) SetWorkshop(workshop string) *FinenessRegisterSearch {
+	slf.Workshop = 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
+}
+
 func (slf *FinenessRegisterSearch) build() *gorm.DB {
 	var db = slf.Orm.Table(slf.TableName())
 
@@ -90,6 +113,22 @@
 		db = db.Model(&FinenessRegister{}).Preload("FinenessList")
 	}
 
+	if slf.Keyword != "" {
+		db = db.Where("number like ?", fmt.Sprintf("%%%s%%", slf.Keyword))
+	}
+
+	if slf.Workshop != "" {
+		db = db.Where("workshop = ?", slf.Workshop)
+	}
+
+	if slf.Market != "" {
+		db = db.Where("market = ?", slf.Market)
+	}
+
+	if slf.WorkshopGroup > 0 {
+		db = db.Where("workshop_group = ?", slf.WorkshopGroup)
+	}
+
 	return db
 }
 

--
Gitblit v1.8.0