From 63558d60419edd772f8f8c8b413326d4550783f0 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 07 三月 2024 14:53:26 +0800
Subject: [PATCH] 获取wms仓库和操作记录信息

---
 api/v1/purchase/purchase.go |   86 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 1 deletions(-)

diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go
index e723875..ab3f0b5 100644
--- a/api/v1/purchase/purchase.go
+++ b/api/v1/purchase/purchase.go
@@ -51,7 +51,6 @@
 	purchaseRecord.Status = purchase.OrderStatusConfirmed
 	purchaseRecord.HandledBy = "admin"
 	purchaseRecord.Creator = "admin"
-	purchaseRecord.Principal = "admin"
 	purchaseRecord.OrderType = "閲囪喘璁㈠崟"
 
 	if !purchaseRecord.WholeDiscountType.IsValid(purchaseRecord.TotalPrice, purchaseRecord.WholeDiscount) {
@@ -332,3 +331,88 @@
 	}
 	response.OkWithDetailed(list, "鑾峰彇鎴愬姛", c)
 }
+
+// GetWarehouseInfo
+// @Tags      Purchase
+// @Summary   鑾峰彇浠撳簱鍒楄〃
+// @Security  ApiKeyAuth
+// @accept    application/json
+// @Produce   application/json
+// @Param		id	path		int	true	"閲囪喘鍗旾D"                                           true  "閲囪喘鍗旾D"
+// @Success   200   {object}  response.Response{data=[]purchase_wms.SrmGetWarehouseInfoResponse}  "鑾峰彇閲囪喘绫诲瀷鍒楄〃"
+// @Router    /purchase/getWarehouseInfo [get]
+func (e *PurchaseApi) GetWarehouseInfo(c *gin.Context) {
+	client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn)
+	info, err := client.SrmGetWarehouseInfo(context.Background(), &purchase_wms.SrmGetWarehouseInfoRequest{})
+	if err != nil {
+		global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err))
+		response.FailWithMessage("grpc璋冪敤澶辫触", c)
+		return
+	}
+	response.OkWithData(info, c)
+}
+
+// GetOperationInfo
+// @Tags      Purchase
+// @Summary   鑾峰彇鎿嶄綔淇℃伅
+// @Security  ApiKeyAuth
+// @accept    application/json
+// @Produce   application/json
+// @Success   200   {object}  response.Response{data=[]purchase_wms.SrmGetWarehouseInfoResponse}  "鑾峰彇閲囪喘绫诲瀷鍒楄〃"
+// @Router    /purchase/getOperationInfo/{id} [get]
+func (e *PurchaseApi) GetOperationInfo(c *gin.Context) {
+	id, _ := strconv.Atoi(c.Param("id"))
+	if id == 0 {
+		response.FailWithMessage("鍙傛暟缂哄け", c)
+		return
+	}
+	data, err := service.NewPurchaseService().GetPurchase(uint(id))
+	if err != nil {
+		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
+		response.FailWithMessage("鑾峰彇澶辫触", c)
+		return
+	}
+	productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(id))
+	if err != nil {
+		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
+		response.FailWithMessage("鑾峰彇澶辫触", c)
+		return
+	}
+	client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn)
+	info, err := client.SrmGetOperationInfo(context.Background(), &purchase_wms.SrmGetOperationInfoRequest{Number: data.Number})
+	if err != nil {
+		global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err))
+		response.FailWithMessage("grpc璋冪敤澶辫触", c)
+		return
+	}
+
+	operationInfos := make([]purchaseRes.OperationInfo, 0)
+	for _, operation := range info.Operations {
+		var oi purchaseRes.OperationInfo
+		oi.ProductId = operation.ProductId
+		oi.ProductName = operation.ProductName
+		oi.Number = 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.Price = 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)
+	}
+	response.OkWithData(operationInfos, c)
+}

--
Gitblit v1.8.0