From 8a439141c04ee485d250f5a5bc3cead74f3a0156 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 01 十二月 2023 14:12:19 +0800
Subject: [PATCH] 修改aps物料申请状态

---
 controllers/operation.go |  113 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 65 insertions(+), 48 deletions(-)

diff --git a/controllers/operation.go b/controllers/operation.go
index e75abc4..938ea40 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -8,15 +8,12 @@
 	"github.com/gin-gonic/gin"
 	"github.com/shopspring/decimal"
 	"github.com/xuri/excelize/v2"
-	"google.golang.org/grpc"
-	"google.golang.org/grpc/credentials/insecure"
 	"gorm.io/gorm"
 	"os"
 	"sort"
 	"strconv"
 	"strings"
 	"time"
-	"wms/conf"
 	"wms/constvar"
 	"wms/extend/code"
 	"wms/extend/util"
@@ -25,6 +22,8 @@
 	"wms/pkg/logx"
 	"wms/pkg/structx"
 	"wms/proto/client"
+	"wms/proto/init_client"
+	"wms/proto/inventory_order"
 	"wms/proto/product_inventory"
 	"wms/proto/purchase_wms"
 	"wms/proto/supplier"
@@ -523,8 +522,8 @@
 					return err
 				}
 			}
-			if operation.SourceNumber != "" {
-				go UpdatePurchaseStatus(operation.SourceNumber)
+			if operation.Source != "" {
+				go UpdatePurchaseStatus(operation.Source, operation.SourceNumber)
 			}
 
 		}
@@ -569,8 +568,8 @@
 					return err
 				}
 			}
-			if operation.SourceNumber != "" {
-				go UpdateSalesDetailStatus(operation.SourceNumber)
+			if operation.Source != "" {
+				go UpdateOutStatus(operation.Source, operation.Number, 4)
 			}
 		}
 
@@ -765,50 +764,64 @@
 	return nil
 }
 
-var (
-	ProductInventoryServiceConn *grpc.ClientConn
-	PurchaseServiceConn         *grpc.ClientConn
-)
+//var (
+//	ProductInventoryServiceConn *grpc.ClientConn
+//	PurchaseServiceConn         *grpc.ClientConn
+//)
+//
+//func InitProductInventoryServiceConn() {
+//	var err error
+//	ProductInventoryServiceConn, err = grpc.Dial(conf.GrpcServerConf.CrmAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
+//	if err != nil {
+//		logx.Errorf("grpc dial product service error: %v", err.Error())
+//		return
+//	}
+//	PurchaseServiceConn, err = grpc.Dial(conf.GrpcServerConf.SrmAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
+//	if err != nil {
+//		logx.Errorf("grpc dial product service error: %v", err.Error())
+//		return
+//	}
+//}
+//
+//func CloseProductInventoryServiceConn() {
+//	if ProductInventoryServiceConn != nil {
+//		ProductInventoryServiceConn.Close()
+//	}
+//	if PurchaseServiceConn != nil {
+//		PurchaseServiceConn.Close()
+//	}
+//}
 
-func InitProductInventoryServiceConn() {
-	var err error
-	ProductInventoryServiceConn, err = grpc.Dial(conf.GrpcServerConf.CrmAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
-	if err != nil {
-		logx.Errorf("grpc dial product service error: %v", err.Error())
-		return
+func UpdateOutStatus(source, number string, status int64) {
+	if source == "CRM" {
+		cl := product_inventory.NewProductInventoryServiceClient(init_client.CrmConn)
+		_, err := cl.UpdateSalesDetailStatus(context.Background(), &product_inventory.UpdateSalesDetailStatusRequest{
+			Number:            number,
+			SalesDetailStatus: "宸插嚭搴�",
+		})
+		if err != nil {
+			logx.Errorf("grpc dial UpdateSalesDetailStatus service error: %v", err)
+		}
 	}
-	PurchaseServiceConn, err = grpc.Dial(conf.GrpcServerConf.SrmAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
-	if err != nil {
-		logx.Errorf("grpc dial product service error: %v", err.Error())
-		return
+	if source == "APS_APPLY_MATERIAL" {
+		cl := inventory_order.NewInventoryOrderServiceClient(init_client.ApsConn)
+		_, err := cl.UpdateMaterialApplyStatus(context.Background(), &inventory_order.UpdateMaterialApplyStatusRequest{
+			Number: number,
+			Status: status,
+		})
+		if err != nil {
+			logx.Errorf("grpc dial UpdateSalesDetailStatus service error: %v", err)
+		}
 	}
 }
 
-func CloseProductInventoryServiceConn() {
-	if ProductInventoryServiceConn != nil {
-		ProductInventoryServiceConn.Close()
-	}
-	if PurchaseServiceConn != nil {
-		PurchaseServiceConn.Close()
-	}
-}
-
-func UpdateSalesDetailStatus(number string) {
-	client := product_inventory.NewProductInventoryServiceClient(ProductInventoryServiceConn)
-	_, err := client.UpdateSalesDetailStatus(context.Background(), &product_inventory.UpdateSalesDetailStatusRequest{
-		Number:            number,
-		SalesDetailStatus: "宸插嚭搴�",
-	})
-	if err != nil {
-		logx.Errorf("grpc dial UpdateSalesDetailStatus service error: %v", err)
-	}
-}
-
-func UpdatePurchaseStatus(number string) {
-	client := purchase_wms.NewPurchaseServiceClient(PurchaseServiceConn)
-	_, err := client.UpdatePurchaseStatus(context.Background(), &purchase_wms.UpdatePurchaseStatusRequest{Number: number})
-	if err != nil {
-		logx.Errorf("grpc dial UpdatePurchaseStatus service error: %v", err)
+func UpdatePurchaseStatus(source, number string) {
+	if source == "SRM_PURCHASE" {
+		cl := purchase_wms.NewPurchaseServiceClient(init_client.SrmConn)
+		_, err := cl.UpdatePurchaseStatus(context.Background(), &purchase_wms.UpdatePurchaseStatusRequest{Number: number})
+		if err != nil {
+			logx.Errorf("grpc dial UpdatePurchaseStatus service error: %v", err)
+		}
 	}
 }
 
@@ -890,6 +903,10 @@
 	if err := models.NewOperationSearch().SetID(operation.Id).Save(operation); err != nil {
 		util.ResponseFormat(c, code.SaveFail, err.Error())
 		return
+	}
+	//鏇存柊aps鐗╂枡鐢宠鐘舵��
+	if operation.Source == "APS_APPLY_MATERIAL" {
+		go UpdateOutStatus(operation.Source, operation.Number, 3)
 	}
 	util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛")
 }
@@ -1108,7 +1125,7 @@
 //
 // @Router    /api-wms/v1/operation/getSupplierList [get]
 func (slf OperationController) GetSupplierList(c *gin.Context) {
-	cli := supplier.NewSupplierServiceClient(supplier.SupplierConn)
+	cli := supplier.NewSupplierServiceClient(init_client.SrmConn)
 	resp, err := cli.GetSupplierList(c, &supplier.SupplierListRequest{Status: 1})
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "grpc璋冪敤澶辫触:"+err.Error())
@@ -1126,7 +1143,7 @@
 //
 // @Router    /api-wms/v1/operation/getClientList [get]
 func (slf OperationController) GetClientList(c *gin.Context) {
-	cli := client.NewClientServiceClient(client.ClientConn)
+	cli := client.NewClientServiceClient(init_client.CrmConn)
 	resp, err := cli.GetClientList(c, &client.ClientListRequest{})
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "grpc璋冪敤澶辫触:"+err.Error())

--
Gitblit v1.8.0