From e5df488268e29b272932e6cc1d2b1e7034590ba0 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 12 六月 2024 11:40:45 +0800
Subject: [PATCH] weedfs包放到项目里

---
 controllers/location.go |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/controllers/location.go b/controllers/location.go
index 2ef2a95..ecd21c0 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"
@@ -23,7 +24,7 @@
 func (slf LocationController) AddLocation(c *gin.Context) {
 	var params models.Location
 	if err := c.BindJSON(&params); err != nil {
-		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�:"+err.Error())
 		return
 	}
 	if err := slf.CheckLocation(params); err != nil {
@@ -38,6 +39,19 @@
 			return
 		}
 		params.JointName = first.JointName + "/" + params.Name
+		if first.WarehouseId != 0 {
+			params.WarehouseId = first.Id
+		} else {
+			//鏍规嵁浠撳簱缂╁啓鏌ヨ浠撳簱
+			houseCode := strings.Split(first.JointName, "/")[0]
+			warehouse, err := models.NewWarehouseSearch().SetCode(houseCode).First()
+			if err != nil {
+				util.ResponseFormat(c, code.RequestParamError, err)
+				return
+			}
+			params.WarehouseId = warehouse.Id
+		}
+
 	} else {
 		params.JointName = params.Name
 	}
@@ -54,7 +68,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,7 +81,8 @@
 	if params.PageInfo.Check() {
 		search.SetPage(params.Page, params.PageSize)
 	}
-	list, total, err := search.SetKeyword(params.KeyWord).SetJointName(params.JointName).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
@@ -97,6 +112,14 @@
 		if location.ParentId == 0 {
 			tree = append(tree, location)
 		} else {
+			if _, ok := m[location.ParentId]; !ok {
+				tree = append(tree, location)
+				continue
+			}
+			if m[location.ParentId].Children == nil {
+				m[location.ParentId].Children = make([]*models.Location, 0)
+			}
+
 			m[location.ParentId].Children = append(m[location.ParentId].Children, location)
 		}
 	}
@@ -159,7 +182,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(&params)
 	if err != nil {

--
Gitblit v1.8.0