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