From 7dd6097d42d6d6f254a84ab0111bac70f0358660 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 30 四月 2024 10:20:40 +0800
Subject: [PATCH] 加一些注释
---
models/attendance_manage.go | 84 +++++++++++++++++++++++++++++++++++++-----
1 files changed, 74 insertions(+), 10 deletions(-)
diff --git a/models/attendance_manage.go b/models/attendance_manage.go
index dac4b23..412bf42 100644
--- a/models/attendance_manage.go
+++ b/models/attendance_manage.go
@@ -2,7 +2,9 @@
import (
"fmt"
+ "github.com/shopspring/decimal"
"gorm.io/gorm"
+ "silkserver/constvar"
"silkserver/pkg/mysqlx"
)
@@ -10,22 +12,31 @@
//AttendanceManage 鑰冨嫟绠$悊琛�
AttendanceManage struct {
gorm.Model
- Date string `json:"date" gorm:"type:varchar(255);comment:鑰冨嫟鏃堕棿"`
- WorkerId string `json:"workerId" gorm:"type:varchar(255);comment:浜哄憳id"`
- WorkerName string `json:"workerName" gorm:"type:varchar(255);comment:浜哄憳濮撳悕"`
- StartWorkTime string `json:"startWorkTime" gorm:"type:varchar(255);comment:涓婄彮鎵撳崱鏃堕棿"`
- EndWorkTime string `json:"endWorkTime" gorm:"type:varchar(255);comment:涓嬬彮鎵撳崱鏃堕棿"`
- Classes string `json:"classes" gorm:"type:varchar(255);comment:鐝"`
- ClassesStartTime string `json:"classesStartTime" gorm:"type:varchar(255);comment:鐝寮�濮嬫椂闂�"`
- ClassesEndTime string `json:"classesEndTime" gorm:"type:varchar(255);comment:鐝涓嬬彮鏃堕棿"`
- CreateTime string `json:"createTime" gorm:"type:varchar(255);comment:娣诲姞鏃堕棿"`
- AddPeople string `json:"addPeople" gorm:"type:varchar(255);comment:娣诲姞浜�"`
+ Date string `json:"date" gorm:"type:varchar(255);comment:鑰冨嫟鏃堕棿"`
+ WorkerId string `json:"workerId" gorm:"type:varchar(255);comment:浜哄憳id"`
+ WorkerName string `json:"workerName" gorm:"type:varchar(255);comment:浜哄憳濮撳悕"`
+ StartWorkTime string `json:"startWorkTime" gorm:"type:varchar(255);comment:涓婄彮鎵撳崱鏃堕棿"`
+ EndWorkTime string `json:"endWorkTime" gorm:"type:varchar(255);comment:涓嬬彮鎵撳崱鏃堕棿"`
+ Classes string `json:"classes" gorm:"type:varchar(255);comment:鐝"`
+ ClassesStartTime string `json:"classesStartTime" gorm:"type:varchar(255);comment:鐝寮�濮嬫椂闂�"`
+ ClassesEndTime string `json:"classesEndTime" gorm:"type:varchar(255);comment:鐝涓嬬彮鏃堕棿"`
+ CreateTime string `json:"createTime" gorm:"type:varchar(255);comment:娣诲姞鏃堕棿"`
+ AddPeople string `json:"addPeople" gorm:"type:varchar(255);comment:娣诲姞浜�"`
+ WorkTypeId uint `json:"workTypeId" gorm:"type:int(11);comment:宸ョid"`
+ WorkType WorkTypeManage `json:"workType" gorm:"foreignKey:WorkTypeId"`
+ Status constvar.AttendanceStatus `json:"status" gorm:"type:int(11);comment:鐘舵��"`
+ OverTimeDuration decimal.Decimal `json:"overTimeDuration" gorm:"type:decimal(20,2);comment:鍔犵彮鏃堕暱"`
+ PhoneNum string `gorm:"type:varchar(191);comment:鎵嬫満鍙�" json:"phoneNum"`
}
AttendanceManageSearch struct {
AttendanceManage
PageNum int
PageSize int
+ Preload bool
Ids []uint
+ Month string
+ Keyword string
+ Order string
Orm *gorm.DB
}
)
@@ -53,6 +64,36 @@
return slf
}
+func (slf *AttendanceManageSearch) SetPreload(preload bool) *AttendanceManageSearch {
+ slf.Preload = preload
+ return slf
+}
+
+func (slf *AttendanceManageSearch) SetMonth(month string) *AttendanceManageSearch {
+ slf.Month = month
+ return slf
+}
+
+func (slf *AttendanceManageSearch) SetDate(date string) *AttendanceManageSearch {
+ slf.Date = date
+ return slf
+}
+
+func (slf *AttendanceManageSearch) SetWorkerId(workerId string) *AttendanceManageSearch {
+ slf.WorkerId = workerId
+ return slf
+}
+
+func (slf *AttendanceManageSearch) SetKeyword(keyword string) *AttendanceManageSearch {
+ slf.Keyword = keyword
+ return slf
+}
+
+func (slf *AttendanceManageSearch) SetOrder(order string) *AttendanceManageSearch {
+ slf.Order = order
+ return slf
+}
+
func (slf *AttendanceManageSearch) build() *gorm.DB {
var db = slf.Orm.Table(slf.TableName())
@@ -60,6 +101,29 @@
db = db.Where("id in (?)", slf.Ids)
}
+ if slf.Preload {
+ db = db.Model(&AttendanceManage{}).Preload("WorkType")
+ }
+
+ if slf.Month != "" {
+ db = db.Where("date like ?", slf.Month+"%")
+ }
+
+ if slf.Date != "" {
+ db = db.Where("date = ?", slf.Date)
+ }
+
+ if slf.WorkerId != "" {
+ db = db.Where("worker_id = ?", slf.WorkerId)
+ }
+
+ if slf.Keyword != "" {
+ db = db.Where("worker_name like ? or worker_id like ?", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%")
+ }
+ if slf.Order != "" {
+ db = db.Order(slf.Order)
+ }
+
return db
}
--
Gitblit v1.8.0