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