report profit loss

This commit is contained in:
efrilm
2025-11-03 21:28:36 +07:00
parent 5a7892aa99
commit 07932d688f
23 changed files with 5188 additions and 1 deletions
@@ -347,3 +347,135 @@ Map<String, dynamic> _$$PaymentMethodAnalyticSummaryDtoImplToJson(
'total_payments': instance.totalPayments,
'average_order_value': instance.averageOrderValue,
};
_$ProfitLossAnalyticDtoImpl _$$ProfitLossAnalyticDtoImplFromJson(
Map<String, dynamic> json,
) => _$ProfitLossAnalyticDtoImpl(
organizationId: json['organization_id'] as String?,
dateFrom: json['date_from'] as String?,
dateTo: json['date_to'] as String?,
groupBy: json['group_by'] as String?,
summary: json['summary'] == null
? null
: ProfitLossAnalyticSummaryDto.fromJson(
json['summary'] as Map<String, dynamic>,
),
data: (json['data'] as List<dynamic>?)
?.map(
(e) => ProfitLossAnalyticItemDto.fromJson(e as Map<String, dynamic>),
)
.toList(),
productData: (json['product_data'] as List<dynamic>?)
?.map(
(e) => ProfitLossAnalyticProductDto.fromJson(e as Map<String, dynamic>),
)
.toList(),
);
Map<String, dynamic> _$$ProfitLossAnalyticDtoImplToJson(
_$ProfitLossAnalyticDtoImpl instance,
) => <String, dynamic>{
'organization_id': instance.organizationId,
'date_from': instance.dateFrom,
'date_to': instance.dateTo,
'group_by': instance.groupBy,
'summary': instance.summary,
'data': instance.data,
'product_data': instance.productData,
};
_$ProfitLossAnalyticSummaryDtoImpl _$$ProfitLossAnalyticSummaryDtoImplFromJson(
Map<String, dynamic> json,
) => _$ProfitLossAnalyticSummaryDtoImpl(
totalRevenue: (json['total_revenue'] as num?)?.toInt(),
totalCost: json['total_cost'] as num?,
grossProfit: json['gross_profit'] as num?,
grossProfitMargin: (json['gross_profit_margin'] as num?)?.toDouble(),
totalTax: (json['total_tax'] as num?)?.toInt(),
totalDiscount: (json['total_discount'] as num?)?.toInt(),
netProfit: json['net_profit'] as num?,
netProfitMargin: (json['net_profit_margin'] as num?)?.toDouble(),
totalOrders: (json['total_orders'] as num?)?.toInt(),
averageProfit: (json['average_profit'] as num?)?.toDouble(),
profitabilityRatio: (json['profitability_ratio'] as num?)?.toDouble(),
);
Map<String, dynamic> _$$ProfitLossAnalyticSummaryDtoImplToJson(
_$ProfitLossAnalyticSummaryDtoImpl instance,
) => <String, dynamic>{
'total_revenue': instance.totalRevenue,
'total_cost': instance.totalCost,
'gross_profit': instance.grossProfit,
'gross_profit_margin': instance.grossProfitMargin,
'total_tax': instance.totalTax,
'total_discount': instance.totalDiscount,
'net_profit': instance.netProfit,
'net_profit_margin': instance.netProfitMargin,
'total_orders': instance.totalOrders,
'average_profit': instance.averageProfit,
'profitability_ratio': instance.profitabilityRatio,
};
_$ProfitLossAnalyticItemDtoImpl _$$ProfitLossAnalyticItemDtoImplFromJson(
Map<String, dynamic> json,
) => _$ProfitLossAnalyticItemDtoImpl(
date: json['date'] as String?,
revenue: (json['revenue'] as num?)?.toInt(),
cost: json['cost'] as num?,
grossProfit: json['gross_profit'] as num?,
grossProfitMargin: (json['gross_profit_margin'] as num?)?.toDouble(),
tax: (json['tax'] as num?)?.toInt(),
discount: (json['discount'] as num?)?.toInt(),
netProfit: json['net_profit'] as num?,
netProfitMargin: (json['net_profit_margin'] as num?)?.toDouble(),
orders: (json['orders'] as num?)?.toInt(),
);
Map<String, dynamic> _$$ProfitLossAnalyticItemDtoImplToJson(
_$ProfitLossAnalyticItemDtoImpl instance,
) => <String, dynamic>{
'date': instance.date,
'revenue': instance.revenue,
'cost': instance.cost,
'gross_profit': instance.grossProfit,
'gross_profit_margin': instance.grossProfitMargin,
'tax': instance.tax,
'discount': instance.discount,
'net_profit': instance.netProfit,
'net_profit_margin': instance.netProfitMargin,
'orders': instance.orders,
};
_$ProfitLossAnalyticProductDtoImpl _$$ProfitLossAnalyticProductDtoImplFromJson(
Map<String, dynamic> json,
) => _$ProfitLossAnalyticProductDtoImpl(
productId: json['product_id'] as String?,
productName: json['product_name'] as String?,
categoryId: json['category_id'] as String?,
categoryName: json['category_name'] as String?,
quantitySold: (json['quantity_sold'] as num?)?.toInt(),
revenue: (json['revenue'] as num?)?.toInt(),
cost: json['cost'] as num?,
grossProfit: json['gross_profit'] as num?,
grossProfitMargin: (json['gross_profit_margin'] as num?)?.toDouble(),
averagePrice: (json['average_price'] as num?)?.toInt(),
averageCost: json['average_cost'] as num?,
profitPerUnit: json['profit_per_unit'] as num?,
);
Map<String, dynamic> _$$ProfitLossAnalyticProductDtoImplToJson(
_$ProfitLossAnalyticProductDtoImpl instance,
) => <String, dynamic>{
'product_id': instance.productId,
'product_name': instance.productName,
'category_id': instance.categoryId,
'category_name': instance.categoryName,
'quantity_sold': instance.quantitySold,
'revenue': instance.revenue,
'cost': instance.cost,
'gross_profit': instance.grossProfit,
'gross_profit_margin': instance.grossProfitMargin,
'average_price': instance.averagePrice,
'average_cost': instance.averageCost,
'profit_per_unit': instance.profitPerUnit,
};