From 14326e1cb51f91ccc3da00b00bf613926d756f12 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期一, 08 四月 2024 14:53:42 +0800
Subject: [PATCH] 采购单数量修改
---
proto/purchase_wms/server.go | 36 ++++++++++++++++++++++++++++++++----
1 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/proto/purchase_wms/server.go b/proto/purchase_wms/server.go
index 29037a8..523a7b8 100644
--- a/proto/purchase_wms/server.go
+++ b/proto/purchase_wms/server.go
@@ -20,8 +20,12 @@
if req.Number == "" {
return nil, errors.New("閲囪喘缂栧彿涓嶈兘涓虹┖")
}
- err := global.GVA_DB.Model(&purchase.Purchase{}).Where("number = ?", req.Number).
- Updates(map[string]interface{}{"status": purchase.OrderStatusStored}).Error
+ m := make(map[string]interface{})
+ m["status"] = purchase.OrderStatusStored
+ if req.Status > 0 {
+ m["status"] = req.Status
+ }
+ err := global.GVA_DB.Model(&purchase.Purchase{}).Where("number = ?", req.Number).Updates(m).Error
return new(UpdatePurchaseStatusResponse), err
}
@@ -139,15 +143,39 @@
if err != nil {
return nil, err
}
+ purchaseIds := make([]uint, 0)
+ for _, p := range ps {
+ purchaseIds = append(purchaseIds, p.ID)
+ }
+ if len(purchaseIds) == 0 {
+ return nil, errors.New("娌℃湁鏌ュ埌閲囪喘鍗�")
+ }
+ pps := make([]*purchase.PurchaseProducts, 0)
+ err = global.GVA_DB.Model(&purchase.PurchaseProducts{}).Where("purchase_id in (?)", purchaseIds).Preload("Product").Find(&pps).Error
+ if err != nil {
+ return nil, err
+ }
infos := make([]*PurchaseInfo, 0)
for _, p := range ps {
var info PurchaseInfo
info.PurchaseNumber = p.Number
info.PurchaseName = p.Name
info.SupplierName = p.Supplier.Name
- info.Amount = p.Quantity.IntPart()
info.Status = int64(p.Status)
- infos = append(infos, &info)
+ if p.Status == purchase.OrderStatusStored || p.Status == purchase.OrderStatusCompleted {
+ info.FinishAmount = info.Amount
+ }
+ for _, pp := range pps {
+ if int(p.ID) == pp.PurchaseId {
+ ni := info
+ ni.ProductId = pp.Product.Number
+ ni.ProductName = pp.Product.Name
+ ni.Specs = pp.Product.Specifications
+ ni.Unit = pp.Product.Unit
+ ni.Amount = pp.Amount.IntPart()
+ infos = append(infos, &ni)
+ }
+ }
}
resp := new(GetPurchaseInfoResponse)
resp.Infos = infos
--
Gitblit v1.8.0