From 3ae25318873c7175aedc529f05bacde8005d8b50 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 23 四月 2024 17:52:30 +0800
Subject: [PATCH] 获取模版信息与考勤修改

---
 models/dict.go |   35 ++++++++++++++++++++++++++---------
 1 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/models/dict.go b/models/dict.go
index f9a9ff8..e585f01 100644
--- a/models/dict.go
+++ b/models/dict.go
@@ -19,15 +19,17 @@
 
 	DictSearch struct {
 		Dict
-		Order    string
-		PageNum  int
-		PageSize int
-		Orm      *gorm.DB
+		Order     string
+		PageNum   int
+		PageSize  int
+		Orm       *gorm.DB
+		Keyword   string
+		DictTypes []constvar.DictType
 	}
 )
 
 func (slf *Dict) TableName() string {
-	return "dict"
+	return "silk_dict"
 }
 
 func NewDictSearch() *DictSearch {
@@ -64,8 +66,18 @@
 	return slf
 }
 
+func (slf *DictSearch) SetKeyword(keyword string) *DictSearch {
+	slf.Keyword = keyword
+	return slf
+}
+
 func (slf *DictSearch) SetDictType(dt *constvar.DictType) *DictSearch {
 	slf.DictType = dt
+	return slf
+}
+
+func (slf *DictSearch) SetDictTypes(dts []constvar.DictType) *DictSearch {
+	slf.DictTypes = dts
 	return slf
 }
 
@@ -90,6 +102,15 @@
 
 	if slf.Name != "" {
 		db = db.Where("name = ?", slf.Name)
+	}
+
+	if slf.Keyword != "" {
+		kw := "%" + slf.Keyword + "%"
+		db = db.Where("name like ? or number like ?", kw, kw)
+	}
+
+	if len(slf.DictTypes) > 0 {
+		db = db.Where("dict_type in (?)", slf.DictTypes)
 	}
 
 	return db
@@ -209,10 +230,6 @@
 		records = make([]*Dict, 0)
 		db      = slf.build()
 	)
-
-	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 {
 		return records, fmt.Errorf("find records err: %v", err)
 	}

--
Gitblit v1.8.0