Add stock report features r
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
using Distribution.Models;
|
||||
|
||||
namespace Distribution.Features.Vehicle;
|
||||
|
||||
// ── Repository projections ─────────────────────────────────────────────────
|
||||
|
||||
public record VehicleBalanceRow(
|
||||
Guid ItemId, string Sku, string Name, string Category, string Uom,
|
||||
decimal? SalePrice, decimal Quantity, DateTime UpdatedAt);
|
||||
|
||||
public record VehicleMovementRow(
|
||||
Guid Id, Guid ItemId, string ItemName, string Sku,
|
||||
Guid? FromLocationId, LocationType? FromLocationType,
|
||||
Guid? ToLocationId, LocationType? ToLocationType,
|
||||
decimal Quantity, MovementType Type, string? ReasonCode, Guid? ReferenceId,
|
||||
DateTime CreatedAt, Guid CreatedBy);
|
||||
|
||||
public record VehicleRideRow(
|
||||
Guid Id, RideStatus Status, Guid DriverProfileId, string DriverName,
|
||||
int MeterStart, int MeterEnd, DateTime? StartedAt, DateTime? ClosedAt, DateTime CreatedAt,
|
||||
CancelRequestType? CancelType, string? CancelReason,
|
||||
int Tasks, int Delivered, int Failed);
|
||||
|
||||
public record VehicleTaskRow(
|
||||
Guid RideId, DeliveryTaskStatus Status, Guid StoreId, string StoreName,
|
||||
decimal DeliveredValue, DateTime Date);
|
||||
|
||||
public record VehicleCollectionRow(PaymentMethod Method, decimal Amount, int Count);
|
||||
|
||||
public record VehicleReturnTotals(int ReturnCount, decimal CreditValue, decimal Units);
|
||||
|
||||
public record VehicleDriverRow(
|
||||
Guid Id, string Name, string LicenseNumber, DateTime LicenseExpiry, DateTime MedicalClearanceExpiry, bool IsActive);
|
||||
|
||||
public record VehicleNamedRef(Guid Id, string Name);
|
||||
|
||||
// ── Response ───────────────────────────────────────────────────────────────
|
||||
|
||||
public record VehicleDashboardPeriod(DateTime From, DateTime To);
|
||||
|
||||
public record VehicleDashboardKpis(
|
||||
int Rides, int ClosedRides, int CancelledRides, decimal DistanceKm,
|
||||
int Deliveries, int DeliveredCount, int FailedCount, int PendingCount, decimal SuccessRatePercent,
|
||||
decimal DeliveredValue, decimal Collections,
|
||||
decimal StockOnBoardUnits, decimal StockOnBoardValue,
|
||||
decimal UnitsLoaded, decimal UnitsSold);
|
||||
|
||||
public record VehicleDashboardStockRow(
|
||||
Guid ItemId, string Sku, string Name, string Category, string Uom,
|
||||
decimal Quantity, decimal Value, DateTime UpdatedAt);
|
||||
|
||||
public record VehicleDashboardRide(
|
||||
Guid Id, RideStatus Status, string DriverName, DateTime? StartedAt, DateTime? ClosedAt, DateTime CreatedAt,
|
||||
decimal DistanceKm, int Tasks, int Delivered, int Failed, CancelRequestType? CancelType, string? CancelReason);
|
||||
|
||||
public record VehicleDashboardDailyDelivery(string Date, int Delivered, int Failed);
|
||||
|
||||
public record VehicleDashboardDailyMovement(string Date, decimal In, decimal Out);
|
||||
|
||||
public record VehicleDashboardMovementType(MovementType Type, string Direction, decimal Units, int Count);
|
||||
|
||||
public record VehicleDashboardLedgerRow(
|
||||
Guid Id, DateTime CreatedAt, Guid ItemId, string ItemName, string Sku,
|
||||
MovementType Type, string Direction, decimal Quantity,
|
||||
string FromName, string ToName, Guid? ReferenceId, string? ReferenceKind,
|
||||
string? ReasonCode, string CreatedByName);
|
||||
|
||||
public record VehicleDashboardCancelReason(CancelRequestType Type, int Count);
|
||||
|
||||
public record VehicleDashboardCollection(PaymentMethod Method, decimal Amount, int Count);
|
||||
|
||||
public record VehicleDashboardReturns(int ReturnCount, decimal CreditValue, decimal ReturnedUnits, decimal CustomerReturnUnitsOnVehicle);
|
||||
|
||||
public record VehicleDashboardTopStore(Guid StoreId, string StoreName, int Deliveries, decimal Value);
|
||||
|
||||
public record VehicleDashboardDriver(
|
||||
Guid Id, string Name, string LicenseNumber, DateTime LicenseExpiry, DateTime MedicalClearanceExpiry,
|
||||
bool IsActive, int Rides, decimal DistanceKm, DateTime? LastRideAt);
|
||||
|
||||
public record VehicleDashboardCurrentRide(
|
||||
Guid Id, string DriverName, DateTime? StartedAt, int MeterStart, int Tasks, int Delivered, int Failed);
|
||||
|
||||
public record VehicleDashboardResponse(
|
||||
VehicleResponse Vehicle,
|
||||
VehicleNamedRef? DefaultWarehouse,
|
||||
VehicleNamedRef? MobileWarehouse,
|
||||
VehicleDashboardCurrentRide? CurrentRide,
|
||||
VehicleDashboardPeriod Period,
|
||||
VehicleDashboardKpis Kpis,
|
||||
List<VehicleDashboardStockRow> StockOnBoard,
|
||||
List<VehicleDashboardRide> Rides,
|
||||
List<VehicleDashboardDailyDelivery> DailyDeliveries,
|
||||
List<VehicleDashboardDailyMovement> DailyMovement,
|
||||
List<VehicleDashboardMovementType> MovementByType,
|
||||
List<VehicleDashboardLedgerRow> Ledger,
|
||||
List<VehicleDashboardCancelReason> CancelReasons,
|
||||
List<VehicleDashboardCollection> CollectionsByMethod,
|
||||
VehicleDashboardReturns Returns,
|
||||
List<VehicleDashboardTopStore> TopStores,
|
||||
List<VehicleDashboardDriver> Drivers);
|
||||
Reference in New Issue
Block a user