From eae158f8d95df5f49c4e36d5b9ad00b62dbad9ec Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 29 七月 2024 21:51:47 +0800
Subject: [PATCH] 产品库存增加多单位存储,完成出入库操作时更改多单位剩余数量

---
 service/more_units.go |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/service/more_units.go b/service/more_units.go
index 5abdb09..1e01506 100644
--- a/service/more_units.go
+++ b/service/more_units.go
@@ -23,6 +23,50 @@
 	return moreValueArr
 }
 
+func AddMoreUnit(units []models.UnitItems, units2 []models.UnitItems) []models.UnitItems {
+	moreValueArr := make([]models.UnitItems, 0, len(units))
+	for _, unitItem1 := range units {
+		for _, unitItem2 := range units2 {
+			if unitItem1.Unit == unitItem2.Unit {
+				moreValueArr = append(moreValueArr, models.UnitItems{
+					Amount:   unitItem1.Amount.Add(unitItem2.Amount),
+					Unit:     unitItem1.Unit,
+					Floating: unitItem1.Floating,
+				})
+			}
+		}
+	}
+	return moreValueArr
+}
+
+// MoreUnitIsEnough 澶氬崟浣嶅簱瀛樻槸鍚﹁冻澶�
+func MoreUnitIsEnough(units []models.UnitItems, units2 []models.UnitItems) bool {
+	for _, unitItem1 := range units {
+		for _, unitItem2 := range units2 {
+			if unitItem1.Amount.LessThan(unitItem2.Amount) {
+				return false
+			}
+		}
+	}
+	return true
+}
+
+func SubMoreUnit(units []models.UnitItems, units2 []models.UnitItems) []models.UnitItems {
+	moreValueArr := make([]models.UnitItems, 0, len(units))
+	for _, unitItem1 := range units {
+		for _, unitItem2 := range units2 {
+			if unitItem1.Unit == unitItem2.Unit {
+				moreValueArr = append(moreValueArr, models.UnitItems{
+					Amount:   unitItem1.Amount.Sub(unitItem2.Amount),
+					Unit:     unitItem1.Unit,
+					Floating: unitItem1.Floating,
+				})
+			}
+		}
+	}
+	return moreValueArr
+}
+
 func FillMoreUnitToExcel(amount decimal.Decimal, units []models.UnitItems, startIndex int, column int, f *excelize.File) {
 	columnStr := strconv.Itoa(column)
 	for _, v := range units {

--
Gitblit v1.8.0