From f4a3813202da0450f3444bef6cbb141141302680 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 19 四月 2024 16:35:28 +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