ui: update ProductPerformanceProfitability page to enhance table views and tabs management

This commit is contained in:
M_Kececi
2026-07-02 17:39:22 +03:00
parent 1bf51b9e82
commit d98ce372c7
8 changed files with 1982 additions and 105 deletions
+156
View File
@@ -71,6 +71,162 @@ type ProductPerformanceSummary struct {
UpdatedAt string `json:"updated_at"`
}
type ProductPerformanceGeneralRow struct {
PeriodStart string `json:"period_start"`
PeriodEnd string `json:"period_end"`
ProductCode string `json:"product_code"`
ColorCode string `json:"color_code"`
YakaKodu string `json:"yaka_kodu"`
ItemDescription string `json:"item_description"`
Kategori string `json:"kategori"`
Seri string `json:"seri"`
YasGrubu string `json:"yas_grubu"`
AskiliYan string `json:"askili_yan"`
UrunIlkGrubu string `json:"urun_ilk_grubu"`
UrunAnaGrubu string `json:"urun_ana_grubu"`
UrunAltGrubu string `json:"urun_alt_grubu"`
MarketKey string `json:"market_key"`
StockQty float64 `json:"stock_qty"`
SalesQtyTotal float64 `json:"sales_qty_total"`
SalesUSDTotal float64 `json:"sales_usd_total"`
AvgDailySalesTotal float64 `json:"avg_daily_sales_total"`
StockDaysTotal float64 `json:"stock_days_total"`
AvgPriceUSDTotal float64 `json:"avg_price_usd_total"`
CostPriceUSD float64 `json:"cost_price_usd"`
BasePriceUSD float64 `json:"base_price_usd"`
GrossProfitUSDTotal float64 `json:"gross_profit_usd_total"`
GrossMarginTotal float64 `json:"gross_margin_total"`
UnitProfitCostTotal float64 `json:"unit_profit_cost_total"`
UnitProfitBaseTotal float64 `json:"unit_profit_base_total"`
MarketCountTotal int `json:"market_count_total"`
CustomerCountTotal int `json:"customer_count_total"`
InvoiceCountTotal int `json:"invoice_count_total"`
SalesIndexTotal float64 `json:"sales_index_total"`
PerformanceScore float64 `json:"performance_score"`
PerformanceBucket string `json:"performance_bucket"`
Recommendation string `json:"recommendation"`
FirstSaleDate string `json:"first_sale_date"`
LastSaleDate string `json:"last_sale_date"`
LastRefNumber string `json:"last_ref_number"`
}
type ProductPerformanceOrderAnalysisRow struct {
ProductCode string `json:"product_code"`
ColorCode string `json:"color_code"`
YakaKodu string `json:"yaka_kodu"`
ItemDescription string `json:"item_description"`
Kategori string `json:"kategori"`
Seri string `json:"seri"`
YasGrubu string `json:"yas_grubu"`
AskiliYan string `json:"askili_yan"`
UrunIlkGrubu string `json:"urun_ilk_grubu"`
UrunAnaGrubu string `json:"urun_ana_grubu"`
UrunAltGrubu string `json:"urun_alt_grubu"`
MarketKey string `json:"market_key"`
OrderQty float64 `json:"order_qty"`
OrderUSD float64 `json:"order_usd"`
AvgOrderPriceUSD float64 `json:"avg_order_price_usd"`
StockQty float64 `json:"stock_qty"`
NetStockAfterOrder float64 `json:"net_stock_after_order"`
CostPriceUSD float64 `json:"cost_price_usd"`
BasePriceUSD float64 `json:"base_price_usd"`
UnitProfitCostUSD float64 `json:"unit_profit_cost_usd"`
UnitProfitBaseUSD float64 `json:"unit_profit_base_usd"`
ExpectedProfitCostUSD float64 `json:"expected_profit_cost_usd"`
ExpectedProfitBaseUSD float64 `json:"expected_profit_base_usd"`
ExpectedMarginCost float64 `json:"expected_margin_cost"`
MarketCount int `json:"market_count"`
CustomerCount int `json:"customer_count"`
OrderCount int `json:"order_count"`
LineCount int `json:"line_count"`
FirstOrderDate string `json:"first_order_date"`
LastOrderDate string `json:"last_order_date"`
EarliestDueDate string `json:"earliest_due_date"`
OverdueQty float64 `json:"overdue_qty"`
PerformanceBucket string `json:"performance_bucket"`
Recommendation string `json:"recommendation"`
}
type ProductPerformanceOrderGroupRow struct {
Breakdown string `json:"breakdown"`
GroupKey string `json:"group_key"`
MarketKey string `json:"market_key"`
CustomerCode string `json:"customer_code"`
CustomerName string `json:"customer_name"`
ProductCount int `json:"product_count"`
OrderQty float64 `json:"order_qty"`
OrderUSD float64 `json:"order_usd"`
AvgOrderPriceUSD float64 `json:"avg_order_price_usd"`
BaseCostUSD float64 `json:"base_cost_usd"`
CostAmountUSD float64 `json:"cost_amount_usd"`
ExpectedProfitBaseUSD float64 `json:"expected_profit_base_usd"`
ExpectedProfitCostUSD float64 `json:"expected_profit_cost_usd"`
ExpectedMarginBase float64 `json:"expected_margin_base"`
ExpectedMarginCost float64 `json:"expected_margin_cost"`
StockQty float64 `json:"stock_qty"`
NetStockAfterOrder float64 `json:"net_stock_after_order"`
MarketCount int `json:"market_count"`
CustomerCount int `json:"customer_count"`
OrderCount int `json:"order_count"`
LineCount int `json:"line_count"`
OverdueQty float64 `json:"overdue_qty"`
PerformanceBucket string `json:"performance_bucket"`
Recommendation string `json:"recommendation"`
}
type ProductPerformanceOrderProductCustomerRow struct {
ProductCode string `json:"product_code"`
ColorCode string `json:"color_code"`
YakaKodu string `json:"yaka_kodu"`
ItemDescription string `json:"item_description"`
MarketKey string `json:"market_key"`
CustomerCode string `json:"customer_code"`
CustomerName string `json:"customer_name"`
OrderQty float64 `json:"order_qty"`
OrderUSD float64 `json:"order_usd"`
AvgOrderPriceUSD float64 `json:"avg_order_price_usd"`
StockQty float64 `json:"stock_qty"`
NetStockAfterOrder float64 `json:"net_stock_after_order"`
CostPriceUSD float64 `json:"cost_price_usd"`
BasePriceUSD float64 `json:"base_price_usd"`
ExpectedProfitBaseUSD float64 `json:"expected_profit_base_usd"`
ExpectedProfitCostUSD float64 `json:"expected_profit_cost_usd"`
ExpectedMarginBase float64 `json:"expected_margin_base"`
ExpectedMarginCost float64 `json:"expected_margin_cost"`
OrderCount int `json:"order_count"`
LineCount int `json:"line_count"`
OverdueQty float64 `json:"overdue_qty"`
PerformanceBucket string `json:"performance_bucket"`
Recommendation string `json:"recommendation"`
}
type ProductPerformanceOrderMarketDetailRow struct {
MarketKey string `json:"market_key"`
CustomerCode string `json:"customer_code"`
CustomerName string `json:"customer_name"`
OrderNumber string `json:"order_number"`
OrderDate string `json:"order_date"`
DueDate string `json:"due_date"`
ProductCode string `json:"product_code"`
ColorCode string `json:"color_code"`
YakaKodu string `json:"yaka_kodu"`
ItemDescription string `json:"item_description"`
OrderQty float64 `json:"order_qty"`
OrderUSD float64 `json:"order_usd"`
AvgOrderPriceUSD float64 `json:"avg_order_price_usd"`
StockQty float64 `json:"stock_qty"`
NetStockAfterOrder float64 `json:"net_stock_after_order"`
CostPriceUSD float64 `json:"cost_price_usd"`
BasePriceUSD float64 `json:"base_price_usd"`
ExpectedProfitBaseUSD float64 `json:"expected_profit_base_usd"`
ExpectedProfitCostUSD float64 `json:"expected_profit_cost_usd"`
ExpectedMarginBase float64 `json:"expected_margin_base"`
ExpectedMarginCost float64 `json:"expected_margin_cost"`
IsOverdue bool `json:"is_overdue"`
PerformanceBucket string `json:"performance_bucket"`
Recommendation string `json:"recommendation"`
}
type ProductPerformanceMarketRow struct {
MarketKey string `json:"market_key"`
Kategori string `json:"kategori"`