From 778fd95e00e9a68b0e0e67c5d7d07d94ba365dd4 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 28 三月 2024 15:20:46 +0800
Subject: [PATCH] 修改crm状态

---
 controllers/operation.go |    6 +++++-
 models/operation.go      |   10 ++++++++++
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/controllers/operation.go b/controllers/operation.go
index ae51152..4925631 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -716,8 +716,12 @@
 
 func UpdatePurchaseStatus(source, number string) {
 	if source == "SRM_PURCHASE" {
+		count, err := models.NewOperationSearch().SetSourceNumber(number).SetStatus(constvar.OperationStatus_Ready).Count()
+		if err != nil || count > 0 {
+			return
+		}
 		cl := purchase_wms.NewPurchaseServiceClient(init_client.SrmConn)
-		_, err := cl.UpdatePurchaseStatus(context.Background(), &purchase_wms.UpdatePurchaseStatusRequest{Number: number})
+		_, err = cl.UpdatePurchaseStatus(context.Background(), &purchase_wms.UpdatePurchaseStatusRequest{Number: number})
 		if err != nil {
 			logx.Errorf("grpc dial UpdatePurchaseStatus service error: %v", err)
 		}
diff --git a/models/operation.go b/models/operation.go
index c16e13a..a04df18 100644
--- a/models/operation.go
+++ b/models/operation.go
@@ -364,3 +364,13 @@
 	}
 	return int(total), nil
 }
+
+func (slf *OperationSearch) Count() (int64, error) {
+	var (
+		total int64
+		db    = slf.build()
+	)
+
+	err := db.Count(&total).Error
+	return total, err
+}

--
Gitblit v1.8.0