From 3bbcdae17bd49743737df19df201ec56e48260de Mon Sep 17 00:00:00 2001
From: gigibox <gigibox@163.com>
Date: 星期三, 21 六月 2023 18:11:26 +0800
Subject: [PATCH] 添加相同编号相同批次并且同一个仓库的库存数据过滤
---
report/tasks.go | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/report/tasks.go b/report/tasks.go
index 7d23605..a79046a 100644
--- a/report/tasks.go
+++ b/report/tasks.go
@@ -113,6 +113,21 @@
logger.Debug("鏌ヨ鍒�%d鏉″簱瀛樻暟鎹�", len(list))
+ // 鍏堣繃婊や竴閬嶆暟鎹�, 鏍肩憺绫冲彂鐜版湁鍚屼竴涓骇鍝佸悓鎵瑰彿鍚屼粨搴�, 鏈夊鏉″簱瀛樿褰曠殑鎯呭喌
+ // 灏嗙被浼肩殑鏁版嵁搴撳瓨鏁扮疮璁″埌涓�璧�
+ var filterMap = make(map[string]float64, 0)
+ for i := 0; i < len(list); {
+ cacheKey := list[i].FNumber + list[i].FBatchNo + list[i].FStockNo
+ if qty, ok := filterMap[cacheKey]; ok {
+ filterMap[cacheKey] = list[i].FUnitQty + qty
+ list = append(list[:i], list[i+1:]...)
+ } else {
+ filterMap[cacheKey] = list[i].FUnitQty
+ i++
+ }
+ }
+
+ // 杩囨护鏁版嵁, 鍒ゆ柇鏄惁宸茬粡涓婃姤杩�
for i := 0; i < len(list); {
cacheKey := list[i].FNumber + list[i].FBatchNo + list[i].FStockNo
if qty, ok := invReportedCache[cacheKey]; ok && qty == list[i].FUnitQty {
@@ -122,9 +137,14 @@
i++
}
}
+
+ if len(list) == 0 {
+ logger.Debug("娌℃湁瑕佹洿鏂扮殑搴撳瓨鏁版嵁.")
+ return
+ }
}
- // 姣忔鍙� 100 鏉�
+ // 姣忔鍙� 1000 鏉�
successCnt := 0
for i := 0; i < len(list); i += 1000 {
end := i + 1000
--
Gitblit v1.8.0