From f16252d8b4736a0212b14a2bfb0eeee411d0cc76 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期一, 13 十一月 2023 11:16:34 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS

---
 controllers/location.go |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/controllers/location.go b/controllers/location.go
index 595a2ba..ff2d5c4 100644
--- a/controllers/location.go
+++ b/controllers/location.go
@@ -30,6 +30,18 @@
 		util.ResponseFormat(c, code.RequestParamError, err)
 		return
 	}
+	if params.ParentId != 0 {
+		//鏌ヨ涓婄骇鍚嶇О
+		first, err := models.NewLocationSearch().SetID(params.ParentId).First()
+		if err != nil {
+			util.ResponseFormat(c, code.RequestParamError, "鏌ヨ涓婄骇鍚嶇О澶辫触")
+			return
+		}
+		params.JointName = first.JointName + "/" + params.Name
+	} else {
+		params.JointName = params.Name
+	}
+
 	err := models.NewLocationSearch().Create(&params)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鍒涘缓澶辫触")
@@ -42,7 +54,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) {
@@ -55,13 +67,41 @@
 	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).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 {
+			m[location.ParentId].Children = append(m[location.ParentId].Children, location)
+		}
+	}
+
+	util.ResponseFormat(c, code.Success, tree)
 }
 
 // GetLocationDetails
@@ -102,6 +142,25 @@
 		util.ResponseFormat(c, code.RequestParamError, err)
 		return
 	}
+	//index := strings.LastIndex(params.JointName, "/")
+	//if index > 0 {
+	//	jn := params.JointName[:index]
+	//	oldName := params.JointName[index+1:]
+	//	if oldName != params.Name {
+	//		params.JointName = jn + "/" + params.Name
+	//	}
+	//}
+	if params.ParentId != 0 {
+		//鏌ヨ涓婄骇鍚嶇О
+		first, err := models.NewLocationSearch().SetID(params.ParentId).First()
+		if err != nil {
+			util.ResponseFormat(c, code.RequestParamError, "鏌ヨ涓婄骇鍚嶇О澶辫触")
+			return
+		}
+		params.JointName = first.JointName + "/" + params.Name
+	} else {
+		params.JointName = params.Name
+	}
 	err := models.NewLocationSearch().Update(&params)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "浣嶇疆淇℃伅鏇存柊澶辫触")

--
Gitblit v1.8.0