From a0125ef3d6ce35be7b6dc4919c4192dba4a7329a Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期四, 16 十一月 2023 14:33:51 +0800 Subject: [PATCH] 报废数量bug --- controllers/location.go | 41 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 38 insertions(+), 3 deletions(-) diff --git a/controllers/location.go b/controllers/location.go index e545fb9..80adda5 100644 --- a/controllers/location.go +++ b/controllers/location.go @@ -4,6 +4,7 @@ "errors" "github.com/gin-gonic/gin" "strconv" + "strings" "wms/extend/code" "wms/extend/util" "wms/models" @@ -54,7 +55,7 @@ // @Tags 浣嶇疆 // @Summary 鑾峰彇浣嶇疆鍒楄〃 // @Produce application/json -// @Param object body request.GetProductList true "鏌ヨ鍙傛暟" +// @Param object body request.GetLocationList true "鏌ヨ鍙傛暟" // @Success 200 {object} util.ResponseList{data=[]models.Location} "鎴愬姛" // @Router /api-wms/v1/location/getLocationList [post] func (slf LocationController) GetLocationList(c *gin.Context) { @@ -67,13 +68,47 @@ if params.PageInfo.Check() { search.SetPage(params.Page, params.PageSize) } - list, total, err := search.SetKeyword(params.KeyWord).SetOrder("created_at desc").Find() + list, total, err := search.SetKeyword(params.KeyWord).SetType(params.Type).SetJointName(params.JointName). + SetIsScrapLocation(params.IsScrapLocation).SetOrder("created_at desc").Find() if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") return } util.ResponseFormatList(c, code.Success, list, int(total)) +} + +// GetLocationTreeList +// @Tags 浣嶇疆 +// @Summary 鑾峰彇浣嶇疆鍒楄〃鏍� +// @Produce application/json +// @Success 200 {object} util.ResponseList{data=[]models.Location} "鎴愬姛" +// @Router /api-wms/v1/location/getLocationTreeList [get] +func (slf LocationController) GetLocationTreeList(c *gin.Context) { + all, err := models.NewLocationSearch().SetType(3).FindAll() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") + return + } + var tree []*models.Location + m := make(map[int]*models.Location) + for _, location := range all { + m[location.Id] = location + } + for _, location := range all { + if location.ParentId == 0 { + tree = append(tree, location) + } else { + if _, ok := m[location.ParentId]; !ok { + tree = append(tree, location) + continue + } + m[location.ParentId].Children = make([]*models.Location, 0) + m[location.ParentId].Children = append(m[location.ParentId].Children, location) + } + } + + util.ResponseFormat(c, code.Success, tree) } // GetLocationDetails @@ -131,7 +166,7 @@ } params.JointName = first.JointName + "/" + params.Name } else { - params.JointName = params.Name + params.JointName = strings.Split(params.JointName, "/")[0] + "/" + params.Name } err := models.NewLocationSearch().Update(¶ms) if err != nil { -- Gitblit v1.8.0