import type { ProductType } from "@/types/Product"; export type GaoProductChartReq = { storeId?: string; productId?: string; skuId?: string; categoryId?: string; productType?: ProductType; beginAt?: number; endAt?: number; topN?: number; }; export type GaoSalesOrderChartReq = { storeId?: string; customerId?: string; productId?: string; skuId?: string; orderType?: "PACKAGE" | "DIRECT_PRODUCT"; status?: "ACTIVE" | "FULFILLED" | "CANCELLED"; paymentStatus?: "UNPAID" | "PARTIALLY_PAID" | "PAID"; beginAt: number; endAt: number; topN?: number; }; export type GaoProductSalesDailyStatView = { dateValue?: number; orderCount?: number; directQuantity?: number; packageQuantity?: number; directBaseQuantity?: number; packageBaseQuantity?: number; directSaleAmount?: number; }; export type GaoProductSalesRankView = { productId?: string; productName?: string; orderCount?: number; directQuantity?: number; packageQuantity?: number; directBaseQuantity?: number; packageBaseQuantity?: number; directSaleAmount?: number; }; export type GaoProductSkuUnitSalesRankView = { productId?: string; productName?: string; skuId?: string; skuUnitId?: string; productUnitId?: string; skuName?: string; specSummary?: string; unitName?: string; orderCount?: number; quantity?: number; baseQuantity?: number; saleAmount?: number; }; export type GaoProductFulfillmentDailyStatView = { dateValue?: number; directQuantity?: number; packageQuantity?: number; directBaseQuantity?: number; packageBaseQuantity?: number; baseQuantity?: number; }; export type GaoProductFulfillmentRankView = { productId?: string; productName?: string; orderCount?: number; directQuantity?: number; packageQuantity?: number; reservedQuantity?: number; fulfilledQuantity?: number; availableQuantity?: number; directBaseQuantity?: number; packageBaseQuantity?: number; reservedBaseQuantity?: number; fulfilledBaseQuantity?: number; availableBaseQuantity?: number; }; export type GaoProductStockMovementDailyStatView = { dateValue?: number; inQuantity?: number; outQuantity?: number; netOnHandQuantity?: number; reserveQuantity?: number; releaseQuantity?: number; }; export type GaoProductStockHealthView = { productId?: string; productName?: string; categoryId?: string | null; categoryName?: string; productType?: ProductType; onHandQuantity?: number; reservedQuantity?: number; availableQuantity?: number; minStockQuantity?: number; lowStock?: number; skuCount?: number; lowStockSkuCount?: number; }; export type GaoProductSkuSalesDailyStatView = { dateValue?: number; skuId?: string; skuCode?: string; skuName?: string; specSummary?: string; productId?: string; productName?: string; orderCount?: number; directBaseQuantity?: number; packageBaseQuantity?: number; directSaleAmount?: number; }; export type GaoProductSkuSalesRankView = { skuId?: string; skuCode?: string; skuName?: string; specSummary?: string; productId?: string; productName?: string; orderCount?: number; directBaseQuantity?: number; packageBaseQuantity?: number; directSaleAmount?: number; }; export type GaoProductSkuFulfillmentDailyStatView = { dateValue?: number; skuId?: string; skuCode?: string; skuName?: string; specSummary?: string; productId?: string; productName?: string; directBaseQuantity?: number; packageBaseQuantity?: number; baseQuantity?: number; }; export type GaoProductSkuFulfillmentRankView = { skuId?: string; skuCode?: string; skuName?: string; specSummary?: string; productId?: string; productName?: string; orderCount?: number; directBaseQuantity?: number; packageBaseQuantity?: number; reservedBaseQuantity?: number; fulfilledBaseQuantity?: number; availableBaseQuantity?: number; }; export type GaoProductSkuStockMovementDailyStatView = { dateValue?: number; skuId?: string; skuCode?: string; skuName?: string; specSummary?: string; productId?: string; productName?: string; inQuantity?: number; outQuantity?: number; netOnHandQuantity?: number; reserveQuantity?: number; releaseQuantity?: number; }; export type GaoProductSkuStockHealthView = { skuId?: string; skuCode?: string; skuName?: string; specSummary?: string; productId?: string; productName?: string; categoryId?: string | null; categoryName?: string; productType?: ProductType; onHandQuantity?: number; reservedQuantity?: number; availableQuantity?: number; minStockQuantity?: number; lowStock?: number; }; export type GaoProductTypeStatView = { productType?: ProductType; productCount?: number; }; export type GaoProductCategoryStatView = { categoryId?: string | null; categoryName?: string; productCount?: number; }; export type GaoSalesOrderDailyStatView = { dateValue?: number; orderCount?: number; saleAmount?: number; paidAmount?: number; pendingPaidAmount?: number; refundedAmount?: number; netPaidAmount?: number; }; export type GaoSalesOrderTypeStatView = { orderType?: "PACKAGE" | "DIRECT_PRODUCT"; orderCount?: number; saleAmount?: number; paidAmount?: number; refundedAmount?: number; netPaidAmount?: number; }; export type GaoSalesOrderPaymentStatView = { paymentStatus?: "UNPAID" | "PARTIALLY_PAID" | "PAID"; orderCount?: number; saleAmount?: number; paidAmount?: number; pendingPaidAmount?: number; unpaidAmount?: number; refundedAmount?: number; }; export type GaoSalesOrderStatusStatView = { status?: "ACTIVE" | "FULFILLED" | "CANCELLED"; orderCount?: number; saleAmount?: number; paidAmount?: number; refundedAmount?: number; }; export type GaoSalesOrderReceivableStatView = { orderCount?: number; saleAmount?: number; paidAmount?: number; pendingPaidAmount?: number; unpaidAmount?: number; refundedAmount?: number; netPaidAmount?: number; }; export type GaoCustomerOrderRankView = { customerId?: string; customerCode?: string; customerName?: string; orderCount?: number; saleAmount?: number; paidAmount?: number; refundedAmount?: number; netPaidAmount?: number; }; export type GaoCustomerOrderProductRankView = { productId?: string; productName?: string; orderCount?: number; directQuantity?: number; packageQuantity?: number; reservedQuantity?: number; fulfilledQuantity?: number; availableQuantity?: number; directSaleAmount?: number; directBaseQuantity?: number; packageBaseQuantity?: number; reservedBaseQuantity?: number; fulfilledBaseQuantity?: number; availableBaseQuantity?: number; }; export type GaoCustomerOrderSkuRankView = { skuId?: string; skuCode?: string; skuName?: string; specSummary?: string; productId?: string; productName?: string; orderCount?: number; directBaseQuantity?: number; packageBaseQuantity?: number; reservedBaseQuantity?: number; fulfilledBaseQuantity?: number; availableBaseQuantity?: number; directSaleAmount?: number; }; export type GaoSalesOrderConsumptionDailyStatView = { dateValue?: number; recordCount?: number; amount?: number; cumulativeAmount?: number; }; export type GaoSalesOrderCalendarStatView = { dateValue?: number; orderCount?: number; saleAmount?: number; netPaidAmount?: number; }; export type GaoCustomerRepeatDailyStatView = { dateValue?: number; customerCount?: number; repeatCustomerCount?: number; repeatOrderCount?: number; }; export type GaoCustomerRepeatIntervalStatView = { intervalDays?: number; customerCount?: number; orderCount?: number; };