From e598e4d2718c41352eafae19284ffe358b8c8181 Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期三, 17 七月 2024 18:18:19 +0800 Subject: [PATCH] 修改方法,去除庄口获取庄口列表方法;添加产品来源字典类型;添加字典模糊搜索 --- controllers/dict_controller.go | 75 ++++++++++++++++++++----------------- 1 files changed, 40 insertions(+), 35 deletions(-) diff --git a/controllers/dict_controller.go b/controllers/dict_controller.go index a9c1a8e..fa042a9 100644 --- a/controllers/dict_controller.go +++ b/controllers/dict_controller.go @@ -3,9 +3,11 @@ import ( "context" "errors" + "fmt" "github.com/gin-gonic/gin" "gorm.io/gorm" "strconv" + "wms/constvar" "wms/extend/code" "wms/extend/util" "wms/models" @@ -48,8 +50,10 @@ return } + autoCode, _ := getAutoCode(params.Type) record := models.MiniDict{ Type: params.Type, + Code: autoCode, Name: params.Name, Value: params.Value, IsDefault: params.IsDefault, @@ -95,6 +99,7 @@ record := models.MiniDict{ Type: params.Type, + Code: params.Code, Name: params.Name, Value: params.Value, IsDefault: params.IsDefault, @@ -201,47 +206,13 @@ return } - //if !params.Type.Valid() { - // util.ResponseFormat(c, code.RequestParamError, "瀛楀吀绫诲瀷閿欒") - // return - //} - dictSearch := models.NewMiniDictSearch() - if params.Type.Valid() { - dictSearch.SetType(params.Type) - } - - list, total, err := dictSearch.Find() + list, total, err := models.NewMiniDictSearch().SetKeyword(params.Keyword).SetType(params.Type).Find() if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") return } util.ResponseFormatList(c, code.Success, list, int(total)) -} - -// GetSilkDictList -// -// @Tags 鏁版嵁瀛楀吀 -// @Summary 鑾峰彇搴勫彛鍒楄〃 -// @Produce application/json -// @Param Authorization header string true "token" -// @Param type path string true "瀛楀吀绫诲瀷" -// @Success 200 {object} util.ResponseList{data=[]models.SilkDict} "鎴愬姛" -// @Router /api-wms/v1/dict/getSilkDictList/{type} [get] -func (slf DictController) GetSilkDictList(c *gin.Context) { - - dictType, err := strconv.Atoi(c.Param("type")) - if err != nil { - util.ResponseFormat(c, code.RequestParamError, "璇蜂紶鍏ユ纭殑瀛楀吀绫诲瀷") - return - } - - list, err := models.NewSilkDictSearch().SetDictType(models.SilkDictType(dictType)).FindAll() - if err != nil { - util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") - return - } - util.ResponseFormat(c, code.Success, list) } // GetUserList @@ -281,3 +252,37 @@ } util.ResponseFormat(c, code.Success, list.List) } + +// GetAutoCode 鑾峰彇瀛楀吀鑷姩缂栫爜 +func getAutoCode(dictType constvar.MiniDictType) (string, error) { + + var prefix string + switch constvar.MiniDictType(dictType) { + case constvar.StorageType: + prefix = "IN0" + case constvar.StockoutType: + prefix = "OUT" + case constvar.TransferType: + prefix = "TF0" + case constvar.TakeStockType: + prefix = "TS0" + case constvar.DisuseType: + prefix = "DIS" + case constvar.ProductSource: + prefix = "PS0" + default: + return "", errors.New("缂栫爜瑙勫垯涓嶅瓨鍦�") + } + id, err := models.NewMiniDictSearch().SetType(constvar.MiniDictType(dictType)).MaxAutoIncr() + if err != nil { + return "", errors.New("鑾峰彇鏈�澶у�煎け璐�") + } + + strMaxAutoIncr := strconv.Itoa(id + 1) + count := 5 - len(strMaxAutoIncr) + for i := 0; i < count; i++ { + strMaxAutoIncr = "0" + strMaxAutoIncr + } + + return fmt.Sprintf("%v%v", prefix, strMaxAutoIncr), nil +} -- Gitblit v1.8.0