From c7b298c3d2bd922df7514f8a5ca37a0c7f6e5686 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 29 三月 2024 20:00:52 +0800
Subject: [PATCH] 收货数量修改

---
 api/v1/purchase/purchase.go |   70 ++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 22 deletions(-)

diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go
index 3fb647d..e571258 100644
--- a/api/v1/purchase/purchase.go
+++ b/api/v1/purchase/purchase.go
@@ -226,7 +226,7 @@
 // @Security  ApiKeyAuth
 // @accept    application/json
 // @Produce   application/json
-// @Param		id	path		int	true	"閲囪喘鍗旾D"
+// @Param     data  body     purchaserequest.SubmitPurchase   true  "鍙傛暟"
 // @Success   200   {object}  response.Response{msg=string}  "鎻愪氦閲囪喘鍗�"
 // @Router    /purchase/submit [post]
 func (e *PurchaseApi) Submit(c *gin.Context) {
@@ -260,10 +260,11 @@
 		}
 		client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn)
 		resp, err := client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{
-			Number:       data.Number,
-			SupplierName: data.Supplier.Name,
-			Product:      product,
-			Source:       "SRM_PURCHASE",
+			Number:          data.Number,
+			SupplierName:    data.Supplier.Name,
+			Product:         product,
+			Source:          "SRM_PURCHASE",
+			OperationSource: purchase_wms.OperationSource_OperationSourcePurchase,
 		})
 		if err != nil {
 			global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err))
@@ -366,13 +367,20 @@
 		response.FailWithMessage("鍙傛暟缂哄け", c)
 		return
 	}
-	data, err := service.NewPurchaseService().GetPurchase(uint(id))
+	server := service.NewPurchaseService()
+	data, err := server.GetPurchase(uint(id))
 	if err != nil {
 		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
 		response.FailWithMessage("鑾峰彇澶辫触", c)
 		return
 	}
-	productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(id))
+	productList, err := server.GetPurchaseProductList(uint(id))
+	if err != nil {
+		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
+		response.FailWithMessage("鑾峰彇澶辫触", c)
+		return
+	}
+	confirmInfo, err := server.GetPurchaseProductConfirmInfo(data.Number)
 	if err != nil {
 		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
 		response.FailWithMessage("鑾峰彇澶辫触", c)
@@ -399,8 +407,6 @@
 			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 {
@@ -410,6 +416,12 @@
 					oi.Unit = products.Product.Unit
 					oi.Specifications = products.Product.Specifications
 					oi.ModelNumber = products.Product.ModelNumber
+					break
+				}
+			}
+			for _, confirm := range confirmInfo {
+				if operation.ProductId == confirm.ProductId {
+					oi.SendAmount = confirm.OverReceiveAmount.IntPart()
 					break
 				}
 			}
@@ -426,6 +438,12 @@
 			oi.Unit = products.Product.Unit
 			oi.Specifications = products.Product.Specifications
 			oi.ModelNumber = products.Product.ModelNumber
+			for _, confirm := range confirmInfo {
+				if products.Product.Number == confirm.ProductId {
+					oi.SendAmount = confirm.OverReceiveAmount.IntPart()
+					break
+				}
+			}
 			operationInfos = append(operationInfos, oi)
 		}
 	}
@@ -439,7 +457,7 @@
 // @Security  ApiKeyAuth
 // @accept    application/json
 // @Produce   application/json
-// @Param		id	path		int	true	"閲囪喘鍗旾D"                                           true  "閲囪喘鍗旾D"
+// @Param     data  body     purchaserequest.SubmitPurchase   true  "鍙傛暟"
 // @Success   200   {object}  response.Response{msg=string}  "鏂扮増鎻愪氦"
 // @Router    /purchase/newSubmit [post]
 func (e *PurchaseApi) NewSubmit(c *gin.Context) {
@@ -647,12 +665,13 @@
 		}
 		client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn)
 		_, err = client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{
-			Number:        purchaseData.Number,
-			SupplierName:  purchaseData.Supplier.Name,
-			SupplierId:    int64(purchaseData.SupplierId),
-			Product:       product,
-			Source:        "SRM_PURCHASE",
-			WarehouseName: purchaseData.Warehouse,
+			Number:          purchaseData.Number,
+			SupplierName:    purchaseData.Supplier.Name,
+			SupplierId:      int64(purchaseData.SupplierId),
+			Product:         product,
+			Source:          "SRM_PURCHASE",
+			WarehouseName:   purchaseData.Warehouse,
+			OperationSource: purchase_wms.OperationSource_OperationSourcePurchase,
 		})
 		if err != nil {
 			global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err))
@@ -729,12 +748,13 @@
 	}
 	client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn)
 	_, err = client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{
-		Number:        purchaseData.Number,
-		SupplierName:  purchaseData.Supplier.Name,
-		SupplierId:    int64(purchaseData.SupplierId),
-		Product:       product,
-		Source:        "SRM_PURCHASE",
-		WarehouseName: purchaseData.Warehouse,
+		Number:          purchaseData.Number,
+		SupplierName:    purchaseData.Supplier.Name,
+		SupplierId:      int64(purchaseData.SupplierId),
+		Product:         product,
+		Source:          "SRM_PURCHASE",
+		WarehouseName:   purchaseData.Warehouse,
+		OperationSource: purchase_wms.OperationSource_OperationSourcePurchase,
 	})
 	if err != nil {
 		global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err))
@@ -747,5 +767,11 @@
 		response.FailWithMessage("璐ㄦ澶辫触", c)
 		return
 	}
+	err = server.UpdatePurchaseStatus(purchaseData.Number, purchase.WaitInspection)
+	if err != nil {
+		global.GVA_LOG.Error("璐ㄦ澶辫触!", zap.Error(err))
+		response.FailWithMessage("璐ㄦ澶辫触", c)
+		return
+	}
 	response.OkWithMessage("璐ㄦ鎴愬姛", c)
 }

--
Gitblit v1.8.0