yinbentan
2024-06-28 9b60ddba27ef778419da5089e3b30ebe173afd7d
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))
}