From edf3066724ad442d6929210c830cb67c17277690 Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期四, 01 八月 2024 11:46:33 +0800
Subject: [PATCH] 添加工资计算自动任务
---
controllers/dict.go | 91 +++++++++++++++++++++++++++++++++++++++------
1 files changed, 78 insertions(+), 13 deletions(-)
diff --git a/controllers/dict.go b/controllers/dict.go
index 1bd386c..084e88a 100644
--- a/controllers/dict.go
+++ b/controllers/dict.go
@@ -5,12 +5,14 @@
"fmt"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
- "jialian/controllers/request"
- "jialian/extend/code"
- "jialian/extend/util"
- "jialian/models"
- "jialian/pkg/convertx"
- "jialian/pkg/structx"
+ "silkserver/constvar"
+ "silkserver/controllers/request"
+ "silkserver/extend/code"
+ "silkserver/extend/util"
+ "silkserver/models"
+ "silkserver/pkg/convertx"
+ "silkserver/pkg/structx"
+ "strconv"
)
type DictController struct{}
@@ -88,16 +90,19 @@
}
func (slf DictController) ParamsCheck(params models.Dict) (err error) {
- dict, err := models.NewDictSearch().SetNumber(params.Number).First()
- if err != gorm.ErrRecordNotFound && dict != nil && dict.ID != params.ID {
- return errors.New("缂栧彿閲嶅")
+ if params.Name == "" {
+ return errors.New("鍙傛暟缂哄け")
}
-
- dict, err = models.NewDictSearch().SetName(params.Name).First()
+ dict, err := models.NewDictSearch().SetName(params.Name).First()
if err != gorm.ErrRecordNotFound && dict != nil && dict.ID != params.ID {
return errors.New("鍚嶇О閲嶅")
}
-
+ if params.Number != "" {
+ dict, err := models.NewDictSearch().SetDictType(params.DictType).SetNumber(params.Number).First()
+ if err != gorm.ErrRecordNotFound && dict != nil && dict.ID != params.ID {
+ return errors.New("缂栧彿閲嶅")
+ }
+ }
return nil
}
@@ -115,7 +120,11 @@
return
}
- list, err := models.NewDictSearch().SetDictType(params.DictType).FindAll()
+ search := models.NewDictSearch()
+ if params.DictType > 0 {
+ search = search.SetDictType(params.DictType)
+ }
+ list, err := search.SetKeyword(params.Keyword).FindAll()
if err != nil {
util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
@@ -140,6 +149,10 @@
}
id := convertx.StringToUInt(idStr)
+ if id == 0 {
+ util.ResponseFormat(c, code.RequestParamError, "绌虹殑璁板綍id")
+ return
+ }
err := models.NewDictSearch().SetID(id).Delete()
if err != nil {
util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
@@ -147,3 +160,55 @@
}
util.ResponseFormat(c, code.UpdateSuccess, "鍒犻櫎鎴愬姛")
}
+
+// GetAutoCode
+//
+// @Tags 绯荤粺璁剧疆/瀛楀吀
+// @Summary 鑾峰彇鑷姩缂栫爜
+// @Produce application/json
+// @Param Authorization header string true "token"
+// @Param object query request.CodeStandard true "鏌ヨ鍙傛暟"
+// @Success 200 {object} util.Response{data=map[string]interface{}}
+// @Router /api-jl/v1/system/getAutoCode [get]
+func (slf *DictController) GetAutoCode(c *gin.Context) {
+ var params request.CodeStandard
+ var (
+ id = 0
+ prefix = ""
+ err error
+ )
+ if params.Type, err = strconv.Atoi(c.Query("type")); err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "璇疯緭鍏ユ纭殑绫诲瀷")
+ return
+ }
+ switch constvar.CodeStandardType(params.Type) {
+ case constvar.CodeStandardType_Workshop:
+ id, err = models.NewWorkshopManageSearch().MaxAutoIncr()
+ prefix = "CJ"
+ case constvar.CodeStandardType_Fineness:
+ id, err = models.NewFinenessRegisterSearch().MaxAutoIncr()
+ prefix = "XD"
+ case constvar.CodeStandardType_Yield:
+ id, err = models.NewYieldRegisterSearch().MaxAutoIncr()
+ prefix = "CL"
+ default:
+ util.ResponseFormat(c, code.RequestParamError, "缂栫爜瑙勫垯涓嶅瓨鍦�")
+ return
+ }
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鑾峰彇鏈�澶у�煎け璐�")
+ return
+ }
+ m := make(map[string]interface{})
+
+ strMaxAutoIncr := strconv.Itoa(id + 1)
+ count := 8 - len(strMaxAutoIncr)
+ for i := 0; i < count; i++ {
+ strMaxAutoIncr = "0" + strMaxAutoIncr
+ }
+
+ m["id"] = prefix + strMaxAutoIncr
+ m["codeStandardID"] = constvar.CodeStandardType_Fineness
+ m["maxAutoIncr"] = id + 1
+ util.ResponseFormat(c, code.Success, m)
+}
--
Gitblit v1.8.0