From 80c8e74c7428329f06d1aa3b70b95b46da732b0a Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 27 六月 2024 20:09:03 +0800 Subject: [PATCH] 保存库存结算时间点重启定时任务 --- task/month_stats.go | 69 ++++++++++++++-------------------- 1 files changed, 28 insertions(+), 41 deletions(-) diff --git a/task/month_stats.go b/task/month_stats.go index a7985ad..a6b2669 100644 --- a/task/month_stats.go +++ b/task/month_stats.go @@ -103,37 +103,22 @@ moreValueArr := make([]models.UnitItems, 0, len(product.MoreUnitList)) inputMoreValueArr := make([]models.UnitItems, 0, len(product.MoreUnitList)) outputMoreValueArr := make([]models.UnitItems, 0, len(product.MoreUnitList)) - for _, unitItem := range product.MoreUnitList { - moreValueArr = append(moreValueArr, models.UnitItems{ - Amount: amount.Mul(unitItem.Amount), - Unit: unitItem.Unit, - Floating: unitItem.Floating, - }) - bys, _ := json.Marshal(moreValueArr) - moreUnits = string(bys) - - if !inputMap[productId].IsZero() { - inputMoreValueArr = append(inputMoreValueArr, models.UnitItems{ - Amount: inputMap[productId].Mul(unitItem.Amount), - Unit: unitItem.Unit, - Floating: unitItem.Floating, - }) - bys, _ = json.Marshal(inputMoreValueArr) - inputMoreUnits = string(bys) - - } - - if !outputMap[productId].IsZero() { - outputMoreValueArr = append(outputMoreValueArr, models.UnitItems{ - Amount: outputMap[productId].Mul(unitItem.Amount), - Unit: unitItem.Unit, - Floating: unitItem.Floating, - }) - bys, _ = json.Marshal(outputMoreValueArr) - outputMoreUnits = string(bys) - - } + if !amount.IsZero() { + moreValueArr = service.CreateMoreUnit(amount, product.MoreUnitList) } + if !inputMap[productId].IsZero() { + inputMoreValueArr = service.CreateMoreUnit(inputMap[productId], product.MoreUnitList) + } + + if !outputMap[productId].IsZero() { + outputMoreValueArr = service.CreateMoreUnit(outputMap[productId], product.MoreUnitList) + } + bys, _ := json.Marshal(moreValueArr) + moreUnits = string(bys) + bys, _ = json.Marshal(inputMoreValueArr) + inputMoreUnits = string(bys) + bys, _ = json.Marshal(outputMoreValueArr) + outputMoreUnits = string(bys) } record.BeginMoreUnits = moreUnits @@ -144,18 +129,20 @@ service.SendAlarm("鏈堝害缁熻鍒涘缓鏈湀澶辫触", fmt.Sprintf("NewMonthStatsSearch Create err:%v, record: %+v", err, record)) } - if oldRecordsMap[productId] != nil && (!inputMap[productId].IsZero() || !outputMap[productId].IsZero()) { - record.InputAmount = inputMap[productId] - record.InputMoreUnits = inputMoreUnits - record.OutputAmount = outputMap[productId] - record.OutputMoreUnits = outputMoreUnits + if oldRecordsMap[productId] != nil { m := map[string]interface{}{ - "input_amount": inputMap[productId], - "input_more_units": inputMoreUnits, - "output_amount": outputMap[productId], - "output_more_units": outputMoreUnits, - "end_more_units": moreUnits, - "end_amount": amount, + "end_more_units": moreUnits, + "end_amount": amount, + } + if !inputMap[productId].IsZero() || !outputMap[productId].IsZero() { + record.InputAmount = inputMap[productId] + record.InputMoreUnits = inputMoreUnits + record.OutputAmount = outputMap[productId] + record.OutputMoreUnits = outputMoreUnits + m["input_amount"] = inputMap[productId] + m["input_more_units"] = inputMoreUnits + m["output_amount"] = outputMap[productId] + m["output_more_units"] = outputMoreUnits } err = models.NewMonthStatsSearch().SetOrm(db).SetID(oldRecordsMap[productId].Id).UpdateByMap(m) if err != nil { -- Gitblit v1.8.0