Files
apskel-owner-flutter/lib/domain/analytic/entities/product_analytic_entity.dart
T

66 lines
1.6 KiB
Dart
Raw Normal View History

2025-08-18 02:13:11 +07:00
part of '../analytic.dart';
@freezed
class ProductAnalytic with _$ProductAnalytic {
const factory ProductAnalytic({
required String organizationId,
required String outletId,
2026-06-23 23:18:22 +07:00
required String outletName,
2025-08-18 02:13:11 +07:00
required String dateFrom,
required String dateTo,
required List<ProductAnalyticData> data,
}) = _ProductAnalytic;
factory ProductAnalytic.empty() => const ProductAnalytic(
organizationId: '',
outletId: '',
2026-06-23 23:18:22 +07:00
outletName: '',
2025-08-18 02:13:11 +07:00
dateFrom: '',
dateTo: '',
data: [],
);
}
@freezed
class ProductAnalyticData with _$ProductAnalyticData {
const factory ProductAnalyticData({
required String productId,
required String productName,
2026-06-23 23:18:22 +07:00
required String productSku,
required int productPrice,
2025-08-18 02:13:11 +07:00
required String categoryId,
required String categoryName,
2026-06-23 23:18:22 +07:00
required int categoryOrder,
2025-08-18 02:13:11 +07:00
required int quantitySold,
2025-08-18 17:06:41 +07:00
required int revenue,
2025-08-18 02:13:11 +07:00
required double averagePrice,
required int orderCount,
2026-06-23 23:18:22 +07:00
required int standardHppPerUnit,
required int standardHppTotal,
required int fifoHppPerUnit,
required int fifoHppTotal,
required int movingAverageHppPerUnit,
required int movingAverageHppTotal,
2025-08-18 02:13:11 +07:00
}) = _ProductAnalyticData;
factory ProductAnalyticData.empty() => const ProductAnalyticData(
productId: '',
productName: '',
2026-06-23 23:18:22 +07:00
productSku: '',
productPrice: 0,
2025-08-18 02:13:11 +07:00
categoryId: '',
categoryName: '',
2026-06-23 23:18:22 +07:00
categoryOrder: 0,
2025-08-18 02:13:11 +07:00
quantitySold: 0,
2025-08-18 17:06:41 +07:00
revenue: 0,
2025-08-18 02:13:11 +07:00
averagePrice: 0.0,
orderCount: 0,
2026-06-23 23:18:22 +07:00
standardHppPerUnit: 0,
standardHppTotal: 0,
fifoHppPerUnit: 0,
fifoHppTotal: 0,
movingAverageHppPerUnit: 0,
movingAverageHppTotal: 0,
2025-08-18 02:13:11 +07:00
);
}