From 9c14e884db911a2094d26c2a509f752a729f8e8d Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 16 四月 2024 10:56:36 +0800
Subject: [PATCH] 人员管理
---
models/fineness_check_item.go | 2
controllers/work_type_manage_controller.go | 49 +++
controllers/request/worker_request.go | 6
models/fineness.go | 2
models/workshop_manage.go | 2
models/dict.go | 2
middleware/jwt_request.go | 1
models/yield_register_circle.go | 2
conf/config.yaml | 2
controllers/workshop_manage_controller.go | 5
models/raw_silk_price_standard.go | 2
router/router.go | 12
constvar/const.go | 10
models/yield_register.go | 14 +
models/raw_silk_rank_standard.go | 2
models/work_type_manage.go | 143 +++++++++++
controllers/request/system_set.go | 2
models/fineness_check.go | 2
models/db.go | 2
controllers/yield_register_controller.go | 5
models/worker.go | 328 +++++++++++++++++++++++++
models/yield_register_item.go | 2
controllers/worker_controller.go | 133 ++++++++++
models/fineness_item.go | 2
24 files changed, 719 insertions(+), 13 deletions(-)
diff --git a/conf/config.yaml b/conf/config.yaml
index ede21b4..50fb03c 100644
--- a/conf/config.yaml
+++ b/conf/config.yaml
@@ -2,7 +2,7 @@
port: 8008
host: 192.168.20.119
db:
- dsn: root:c++java123@tcp(192.168.20.119:3306)/silk?charset=utf8&parseTime=True&loc=Local
+ dsn: root:c++java123@tcp(192.168.20.119:3306)/aps_server2?charset=utf8&parseTime=True&loc=Local
logMode: true
maxIdleCon: 20
maxOpenCon: 100
diff --git a/constvar/const.go b/constvar/const.go
index df7a3f8..9ac7e61 100644
--- a/constvar/const.go
+++ b/constvar/const.go
@@ -46,3 +46,13 @@
const (
EveryPersonCarCheckNumber = 2 //姣忎汉姣忚溅鎶芥浠芥暟
)
+
+// WorkerStatus 浜哄憳鐘舵��
+type WorkerStatus int
+
+const (
+ WorkerStatusWorking WorkerStatus = iota + 1 // 鍦ㄧ彮
+ WorkerStatusRest // 浼戞伅
+ WorkerStatusHoliday // 璇峰亣
+ WorkerStatusOvertime // 鍔犵彮
+)
diff --git a/controllers/request/system_set.go b/controllers/request/system_set.go
index 533098b..2fc8b98 100644
--- a/controllers/request/system_set.go
+++ b/controllers/request/system_set.go
@@ -59,5 +59,5 @@
type GetWorkshopManageCar struct {
WorkshopName string `json:"workshopName"` //杞﹂棿鍚嶇О
GroupNumber int `json:"groupNumber"` //缁勫埆
- MarketName string `json:"marketName"` ///搴勫彛鍚�
+ MarketName string `json:"marketName"` //搴勫彛鍚�
}
diff --git a/controllers/request/worker_request.go b/controllers/request/worker_request.go
new file mode 100644
index 0000000..61ca9d2
--- /dev/null
+++ b/controllers/request/worker_request.go
@@ -0,0 +1,6 @@
+package request
+
+type GetWorkerList struct {
+ PageInfo
+ KeyWord string `json:"keyWord"`
+}
diff --git a/controllers/work_type_manage_controller.go b/controllers/work_type_manage_controller.go
new file mode 100644
index 0000000..dd6446e
--- /dev/null
+++ b/controllers/work_type_manage_controller.go
@@ -0,0 +1,49 @@
+package controllers
+
+import (
+ "github.com/gin-gonic/gin"
+ "silkserver/extend/code"
+ "silkserver/extend/util"
+ "silkserver/middleware"
+ "silkserver/models"
+)
+
+type WorkTypeManageController struct {
+}
+
+// SaveWorkTypeInfo
+//
+// @Tags 鍛樺伐绠$悊/鍛樺伐淇℃伅
+// @Summary 淇濆瓨宸ョ淇℃伅
+// @Produce application/json
+// @Param object body models.WorkTypeManage true "鍙傛暟"
+// @Param Authorization header string true "token"
+// @Success 200 {object} util.Response "鎴愬姛"
+// @Router /api-jl/v1/worker/saveWorkTypeInfo [post]
+func (slf WorkTypeManageController) SaveWorkTypeInfo(c *gin.Context) {
+ var params models.WorkTypeManage
+ err := c.BindJSON(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ return
+ }
+ if params.ID > 0 {
+ //鏇存柊
+ err = models.NewWorkTypeManageSearch().Save(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
+ return
+ }
+ } else {
+ //鏂板缓
+ info := middleware.GetUserInfo(c)
+ params.AddPeople = info.NickName
+ err = models.NewWorkTypeManageSearch().Create(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
+ return
+ }
+ }
+
+ util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛")
+}
diff --git a/controllers/worker_controller.go b/controllers/worker_controller.go
new file mode 100644
index 0000000..ba2f5c8
--- /dev/null
+++ b/controllers/worker_controller.go
@@ -0,0 +1,133 @@
+package controllers
+
+import (
+ "github.com/gin-gonic/gin"
+ "gorm.io/gorm"
+ "silkserver/controllers/request"
+ "silkserver/extend/code"
+ "silkserver/extend/util"
+ "silkserver/middleware"
+ "silkserver/models"
+)
+
+type WorkerController struct {
+}
+
+// CreateWorkerInfo
+//
+// @Tags 鍛樺伐绠$悊/鍛樺伐淇℃伅
+// @Summary 鍒涘缓浜哄憳淇℃伅
+// @Produce application/json
+// @Param object body models.Worker true "鍙傛暟"
+// @Param Authorization header string true "token"
+// @Success 200 {object} util.Response "鎴愬姛"
+// @Router /api-jl/v1/worker/createWorkerInfo [post]
+func (slf WorkerController) CreateWorkerInfo(c *gin.Context) {
+ var params models.Worker
+ err := c.BindJSON(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ return
+ }
+ if params.ID == "" {
+ util.ResponseFormat(c, code.RequestParamError, "ID涓虹┖")
+ return
+ }
+ if params.Name == "" {
+ util.ResponseFormat(c, code.RequestParamError, "鍚嶇О涓虹┖")
+ return
+ }
+ _, err = models.NewWorkerSearch().SetID(params.ID).First()
+ if err != gorm.ErrRecordNotFound {
+ util.ResponseFormat(c, code.RequestParamError, "缂栫爜宸插瓨鍦�")
+ return
+ }
+ info := middleware.GetUserInfo(c)
+ params.AddPeople = info.NickName
+
+ err = models.NewWorkerSearch().Create(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍒涘缓澶辫触")
+ return
+ }
+ util.ResponseFormat(c, code.Success, "鍒涘缓鎴愬姛")
+}
+
+// UpdateWorkerInfo
+//
+// @Tags 鍛樺伐绠$悊/鍛樺伐淇℃伅
+// @Summary 鏇存柊浜哄憳淇℃伅
+// @Produce application/json
+// @Param object body models.Worker true "鍙傛暟"
+// @Param Authorization header string true "token"
+// @Success 200 {object} util.Response "鎴愬姛"
+// @Router /api-jl/v1/worker/updateWorkerInfo [post]
+func (slf WorkerController) UpdateWorkerInfo(c *gin.Context) {
+ var params models.Worker
+ err := c.BindJSON(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ return
+ }
+ if params.ID == "" {
+ util.ResponseFormat(c, code.RequestParamError, "ID涓虹┖")
+ return
+ }
+ if params.Name == "" {
+ util.ResponseFormat(c, code.RequestParamError, "鍚嶇О涓虹┖")
+ return
+ }
+ err = models.NewWorkerSearch().Create(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏇存柊澶辫触")
+ return
+ }
+ util.ResponseFormat(c, code.Success, "鏇存柊鎴愬姛")
+}
+
+// GetWorkerList
+//
+// @Tags 鍛樺伐绠$悊/鍛樺伐淇℃伅
+// @Summary 鑾峰彇浜哄憳淇℃伅鍒楄〃
+// @Produce application/json
+// @Param object body request.GetWorkerList true "鍙傛暟"
+// @Param Authorization header string true "token"
+// @Success 200 {object} util.ResponseList{data=[]models.Worker} "鎴愬姛"
+// @Router /api-jl/v1/worker/getWorkerList [post]
+func (slf WorkerController) GetWorkerList(c *gin.Context) {
+ var params request.GetWorkerList
+ err := c.BindJSON(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ return
+ }
+ workers, total, err := models.NewWorkerSearch().SetPage(params.Page, params.PageSize).Find()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触")
+ return
+ }
+ util.ResponseFormatList(c, code.Success, workers, total)
+}
+
+// DeleteWorkerInfo
+//
+// @Tags 鍛樺伐绠$悊/鍛樺伐淇℃伅
+// @Summary 鍒犻櫎浜哄憳淇℃伅
+// @Produce application/json
+// @Param object body request.GetWorkerList true "鍙傛暟"
+// @Param Authorization header string true "token"
+// @Success 200 {object} util.ResponseList{data=[]models.Worker} "鎴愬姛"
+// @Router /api-jl/v1/worker/deleteWorkerInfo/{id} [delete]
+func (slf WorkerController) DeleteWorkerInfo(c *gin.Context) {
+ id := c.Param("id")
+ if id == "" {
+ util.ResponseFormat(c, code.RequestParamError, "鏃犳晥鐨刬d")
+ return
+ }
+ err := models.NewWorkerSearch().SetID(id).Delete()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
+ return
+ }
+ util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
+}
diff --git a/controllers/workshop_manage_controller.go b/controllers/workshop_manage_controller.go
index 434d435..6c34217 100644
--- a/controllers/workshop_manage_controller.go
+++ b/controllers/workshop_manage_controller.go
@@ -2,6 +2,7 @@
import (
"github.com/gin-gonic/gin"
+ "gorm.io/gorm"
"silkserver/controllers/request"
"silkserver/controllers/response"
"silkserver/extend/code"
@@ -174,6 +175,10 @@
fineness, err := models.NewFinenessRegisterSearch().SetWorkshop(params.WorkshopName).SetWorkshopGroup(params.GroupNumber).
SetMarket(params.MarketName).First()
if err != nil {
+ if err == gorm.ErrRecordNotFound {
+ util.ResponseFormat(c, code.RequestParamError, "褰撳墠搴勫彛,杞﹂棿,缁勫埆涓�,娌℃湁绾ゅ害鐧昏淇℃伅")
+ return
+ }
util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
return
}
diff --git a/controllers/yield_register_controller.go b/controllers/yield_register_controller.go
index f7c64cb..8eca9d8 100644
--- a/controllers/yield_register_controller.go
+++ b/controllers/yield_register_controller.go
@@ -70,6 +70,11 @@
}
} else {
//淇濆瓨
+ count, _ := models.NewYieldRegisterSearch().SetNumber(yield.Number).Count()
+ if count > 0 {
+ util.ResponseFormat(c, code.RequestParamError, "缂栫爜宸插瓨鍦�")
+ return
+ }
err = models.NewYieldRegisterSearch().Create(&yield)
if err != nil {
util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
diff --git a/middleware/jwt_request.go b/middleware/jwt_request.go
index 070280d..c36ec54 100644
--- a/middleware/jwt_request.go
+++ b/middleware/jwt_request.go
@@ -15,6 +15,7 @@
type BaseClaims struct {
UserId string
Username string
+ NickName string
ParentId string
UserType constvar.UserType
ModifiedPwd *bool
diff --git a/models/db.go b/models/db.go
index 0198c31..3928e7d 100644
--- a/models/db.go
+++ b/models/db.go
@@ -84,6 +84,8 @@
YieldRegister{},
YieldRegisterItem{},
YieldRegisterCircle{},
+ Worker{},
+ WorkTypeManage{},
)
return err
}
diff --git a/models/dict.go b/models/dict.go
index fd32dd3..e585f01 100644
--- a/models/dict.go
+++ b/models/dict.go
@@ -29,7 +29,7 @@
)
func (slf *Dict) TableName() string {
- return "dict"
+ return "silk_dict"
}
func NewDictSearch() *DictSearch {
diff --git a/models/fineness.go b/models/fineness.go
index 5fd3ada..4ea1e11 100644
--- a/models/fineness.go
+++ b/models/fineness.go
@@ -37,7 +37,7 @@
)
func (slf *FinenessRegister) TableName() string {
- return "fineness_register"
+ return "silk_fineness_register"
}
func NewFinenessRegisterSearch() *FinenessRegisterSearch {
diff --git a/models/fineness_check.go b/models/fineness_check.go
index 0544afe..278189c 100644
--- a/models/fineness_check.go
+++ b/models/fineness_check.go
@@ -36,7 +36,7 @@
)
func (slf *FinenessCheck) TableName() string {
- return "fineness_check"
+ return "silk_fineness_check"
}
func NewFinenessCheckSearch() *FinenessCheckSearch {
diff --git a/models/fineness_check_item.go b/models/fineness_check_item.go
index 6c8eeb3..016398b 100644
--- a/models/fineness_check_item.go
+++ b/models/fineness_check_item.go
@@ -41,7 +41,7 @@
)
func (slf *FinenessCheckItem) TableName() string {
- return "fineness_check_item"
+ return "silk_fineness_check_item"
}
func (slf *FinenessCheckItem) AfterFind(tx *gorm.DB) error {
diff --git a/models/fineness_item.go b/models/fineness_item.go
index fb73857..5604ed1 100644
--- a/models/fineness_item.go
+++ b/models/fineness_item.go
@@ -28,7 +28,7 @@
)
func (slf *FinenessItem) TableName() string {
- return "fineness_register_item"
+ return "silk_fineness_register_item"
}
func NewFinenessItemSearch() *FinenessItemSearch {
diff --git a/models/raw_silk_price_standard.go b/models/raw_silk_price_standard.go
index 2395f37..05348ab 100644
--- a/models/raw_silk_price_standard.go
+++ b/models/raw_silk_price_standard.go
@@ -28,7 +28,7 @@
)
func (slf RawSilkPriceStandard) TableName() string {
- return "raw_silk_price_standard"
+ return "silk_raw_silk_price_standard"
}
func NewRawSilkPriceStandardSearch() *RawSilkPriceStandardSearch {
diff --git a/models/raw_silk_rank_standard.go b/models/raw_silk_rank_standard.go
index 4ecf2e3..5cb41e9 100644
--- a/models/raw_silk_rank_standard.go
+++ b/models/raw_silk_rank_standard.go
@@ -32,7 +32,7 @@
)
func (slf RawSilkRankStandard) TableName() string {
- return "raw_silk_rank_standard"
+ return "silk_raw_silk_rank_standard"
}
func NewRawSilkRankStandardSearch() *RawSilkRankStandardSearch {
diff --git a/models/work_type_manage.go b/models/work_type_manage.go
new file mode 100644
index 0000000..f3f5973
--- /dev/null
+++ b/models/work_type_manage.go
@@ -0,0 +1,143 @@
+package models
+
+import (
+ "fmt"
+ "github.com/shopspring/decimal"
+ "gorm.io/gorm"
+ "silkserver/pkg/mysqlx"
+)
+
+type (
+ WorkTypeManage struct {
+ gorm.Model
+ WorkName string `json:"workName" gorm:"type:varchar(255);comment:宸ョ鍚嶇О"`
+ IsGuaranteed bool `json:"isGuaranteed" gorm:"type:int(1);comment:涓嶈揪鏍囦繚搴�"`
+ GuaranteedWages decimal.Decimal `json:"guaranteedWages" gorm:"type:decimal(20,3);comment:淇濆簳宸ヨ祫"`
+ PayProgrammeId uint `json:"payProgrammeId" gorm:"type:int(11);comment:钖祫鏂规id"`
+ AddPeople string `gorm:"type:varchar(255);comment:娣诲姞浜�" json:"addPeople"`
+ }
+ WorkTypeManageSearch struct {
+ WorkTypeManage
+ PageNum int
+ PageSize int
+ Preload bool
+ Orm *gorm.DB
+ }
+)
+
+func (slf WorkTypeManage) TableName() string {
+ return "silk_work_type_manage"
+}
+
+func NewWorkTypeManageSearch() *WorkTypeManageSearch {
+ return &WorkTypeManageSearch{Orm: mysqlx.GetDB()}
+}
+
+func (slf *WorkTypeManageSearch) SetOrm(tx *gorm.DB) *WorkTypeManageSearch {
+ slf.Orm = tx
+ return slf
+}
+
+func (slf *WorkTypeManageSearch) SetPage(page, size int) *WorkTypeManageSearch {
+ slf.PageNum, slf.PageSize = page, size
+ return slf
+}
+
+func (slf *WorkTypeManageSearch) SetPreload(preload bool) *WorkTypeManageSearch {
+ slf.Preload = preload
+ return slf
+}
+
+func (slf *WorkTypeManageSearch) build() *gorm.DB {
+ var db = slf.Orm.Table(slf.TableName())
+
+ return db
+}
+
+// Create 鍗曟潯鎻掑叆
+func (slf *WorkTypeManageSearch) Create(record *WorkTypeManage) error {
+ var db = slf.build()
+
+ if err := db.Create(record).Error; err != nil {
+ return fmt.Errorf("create err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+func (slf *WorkTypeManageSearch) Save(record *WorkTypeManage) error {
+ var db = slf.build()
+
+ if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
+ return fmt.Errorf("save err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+func (slf *WorkTypeManageSearch) UpdateByMap(upMap map[string]interface{}) error {
+ var (
+ db = slf.build()
+ )
+
+ if err := db.Updates(upMap).Error; err != nil {
+ return fmt.Errorf("update by map err: %v, upMap: %+v", err, upMap)
+ }
+
+ return nil
+}
+
+func (slf *WorkTypeManageSearch) Delete() error {
+ var db = slf.build()
+
+ if err := db.Unscoped().Delete(&WorkTypeManage{}).Error; err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (slf *WorkTypeManageSearch) Find() ([]*WorkTypeManage, int64, error) {
+ var (
+ records = make([]*WorkTypeManage, 0)
+ total int64
+ db = slf.build()
+ )
+
+ if err := db.Count(&total).Error; err != nil {
+ return records, total, fmt.Errorf("find count err: %v", err)
+ }
+ 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, total, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, total, nil
+}
+
+func (slf *WorkTypeManageSearch) FindNotTotal() ([]*WorkTypeManage, error) {
+ var (
+ records = make([]*WorkTypeManage, 0)
+ db = slf.build()
+ )
+
+ if err := db.Find(&records).Error; err != nil {
+ return records, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, nil
+}
+
+func (slf *WorkTypeManageSearch) 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
+}
diff --git a/models/worker.go b/models/worker.go
new file mode 100644
index 0000000..07640e0
--- /dev/null
+++ b/models/worker.go
@@ -0,0 +1,328 @@
+package models
+
+import (
+ "fmt"
+ "gorm.io/gorm"
+ "silkserver/constvar"
+ "silkserver/pkg/mysqlx"
+)
+
+type (
+ // Worker 浜哄姏璧勬簮
+ Worker struct {
+ BaseModelString
+ Name string `gorm:"index;type:varchar(191);not null;comment:浜哄憳濮撳悕" json:"name"`
+ PhoneNum string `gorm:"type:varchar(191);comment:鎵嬫満鍙�" json:"phoneNum"`
+ ShopID string `gorm:"type:varchar(191);comment:鎵�灞炶溅闂碔D" json:"shopId"`
+ ShopName string `gorm:"type:varchar(191);comment:杞﹂棿鍚嶇О锛屼粎鏌ヨ鐢�" json:"shopName"`
+ Status constvar.WorkerStatus `gorm:"index;type:int(11);comment:浜哄憳鐘舵��" json:"status"`
+ WorkTypeId uint `gorm:"type:int(11);comment:宸ョid" json:"workTypeId"`
+ WorkType string `gorm:"type:varchar(255);comment:宸ョ" json:"workType"`
+ GroupNumber int `gorm:"type:int(11);comment:缁勫埆" json:"groupNumber"`
+ EmploymentTime string `gorm:"type:varchar(255);comment:鍏ヨ亴鏃堕棿" json:"employmentTime"`
+ AddPeople string `gorm:"type:varchar(255);comment:娣诲姞浜�" json:"addPeople"`
+ }
+
+ WorkerSearch struct {
+ Worker
+ Keyword string
+ Preload bool
+ Order string
+ PageNum int
+ PageSize int
+ Orm *gorm.DB
+ Fields string
+ }
+)
+
+func (slf Worker) TableName() string {
+ return "worker"
+}
+
+func NewWorkerSearch() *WorkerSearch {
+ return &WorkerSearch{Orm: mysqlx.GetDB()}
+}
+
+func (slf *WorkerSearch) SetOrm(tx *gorm.DB) *WorkerSearch {
+ slf.Orm = tx
+ return slf
+}
+
+func (slf *WorkerSearch) SetPage(page, size int) *WorkerSearch {
+ slf.PageNum, slf.PageSize = page, size
+ return slf
+}
+
+func (slf *WorkerSearch) SetOrder(order string) *WorkerSearch {
+ slf.Order = order
+ return slf
+}
+
+func (slf *WorkerSearch) SetID(id string) *WorkerSearch {
+ slf.ID = id
+ return slf
+}
+
+func (slf *WorkerSearch) SetName(name string) *WorkerSearch {
+ slf.Name = name
+ return slf
+}
+
+func (slf *WorkerSearch) SetKeyword(keyword string) *WorkerSearch {
+ slf.Keyword = keyword
+ return slf
+}
+
+func (slf *WorkerSearch) SetShopID(shopID string) *WorkerSearch {
+ slf.ShopID = shopID
+ return slf
+}
+
+func (slf *WorkerSearch) SetPreload(preload bool) *WorkerSearch {
+ slf.Preload = preload
+ return slf
+}
+
+func (slf *WorkerSearch) SetStatus(status constvar.WorkerStatus) *WorkerSearch {
+ slf.Status = status
+ return slf
+}
+
+func (slf *WorkerSearch) SetFields(fields string) *WorkerSearch {
+ slf.Fields = fields
+ return slf
+}
+
+func (slf *WorkerSearch) build() *gorm.DB {
+ var db = slf.Orm.Table(slf.TableName())
+
+ if slf.ID != "" {
+ db = db.Where("id = ?", slf.ID)
+ }
+
+ if slf.Name != "" {
+ db = db.Where("name = ?", slf.Name)
+ }
+
+ if slf.ShopID != "" {
+ db = db.Where("shop_id = ?", slf.ShopID)
+ }
+
+ if slf.Keyword != "" {
+ db.Joins("WorkerSkill")
+ db = db.Where("worker.name LIKE ? or worker.phone_num LIKE ? or WorkerSkill.name like ?", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%")
+ }
+
+ if slf.Status > 0 {
+ db = db.Where("status = ?", slf.Status)
+ }
+
+ if slf.Order != "" {
+ db = db.Order(slf.Order)
+ }
+
+ if slf.Preload {
+ db = db.Model(&Worker{}).Preload("WorkerSkill")
+ }
+
+ if slf.Fields != "" {
+ db = db.Select(slf.Fields)
+ }
+
+ return db
+}
+
+// Create 鍗曟潯鎻掑叆
+func (slf *WorkerSearch) Create(record *Worker) error {
+ var db = slf.build()
+
+ if err := db.Create(record).Error; err != nil {
+ return fmt.Errorf("create err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+// CreateBatch 鎵归噺鎻掑叆
+func (slf *WorkerSearch) CreateBatch(records []*Worker) error {
+ var db = slf.build()
+
+ if err := db.Create(&records).Error; err != nil {
+ return fmt.Errorf("create batch err: %v, records: %+v", err, records)
+ }
+
+ return nil
+}
+
+func (slf *WorkerSearch) Save(record *Worker) error {
+ var db = slf.build()
+
+ if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
+ return fmt.Errorf("save err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+func (slf *WorkerSearch) UpdateByMap(upMap map[string]interface{}) error {
+ var (
+ db = slf.build()
+ )
+
+ if err := db.Updates(upMap).Error; err != nil {
+ return fmt.Errorf("update by map err: %v, upMap: %+v", err, upMap)
+ }
+
+ return nil
+}
+
+func (slf *WorkerSearch) UpdateByQuery(query string, args []interface{}, upMap map[string]interface{}) error {
+ var (
+ db = slf.Orm.Table(slf.TableName()).Where(query, args...)
+ )
+
+ if err := db.Updates(upMap).Error; err != nil {
+ return fmt.Errorf("update by query err: %v, query: %s, args: %+v, upMap: %+v", err, query, args, upMap)
+ }
+
+ return nil
+}
+
+func (slf *WorkerSearch) Delete() error {
+ var db = slf.build()
+
+ if err := db.Unscoped().Delete(&Worker{}).Error; err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (slf *WorkerSearch) First() (*Worker, error) {
+ var (
+ record = new(Worker)
+ db = slf.build()
+ )
+
+ if err := db.First(record).Error; err != nil {
+ return record, err
+ }
+
+ return record, nil
+}
+
+func (slf *WorkerSearch) Find() ([]*Worker, int64, error) {
+ var (
+ records = make([]*Worker, 0)
+ total int64
+ db = slf.build()
+ )
+
+ if err := db.Count(&total).Error; err != nil {
+ return records, total, fmt.Errorf("find count err: %v", err)
+ }
+ if slf.PageNum*slf.PageSize > 0 {
+ db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+ }
+ if slf.Keyword != "" {
+ db = db.Distinct("worker.*")
+ }
+ if err := db.Find(&records).Error; err != nil {
+ return records, total, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, total, nil
+}
+
+func (slf *WorkerSearch) FindNotTotal() ([]*Worker, error) {
+ var (
+ records = make([]*Worker, 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)
+ }
+
+ return records, nil
+}
+
+// FindByQuery 鎸囧畾鏉′欢鏌ヨ.
+func (slf *WorkerSearch) FindByQuery(query string, args []interface{}) ([]*Worker, int64, error) {
+ var (
+ records = make([]*Worker, 0)
+ total int64
+ db = slf.Orm.Table(slf.TableName()).Where(query, args...)
+ )
+
+ if err := db.Count(&total).Error; err != nil {
+ return records, total, fmt.Errorf("find by query count err: %v", err)
+ }
+ 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, total, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args)
+ }
+
+ return records, total, nil
+}
+
+// FindByQueryNotTotal 鎸囧畾鏉′欢鏌ヨ&涓嶆煡璇㈡�绘潯鏁�.
+func (slf *WorkerSearch) FindByQueryNotTotal(query string, args []interface{}) ([]*Worker, error) {
+ var (
+ records = make([]*Worker, 0)
+ db = slf.Orm.Table(slf.TableName()).Where(query, args...)
+ )
+
+ 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 by query records err: %v, query: %s, args: %+v", err, query, args)
+ }
+
+ return records, nil
+}
+
+func (slf *WorkerSearch) 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
+}
+
+func (slf *WorkerSearch) MaxAutoIncr() (int64, error) {
+ type Result struct {
+ Max int64
+ }
+
+ var (
+ result Result
+ db = slf.build()
+ )
+
+ err := db.Select("MAX(auto_incr) as max").Scan(&result).Error
+ if err != nil {
+ return result.Max, fmt.Errorf("max err: %v", err)
+ }
+ return result.Max, nil
+}
+
+func (slf *WorkerSearch) FirstOrCreate(record *Worker) error {
+ var db = slf.build()
+
+ if err := db.FirstOrCreate(record).Error; err != nil {
+ return fmt.Errorf("first or create err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
diff --git a/models/workshop_manage.go b/models/workshop_manage.go
index db0e30f..ca05716 100644
--- a/models/workshop_manage.go
+++ b/models/workshop_manage.go
@@ -29,7 +29,7 @@
)
func (slf WorkshopManage) TableName() string {
- return "workshop_manage"
+ return "silk_workshop_manage"
}
func NewWorkshopManageSearch() *WorkshopManageSearch {
diff --git a/models/yield_register.go b/models/yield_register.go
index 35fe2f0..b22e269 100644
--- a/models/yield_register.go
+++ b/models/yield_register.go
@@ -56,7 +56,7 @@
)
func (slf YieldRegister) TableName() string {
- return "yield_register"
+ return "silk_yield_register"
}
func NewYieldRegisterSearch() *YieldRegisterSearch {
@@ -216,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
+}
diff --git a/models/yield_register_circle.go b/models/yield_register_circle.go
index b55a990..7f089cc 100644
--- a/models/yield_register_circle.go
+++ b/models/yield_register_circle.go
@@ -27,7 +27,7 @@
)
func (slf YieldRegisterCircle) TableName() string {
- return "yield_register_circle"
+ return "silk_yield_register_circle"
}
func NewYieldRegisterCircleSearch() *YieldRegisterCircleSearch {
diff --git a/models/yield_register_item.go b/models/yield_register_item.go
index 6232808..e9a643a 100644
--- a/models/yield_register_item.go
+++ b/models/yield_register_item.go
@@ -25,7 +25,7 @@
)
func (slf YieldRegisterItem) TableName() string {
- return "yield_register_item"
+ return "silk_yield_register_item"
}
func NewYieldRegisterItemSearch() *YieldRegisterItemSearch {
diff --git a/router/router.go b/router/router.go
index 9389fec..f4117cb 100644
--- a/router/router.go
+++ b/router/router.go
@@ -73,5 +73,17 @@
finenessApi.POST("changeYieldRegister", yieldController.ChangeYieldRegister) // 鍒囨崲浜ч噺鐧昏琛�
}
+ workerApi := r.Group(urlPrefix + "/worker")
+ workerController := new(controllers.WorkerController)
+ workTypeManageController := new(controllers.WorkTypeManageController)
+ {
+ workerApi.POST("createWorkerInfo", workerController.CreateWorkerInfo) //鍒涘缓浜哄憳淇℃伅
+ workerApi.POST("updateWorkerInfo", workerController.UpdateWorkerInfo) //鏇存柊浜哄憳淇℃伅
+ workerApi.POST("getWorkerList", workerController.GetWorkerList) //鑾峰彇浜哄憳淇℃伅鍒楄〃
+ workerApi.DELETE("deleteWorkerInfo/:id", workerController.DeleteWorkerInfo) //鍒犻櫎浜哄憳淇℃伅
+
+ workerApi.POST("saveWorkTypeInfo", workTypeManageController.SaveWorkTypeInfo) //淇濆瓨宸ョ淇℃伅
+ }
+
return r
}
--
Gitblit v1.8.0