From 19bbf202e4f38f067db9c2800e764512ad67dcd9 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 27 六月 2024 22:34:32 +0800 Subject: [PATCH] 当月的统计报表(未至库存结算时间点)支持实时查询入库数量出库数量期末数量 --- controllers/report_forms_controller.go | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/controllers/report_forms_controller.go b/controllers/report_forms_controller.go index 5f907fa..e3346ae 100644 --- a/controllers/report_forms_controller.go +++ b/controllers/report_forms_controller.go @@ -5,9 +5,11 @@ "github.com/shopspring/decimal" "net/url" "os" + "time" "wms/constvar" "wms/extend/code" "wms/extend/util" + "wms/models" "wms/pkg/logx" "wms/request" "wms/service" @@ -335,6 +337,7 @@ util.ResponseFormat(c, code.InternalError, "鏌ヨ鎬绘暟澶辫触") return } + result, err := monthFormsService.Query(params) if err != nil { logx.Errorf("MonthStats query err:%v", err) @@ -342,6 +345,37 @@ return } + now := time.Now().Local() + today := now.Day() + nowMonth := now.Format("2006-01") + + day, dateStr, err := service.NewSystemConfigService().GetInventoryCutOffPoint() + if nowMonth == params.Date && today < day || today == day && now.Format("15:04") < dateStr { //鏈湀鏈嚦缁撶畻鏃堕棿鐐� + productIds := make([]string, 0, len(result)) + for _, item := range result { + productIds = append(productIds, item.ProductId) + } + statsRecords, err := service.GetCurrentStats(params.Date, productIds) + if err != nil { + util.ResponseFormat(c, code.InternalError, "鍐呴儴閿欒") + return + } + statsMap := models.MonthStatsMap(statsRecords) + for k, v := range result { + if statsMap[v.ProductId] == nil { + continue + } + + result[k].OutputAmount = statsMap[v.ProductId].OutputAmount + result[k].OutputMoreUnits = statsMap[v.ProductId].OutputMoreUnits + result[k].EndAmount = statsMap[v.ProductId].EndAmount + result[k].EndMoreUnits = statsMap[v.ProductId].EndMoreUnits + result[k].InputAmount = statsMap[v.ProductId].InputAmount + result[k].InputMoreUnits = statsMap[v.ProductId].InputMoreUnits + } + + } + util.ResponseFormatList(c, code.Success, result, int(total)) } -- Gitblit v1.8.0