From 6b373cf70da0903a44ae3d7c4ebebae7c99dc2e4 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 26 三月 2024 16:37:37 +0800
Subject: [PATCH] 采购单修改3

---
 api/v1/purchase/purchase.go |   89 ++++++++++++++++++++++++++++++--------------
 router/purchase/purchase.go |    2 
 docs/swagger.yaml           |    4 +-
 docs/docs.go                |    4 +-
 docs/swagger.json           |    4 +-
 5 files changed, 68 insertions(+), 35 deletions(-)

diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go
index d279143..3fb647d 100644
--- a/api/v1/purchase/purchase.go
+++ b/api/v1/purchase/purchase.go
@@ -387,33 +387,49 @@
 	}
 
 	operationInfos := make([]purchaseRes.OperationInfo, 0)
-	for _, operation := range info.Operations {
-		var oi purchaseRes.OperationInfo
-		oi.Number = operation.ProductId
-		oi.Name = operation.ProductName
-		oi.OperationNumber = operation.Number
-		oi.Status = operation.Status
-		oi.Principal = data.Principal
-		oi.WarehouseName = data.Warehouse
-		if operation.OverTime != "" {
-			oi.OverTime = operation.OverTime
-			oi.OverAmount = operation.Amount
-		} else {
-			oi.SendAmount = operation.Amount
-		}
-		for _, products := range productList {
-			if products.Product.Number == operation.ProductId {
-				oi.Amount = products.Amount
-				oi.PurchasePrice = products.Price
-				oi.Total = products.Total
-				oi.Unit = products.Product.Unit
-				oi.Specifications = products.Product.Specifications
-				oi.ModelNumber = products.Product.ModelNumber
-				break
+	if len(info.Operations) > 0 {
+		for _, operation := range info.Operations {
+			var oi purchaseRes.OperationInfo
+			oi.Number = operation.ProductId
+			oi.Name = operation.ProductName
+			oi.OperationNumber = operation.Number
+			oi.Status = operation.Status
+			oi.Principal = data.Principal
+			oi.WarehouseName = data.Warehouse
+			if operation.OverTime != "" {
+				oi.OverTime = operation.OverTime
+				oi.OverAmount = operation.Amount
+			} else {
+				oi.SendAmount = operation.Amount
 			}
+			for _, products := range productList {
+				if products.Product.Number == operation.ProductId {
+					oi.Amount = products.Amount
+					oi.PurchasePrice = products.Price
+					oi.Total = products.Total
+					oi.Unit = products.Product.Unit
+					oi.Specifications = products.Product.Specifications
+					oi.ModelNumber = products.Product.ModelNumber
+					break
+				}
+			}
+			operationInfos = append(operationInfos, oi)
 		}
-		operationInfos = append(operationInfos, oi)
+	} else {
+		for _, products := range productList {
+			var oi purchaseRes.OperationInfo
+			oi.Number = products.Product.Number
+			oi.Name = products.Product.Name
+			oi.Amount = products.Amount
+			oi.PurchasePrice = products.Price
+			oi.Total = products.Total
+			oi.Unit = products.Product.Unit
+			oi.Specifications = products.Product.Specifications
+			oi.ModelNumber = products.Product.ModelNumber
+			operationInfos = append(operationInfos, oi)
+		}
 	}
+
 	response.OkWithData(operationInfos, c)
 }
 
@@ -425,20 +441,37 @@
 // @Produce   application/json
 // @Param		id	path		int	true	"閲囪喘鍗旾D"                                           true  "閲囪喘鍗旾D"
 // @Success   200   {object}  response.Response{msg=string}  "鏂扮増鎻愪氦"
-// @Router    /purchase/newSubmit/{id} [get]
+// @Router    /purchase/newSubmit [post]
 func (e *PurchaseApi) NewSubmit(c *gin.Context) {
-	id, _ := strconv.Atoi(c.Param("id"))
+	var params purchaserequest.SubmitPurchase
+	err := c.ShouldBindJSON(&params)
+	if err != nil {
+		global.GVA_LOG.Error("Submit failed", zap.Error(err))
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	id := uint(params.Id)
 	if id == 0 {
 		response.FailWithMessage("鍙傛暟缂哄け", c)
 		return
 	}
-	data, err := service.NewPurchaseService().GetPurchase(uint(id))
+	if params.Status == purchase.OrderStatusCanceled {
+		err = service.NewPurchaseService().Submit(params.Id, params.Status, "")
+		if err != nil {
+			global.GVA_LOG.Error("鎻愪氦澶辫触!", zap.Error(err))
+			response.FailWithMessage("鎻愪氦澶辫触", c)
+			return
+		}
+		response.OkWithMessage("鎻愪氦鎴愬姛", c)
+		return
+	}
+	data, err := service.NewPurchaseService().GetPurchase(id)
 	if err != nil {
 		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
 		response.FailWithMessage("鑾峰彇澶辫触", c)
 		return
 	}
-	productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(id))
+	productList, err := service.NewPurchaseService().GetPurchaseProductList(id)
 	if err != nil {
 		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
 		response.FailWithMessage("鑾峰彇澶辫触", c)
diff --git a/docs/docs.go b/docs/docs.go
index 5601ef6..7e686f0 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -1832,8 +1832,8 @@
                 }
             }
         },
-        "/purchase/newSubmit/{id}": {
-            "get": {
+        "/purchase/newSubmit": {
+            "post": {
                 "security": [
                     {
                         "ApiKeyAuth": []
diff --git a/docs/swagger.json b/docs/swagger.json
index b9c2610..0c2bd32 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -1823,8 +1823,8 @@
                 }
             }
         },
-        "/purchase/newSubmit/{id}": {
-            "get": {
+        "/purchase/newSubmit": {
+            "post": {
                 "security": [
                     {
                         "ApiKeyAuth": []
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 3e1d780..f7dd39a 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -2238,8 +2238,8 @@
       summary: 鑾峰彇浠撳簱鍒楄〃
       tags:
       - Purchase
-  /purchase/newSubmit/{id}:
-    get:
+  /purchase/newSubmit:
+    post:
       consumes:
       - application/json
       parameters:
diff --git a/router/purchase/purchase.go b/router/purchase/purchase.go
index f582439..937bd67 100644
--- a/router/purchase/purchase.go
+++ b/router/purchase/purchase.go
@@ -19,7 +19,7 @@
 		purchaseRouter.GET("purchaseTypeList", PurchaseApi.GetPurchaseTypeList)                                 // 鏌ヨ閲囪喘绫诲瀷
 		purchaseRouter.GET("getWarehouseInfo", PurchaseApi.GetWarehouseInfo)                                    // 鑾峰彇浠撳簱鍒楄〃
 		purchaseRouter.GET("getOperationInfo/:id", PurchaseApi.GetOperationInfo)                                // 鑾峰彇鎿嶄綔淇℃伅
-		purchaseRouter.GET("newSubmit/:id", PurchaseApi.NewSubmit)                                              // 鏂扮増鎻愪氦
+		purchaseRouter.POST("newSubmit", PurchaseApi.NewSubmit)                                                 // 鏂扮増鎻愪氦
 		purchaseRouter.GET("getPurchaseProductConfirmInfo/:number", PurchaseApi.GetPurchaseProductConfirmInfo)  // 鑾峰彇纭淇℃伅
 		purchaseRouter.POST("savePurchaseProductConfirm", PurchaseApi.SavePurchaseProductConfirm)               // 纭鏀惰揣
 		purchaseRouter.POST("getPurchaseQualityInspectionInfo", PurchaseApi.GetPurchaseQualityInspectionInfo)   // 鑾峰彇閲囪喘璐ㄦ淇℃伅淇℃伅

--
Gitblit v1.8.0