feat: update sales ui
Build & Deploy iOS to TestFlight / build-and-deploy (push) Waiting to run

This commit is contained in:
Efril
2026-06-23 23:18:22 +07:00
parent 7137cd2335
commit 8d801e52d9
37 changed files with 3234 additions and 833 deletions
File diff suppressed because it is too large Load Diff
@@ -5,6 +5,7 @@ class CategoryAnalytic with _$CategoryAnalytic {
const factory CategoryAnalytic({
required String organizationId,
required String outletId,
required String outletName,
required String dateFrom,
required String dateTo,
required List<CategoryAnalyticItem> data,
@@ -13,6 +14,7 @@ class CategoryAnalytic with _$CategoryAnalytic {
factory CategoryAnalytic.empty() => const CategoryAnalytic(
organizationId: "",
outletId: "",
outletName: "",
dateFrom: "",
dateTo: "",
data: [],
@@ -5,6 +5,7 @@ class DashboardAnalytic with _$DashboardAnalytic {
const factory DashboardAnalytic({
required String organizationId,
required String outletId,
required String outletName,
required String dateFrom,
required String dateTo,
required DashboardOverview overview,
@@ -16,6 +17,7 @@ class DashboardAnalytic with _$DashboardAnalytic {
factory DashboardAnalytic.empty() => DashboardAnalytic(
organizationId: '',
outletId: '',
outletName: '',
dateFrom: '',
dateTo: '',
overview: DashboardOverview.empty(),
@@ -34,6 +36,9 @@ class DashboardOverview with _$DashboardOverview {
required int totalCustomers,
required int voidedOrders,
required int refundedOrders,
required int totalItemSold,
required int totalLowStock,
required int totalProductActive,
}) = _DashboardOverview;
factory DashboardOverview.empty() => const DashboardOverview(
@@ -43,6 +48,9 @@ class DashboardOverview with _$DashboardOverview {
totalCustomers: 0,
voidedOrders: 0,
refundedOrders: 0,
totalItemSold: 0,
totalLowStock: 0,
totalProductActive: 0,
);
}
@@ -5,6 +5,7 @@ class ExclusiveSummary with _$ExclusiveSummary {
const factory ExclusiveSummary({
required String organizationId,
required String outletId,
required String outletName,
required ExclusiveSummaryPeriod period,
required ExclusiveSummarySummary summary,
required ExclusiveSummaryReimburse reimburse,
@@ -17,6 +18,7 @@ class ExclusiveSummary with _$ExclusiveSummary {
factory ExclusiveSummary.empty() => ExclusiveSummary(
organizationId: '',
outletId: '',
outletName: '',
period: ExclusiveSummaryPeriod.empty(),
summary: ExclusiveSummarySummary.empty(),
reimburse: ExclusiveSummaryReimburse.empty(),
@@ -79,12 +81,11 @@ class ExclusiveSummaryReimburse with _$ExclusiveSummaryReimburse {
required int totalReimburse,
}) = _ExclusiveSummaryReimburse;
factory ExclusiveSummaryReimburse.empty() =>
const ExclusiveSummaryReimburse(
totalCost: 0,
excludedSalaryStaff: 0,
totalReimburse: 0,
);
factory ExclusiveSummaryReimburse.empty() => const ExclusiveSummaryReimburse(
totalCost: 0,
excludedSalaryStaff: 0,
totalReimburse: 0,
);
}
@freezed
@@ -5,6 +5,7 @@ class PaymentMethodAnalytic with _$PaymentMethodAnalytic {
const factory PaymentMethodAnalytic({
required String organizationId,
required String outletId,
required String outletName,
required String dateFrom,
required String dateTo,
required String groupBy,
@@ -15,6 +16,7 @@ class PaymentMethodAnalytic with _$PaymentMethodAnalytic {
factory PaymentMethodAnalytic.empty() => PaymentMethodAnalytic(
organizationId: '',
outletId: '',
outletName: '',
dateFrom: '',
dateTo: '',
groupBy: '',
@@ -5,6 +5,7 @@ class ProductAnalytic with _$ProductAnalytic {
const factory ProductAnalytic({
required String organizationId,
required String outletId,
required String outletName,
required String dateFrom,
required String dateTo,
required List<ProductAnalyticData> data,
@@ -13,6 +14,7 @@ class ProductAnalytic with _$ProductAnalytic {
factory ProductAnalytic.empty() => const ProductAnalytic(
organizationId: '',
outletId: '',
outletName: '',
dateFrom: '',
dateTo: '',
data: [],
@@ -24,22 +26,40 @@ class ProductAnalyticData with _$ProductAnalyticData {
const factory ProductAnalyticData({
required String productId,
required String productName,
required String productSku,
required int productPrice,
required String categoryId,
required String categoryName,
required int categoryOrder,
required int quantitySold,
required int revenue,
required double averagePrice,
required int orderCount,
required int standardHppPerUnit,
required int standardHppTotal,
required int fifoHppPerUnit,
required int fifoHppTotal,
required int movingAverageHppPerUnit,
required int movingAverageHppTotal,
}) = _ProductAnalyticData;
factory ProductAnalyticData.empty() => const ProductAnalyticData(
productId: '',
productName: '',
productSku: '',
productPrice: 0,
categoryId: '',
categoryName: '',
categoryOrder: 0,
quantitySold: 0,
revenue: 0,
averagePrice: 0.0,
orderCount: 0,
standardHppPerUnit: 0,
standardHppTotal: 0,
fifoHppPerUnit: 0,
fifoHppTotal: 0,
movingAverageHppPerUnit: 0,
movingAverageHppTotal: 0,
);
}
@@ -5,6 +5,7 @@ class SalesAnalytic with _$SalesAnalytic {
const factory SalesAnalytic({
required String organizationId,
required String outletId,
required String outletName,
required DateTime dateFrom,
required DateTime dateTo,
required String groupBy,
@@ -15,6 +16,7 @@ class SalesAnalytic with _$SalesAnalytic {
factory SalesAnalytic.empty() => SalesAnalytic(
organizationId: '',
outletId: '',
outletName: '',
dateFrom: DateTime.fromMillisecondsSinceEpoch(0),
dateTo: DateTime.fromMillisecondsSinceEpoch(0),
groupBy: '',