diff --git a/app/admin/models/decision.go b/app/admin/models/decision.go index 306bcba..0a29f98 100644 --- a/app/admin/models/decision.go +++ b/app/admin/models/decision.go @@ -457,7 +457,8 @@ func getSystemStartData(req *ErpDecisionReportReq, stock ErpStock) (DecisionRepo return DecisionReportData{}, nil } - tempReq := req + tempReq1 := *req + tempReq := &tempReq1 tempReq.EndTime = time.Now().Format(QueryTimeFormat) var respData DecisionReportData @@ -1673,7 +1674,8 @@ func getSumStartData(req *ErpDecisionReportReq) (DecisionReportData, error) { return DecisionReportData{}, nil } - tempReq := req + tempReq1 := *req + tempReq := &tempReq1 tempReq.EndTime = time.Now().Format(QueryTimeFormat) var respData DecisionReportData @@ -2425,7 +2427,7 @@ func getSumAllotData(req *ErpDecisionReportReq) (DecisionReportData, error) { logger.Errorf("getAllotCounts err:", err) return DecisionReportData{}, err } - qs = qs.Where("erp_inventory_allot_commodity.created_at > ?", parse) + qs = qs.Where("erp_inventory_allot_order.receive_time > ?", parse) } if req.EndTime != "" { @@ -2434,7 +2436,7 @@ func getSumAllotData(req *ErpDecisionReportReq) (DecisionReportData, error) { logger.Errorf("getAllotCounts err:", err) return DecisionReportData{}, err } - qs = qs.Where("erp_inventory_allot_commodity.created_at <= ?", parse) + qs = qs.Where("erp_inventory_allot_order.receive_time <= ?", parse) } if len(req.CommodityName) > 0 { // 商品名称 @@ -2595,10 +2597,17 @@ func getSumDecisionReportData(req *ErpDecisionReportReq) (DecisionSumData, error sumData.TotalProductIn + sumData.TotalCheckIn + sumData.TotalOrderReject if sumData.TotalEndStock < (sumData.TotalPurchaseReturn + sumData.TotalOrderSale + sumData.TotalAllotOut + sumData.TotalSystemOut + sumData.TotalCheckOut) { sumData.TotalEndStock = 0 - sumData.TotalEndAmount = 0 } else { sumData.TotalEndStock -= sumData.TotalPurchaseReturn + sumData.TotalOrderSale + sumData.TotalAllotOut + sumData.TotalSystemOut + sumData.TotalCheckOut } + + sumData.TotalEndAmount = sumData.TotalBeginAmount + sumData.TotalPurchaseAmount + sumData.TotalAllotInAmount + + sumData.TotalProductInAmount + sumData.TotalCheckInAmount + sumData.TotalRejectAmount + if sumData.TotalEndAmount < (sumData.TotalReturnAmount + sumData.TotalSaleAmount + sumData.TotalAllotOutAmount + sumData.TotalSystemOutAmount + sumData.TotalCheckOutAmount) { + sumData.TotalEndAmount = 0 + } else { + sumData.TotalEndAmount -= sumData.TotalReturnAmount + sumData.TotalSaleAmount + sumData.TotalAllotOutAmount + sumData.TotalSystemOutAmount + sumData.TotalCheckOutAmount + } } roundDecisionSumData(&sumData)