From a2cfbd59045d7426088e9ec9e93794dc895849a9 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 03 七月 2024 23:13:40 +0800
Subject: [PATCH] 获取位置列表增加仓库ID传参,默认位置去掉仓库code拼接, 修复若干bug

---
 controllers/warehouse.go |   42 ++++++++++++++++++++++++------------------
 1 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/controllers/warehouse.go b/controllers/warehouse.go
index 14d63c3..fda7851 100644
--- a/controllers/warehouse.go
+++ b/controllers/warehouse.go
@@ -12,7 +12,6 @@
 	"wms/extend/code"
 	"wms/extend/util"
 	"wms/models"
-	"wms/pkg/logx"
 	"wms/pkg/structx"
 	"wms/request"
 )
@@ -53,25 +52,33 @@
 		util.ResponseFormat(c, code.SaveFail, "瑙嗗浘鍒涘缓澶辫触")
 		return
 	}
-	//鍒涘缓榛樿浣嶇疆
-	location := &models.Location{
-		Name:              params.Name,
-		JointName:         params.Name,
-		Type:              constvar.LocationTypeInternal,
-		ReplenishLocation: true,
-		ParentId:          id,
-	}
-	locationId, err := models.NewLocationSearch().CreateReturnId(location)
-	if err != nil {
-		util.ResponseFormat(c, code.SaveFail, "浣嶇疆鍒涘缓澶辫触")
-		return
-	}
-	params.LocationId = locationId
 	err = models.WithTransaction(func(tx *gorm.DB) error {
 		err := models.NewWarehouseSearch().SetOrm(tx).Create(&params)
 		if err != nil {
 			return err
 		}
+
+		//鍒涘缓榛樿浣嶇疆
+		location := &models.Location{
+			Name:              params.Name,
+			JointName:         params.Name,
+			Type:              constvar.LocationTypeInternal,
+			ReplenishLocation: true,
+			ParentId:          id,
+			WarehouseId:       params.Id,
+		}
+		locationId, err := models.NewLocationSearch().SetOrm(tx).CreateReturnId(location)
+		if err != nil {
+			return err
+		}
+
+		//鏇存敼浠撳簱璁板綍閲岀殑浣嶇疆id
+		params.LocationId = locationId
+		err = models.NewWarehouseSearch().SetOrm(tx).SetID(params.Id).UpdateByMap(map[string]interface{}{"location_id": locationId})
+		if err != nil {
+			return err
+		}
+
 		//鍒涘缓涓変釜榛樿鎿嶄綔绫诲瀷
 		var types []*models.OperationType
 		inType := &models.OperationType{
@@ -95,9 +102,8 @@
 		err = models.NewOperationTypeSearch().SetOrm(tx).CreateBatch(types)
 		return err
 	})
+
 	if err != nil {
-		_ = models.NewLocationSearch().SetID(locationId).Delete()
-		logx.Errorf("warehouse create err: %v", err)
 		util.ResponseFormat(c, code.SaveFail, "鎻掑叆澶辫触")
 		return
 	}
@@ -238,7 +244,7 @@
 	for _, warehouse := range list {
 		for _, location := range locations {
 			if warehouse.LocationId == location.Id {
-				warehouse.WarehouseLocation = warehouse.Code + "/" + location.Name
+				warehouse.WarehouseLocation = location.Name
 				break
 			}
 		}

--
Gitblit v1.8.0