From eae7648dfc2085a849401f9e49de184002f1cece Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期四, 21 九月 2023 17:46:31 +0800
Subject: [PATCH] 1.出入库一部分代码

---
 controllers/operation.go |   18 +++++-------------
 1 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/controllers/operation.go b/controllers/operation.go
index f340d6c..32d16bb 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -5,7 +5,6 @@
 	"fmt"
 	"github.com/gin-gonic/gin"
 	"github.com/shopspring/decimal"
-	"github.com/spf13/cast"
 	"gorm.io/gorm"
 	"strconv"
 	"wms/constvar"
@@ -170,15 +169,9 @@
 // @Summary   淇敼鍏ュ簱/鍑哄簱淇℃伅
 // @Produce   application/json
 // @Param     object  body request.UpdateOperation true  "鍏ュ簱淇℃伅"
-// @Param     id  path int true  "鍏ュ簱淇℃伅id"
 // @Success   200 {object} util.Response "鎴愬姛"
-// @Router    /api-wms/v1/operation/operation/{id} [put]
+// @Router    /api-wms/v1/operation/update [post]
 func (slf OperationController) Update(c *gin.Context) {
-	id := cast.ToUint(c.Param("id"))
-	if id == 0 {
-		util.ResponseFormat(c, code.RequestParamError, "绌虹殑璁板綍id")
-		return
-	}
 	var reqParams request.UpdateOperation
 	var params models.Operation
 	if err := c.BindJSON(&reqParams); err != nil {
@@ -201,15 +194,14 @@
 		util.ResponseFormat(c, code.RequestParamError, err.Error())
 		return
 	}
-	fmt.Printf("%+v\n", *reqParams.Details[0])
-	fmt.Printf("%+v\n", *reqParams.Details[1])
-	fmt.Println("===============================================")
-	fmt.Printf("%+v\n", *params.Details[0])
-	fmt.Printf("%+v\n", *params.Details[1])
 	if err := models.WithTransaction(func(tx *gorm.DB) error {
 		if err := models.NewOperationDetailsSearch().SetOrm(tx).SetOperationId(params.Id).Delete(); err != nil {
 			return err
 		}
+		operationSearch := models.NewOperationSearch().SetOrm(tx)
+		if err := operationSearch.Orm.Model(&params).Association("Details").Replace(params.Details); err != nil {
+			return err
+		}
 		if err := models.NewOperationSearch().SetOrm(tx).SetID(params.Id).Save(&params); err != nil {
 			return err
 		}

--
Gitblit v1.8.0