From c4b9d130cb0aa98f4b65a987b11fc5c2bea3a1c7 Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期三, 03 七月 2024 10:37:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jialian' into jialian

---
 controllers/warehouse.go |   33 ++++++++++++++++++++++++++++++---
 1 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/controllers/warehouse.go b/controllers/warehouse.go
index bc2aa7f..14d63c3 100644
--- a/controllers/warehouse.go
+++ b/controllers/warehouse.go
@@ -55,8 +55,8 @@
 	}
 	//鍒涘缓榛樿浣嶇疆
 	location := &models.Location{
-		Name:              "榛樿浣嶇疆",
-		JointName:         params.Code + "/榛樿浣嶇疆",
+		Name:              params.Name,
+		JointName:         params.Name,
 		Type:              constvar.LocationTypeInternal,
 		ReplenishLocation: true,
 		ParentId:          id,
@@ -122,7 +122,34 @@
 		util.ResponseFormat(c, code.RequestParamError, err.Error())
 		return
 	}
-	err := models.NewWarehouseSearch().SetID(params.Id).Update(&params)
+	warehouse, err := models.NewWarehouseSearch().SetID(params.Id).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "浠撳簱涓嶅瓨鍦�")
+		return
+	}
+	err = models.WithTransaction(func(db *gorm.DB) error {
+		//鏇存柊浣滀笟绫诲瀷鍚嶇О
+		if params.Name != warehouse.Name {
+			m := make(map[string]interface{})
+			m["name"] = params.Name + "-鍏ュ簱"
+			err := models.NewOperationTypeSearch().SetOrm(db).SetBaseOperationType(constvar.BaseOperationTypeIncoming).SetWarehouseId(params.Id).UpdateByMap(m)
+			if err != nil {
+				return err
+			}
+			m["name"] = params.Name + "-鍑哄簱"
+			err = models.NewOperationTypeSearch().SetOrm(db).SetBaseOperationType(constvar.BaseOperationTypeOutgoing).SetWarehouseId(params.Id).UpdateByMap(m)
+			if err != nil {
+				return err
+			}
+			m["name"] = params.Name + "-鍐呴儴璋冩嫧"
+			err = models.NewOperationTypeSearch().SetOrm(db).SetBaseOperationType(constvar.BaseOperationTypeInternal).SetWarehouseId(params.Id).UpdateByMap(m)
+			if err != nil {
+				return err
+			}
+		}
+		err = models.NewWarehouseSearch().SetID(params.Id).Update(&params)
+		return err
+	})
 
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "淇敼澶辫触")

--
Gitblit v1.8.0