From a6c75096853a93edca69945c33d62c7d835f9082 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期六, 30 三月 2024 17:59:17 +0800
Subject: [PATCH] crm获取发货数量2
---
controllers/operation.go | 47 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/controllers/operation.go b/controllers/operation.go
index 8549e48..c585774 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -538,9 +538,6 @@
return err
}
}
- if operation.Source != "" {
- go UpdatePurchaseStatus(operation.Source, operation.SourceNumber)
- }
}
@@ -582,9 +579,6 @@
return errors.New("褰撳墠浠撳簱娌℃湁璇ヤ骇鍝�,璇峰厛鍏ュ簱")
}
}
- if operation.Source != "" {
- go UpdateOutStatus(operation.Source, operation.SourceNumber, 4)
- }
}
if operation.BaseOperationType == constvar.BaseOperationTypeInternal {
@@ -624,6 +618,17 @@
if err != nil {
util.ResponseFormat(c, code.RequestError, err.Error())
return
+ }
+ //淇敼鍏朵粬绯荤粺璁㈠崟鐘舵��
+ if operation.BaseOperationType == constvar.BaseOperationTypeIncoming {
+ if operation.Source != "" {
+ go UpdatePurchaseStatus(operation.Source, operation.SourceNumber)
+ go UpdateOutsourceOrder(operation.Source, operation.SourceNumber, operation.Id, listDetails)
+ }
+ } else if operation.BaseOperationType == constvar.BaseOperationTypeOutgoing {
+ if operation.Source != "" {
+ go UpdateOutStatus(operation.Source, operation.SourceNumber, 4)
+ }
}
util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛")
@@ -716,10 +721,36 @@
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)
+ }
+ }
+}
+
+func UpdateOutsourceOrder(source, number string, operationId int, details []*models.OperationDetails) {
+ if source == "APS_OUTSOURCING_RECEIVE" {
+ products := make([]*inventory_order.OperationProduct, 0)
+ for _, detail := range details {
+ if operationId == detail.OperationID {
+ var op inventory_order.OperationProduct
+ op.ProductNumber = detail.ProductId
+ op.Amount = detail.Amount.IntPart()
+ products = append(products, &op)
+ }
+ }
+ cl := inventory_order.NewInventoryOrderServiceClient(init_client.ApsConn)
+ _, err := cl.UpdateOutsourceOrder(context.Background(), &inventory_order.UpdateOutsourceOrderRequest{
+ OutsourceNumber: number,
+ Products: products,
+ })
+ if err != nil {
+ logx.Errorf("grpc dial UpdateOutsourceOrder service error: %v", err)
}
}
}
@@ -1090,7 +1121,7 @@
return
}
- if err := db.Offset((params.Page - 1) * params.PageSize).Limit(params.PageSize).Find(&records).Error; err != nil {
+ if err := db.Offset((params.Page - 1) * params.PageSize).Limit(params.PageSize).Order("wms_operation.created_at desc").Find(&records).Error; err != nil {
util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error())
return
}
--
Gitblit v1.8.0