From 0475de865b0ecb57cdcbf80bd38e67fd72206e25 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 28 三月 2024 20:22:41 +0800
Subject: [PATCH] 销售出库增加操作来源
---
controllers/location.go | 64 ++++++++++++++++++++++++++++----
1 files changed, 56 insertions(+), 8 deletions(-)
diff --git a/controllers/location.go b/controllers/location.go
index 5785eb6..327c689 100644
--- a/controllers/location.go
+++ b/controllers/location.go
@@ -55,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) {
@@ -68,13 +68,50 @@
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
+ }
+ if m[location.ParentId].Children == nil {
+ 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
@@ -115,13 +152,24 @@
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
+ //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 = strings.Split(params.JointName, "/")[0] + "/" + params.Name
}
err := models.NewLocationSearch().Update(¶ms)
if err != nil {
--
Gitblit v1.8.0