FIX[BE]: fixing report penjualan add avg weight and price to response

This commit is contained in:
aguhh18
2026-01-21 09:46:03 +07:00
parent d0625e7d21
commit 894efa7aa5
@@ -41,7 +41,7 @@ type Summary struct {
TotalQty int `json:"total_qty"`
TotalWeightKg float64 `json:"total_weight_kg"`
AverageWeightKg float64 `json:"average_weight_kg"`
AverageSalesAmount float64 `json:"average_sales_amount"`
AverageSalesPrice float64 `json:"average_sales_price"`
TotalSalesAmount int64 `json:"total_sales_amount"`
TotalHppAmount int64 `json:"total_hpp_amount"`
TotalHppPricePerKg float64 `json:"total_hpp_price_per_kg"`
@@ -180,7 +180,7 @@ func ToSummaryFromDTOItems(items []RepportMarketingItemDTO) *Summary {
totalQty := 0
totalWeightKg := 0.0
avgSalesAmount := 0.0
avgSalesPrice := 0.0
avgWeightKg := 0.0
totalSalesAmount := int64(0)
totalHppAmount := int64(0)
@@ -190,6 +190,7 @@ func ToSummaryFromDTOItems(items []RepportMarketingItemDTO) *Summary {
totalWeightKg += item.TotalWeightKg
totalSalesAmount += int64(item.SalesAmount)
totalHppAmount += int64(item.HppAmount)
avgSalesPrice += item.SalesPricePerKg
}
totalHppPricePerKg := float64(0)
@@ -197,16 +198,19 @@ func ToSummaryFromDTOItems(items []RepportMarketingItemDTO) *Summary {
totalHppPricePerKg = float64(totalHppAmount) / totalWeightKg
}
if len(items) > 0 {
avgSalesPrice = avgSalesPrice / float64(len(items))
}
if totalQty > 0 {
avgWeightKg = totalWeightKg / float64(totalQty)
avgSalesAmount = float64(totalSalesAmount) / float64(totalQty)
}
return &Summary{
TotalQty: totalQty,
TotalWeightKg: totalWeightKg,
AverageWeightKg: avgWeightKg,
AverageSalesAmount: avgSalesAmount,
AverageSalesPrice: avgSalesPrice,
TotalSalesAmount: totalSalesAmount,
TotalHppAmount: totalHppAmount,
TotalHppPricePerKg: totalHppPricePerKg,