From 2bc973751af5e61c48a7805e02ae882cf742171d Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 11 八月 2023 09:52:50 +0800
Subject: [PATCH] 未开票金额存库,修改

---
 service/invoice.go |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/service/invoice.go b/service/invoice.go
index 59301a9..203d8a8 100644
--- a/service/invoice.go
+++ b/service/invoice.go
@@ -22,22 +22,25 @@
 		if err != nil {
 			return ecode.DBErr
 		}
-		var amountInvoiced decimal.Decimal
+		var amountInvoiced, amountNotInvoiced decimal.Decimal
 		rightProducts := NewProductsService().PickRightProducts(invoice.Products, serviceContract.Products)
 		for _, product := range rightProducts {
 			amountInvoiced = serviceContract.AmountInvoiced.Add(product.Amount.Mul(product.Price))
+			amountNotInvoiced = serviceContract.AmountUnInvoiced.Sub(product.Amount.Mul(product.Price))
 		}
 		amountInvoiced = amountInvoiced.Round(2)
-		if amountInvoiced.GreaterThan(serviceContract.AmountReceivable) {
-			return ecode.SContractInvoiceProductPriceGreaterThanReceivableAmountErr
-		}
+		amountNotInvoiced = amountNotInvoiced.Round(2)
+		//if amountInvoiced.GreaterThan(serviceContract.AmountReceivable) {
+		//	return ecode.SContractInvoiceProductPriceGreaterThanReceivableAmountErr
+		//}
 		err = model.WithTransaction(func(db *gorm.DB) error {
 			err = model.NewInvoiceSearch().Create(invoice)
 			if err != nil {
 				return err
 			}
 			return model.NewServiceContractSearch().SetId(invoice.SourceId).UpdateByMap(map[string]interface{}{
-				"amount_invoiced": amountInvoiced,
+				"amount_invoiced":     amountInvoiced,
+				"amount_not_invoiced": amountNotInvoiced,
 			})
 		})
 		if err != nil {

--
Gitblit v1.8.0