first init

This commit is contained in:
ISMAIL MASSERAN
2026-06-08 11:37:14 +08:00
commit 94ecbe5887
1058 changed files with 87732 additions and 0 deletions
@@ -0,0 +1,57 @@
<?php
namespace Modules\Dashboard\Repositories\Contracts;
interface KJCDashboardRepositoryInterface
{
/**
* Get total KJC asset entitlement
*/
public function getTotalEntitlement(array $filters = [], $user = null): int;
/**
* Get total KJC asset holdings
*/
public function getTotalHoldings(array $filters = [], $user = null): int;
/**
* Get KJC asset holdings by status
*/
public function getHoldingsByStatus(array $filters = [], $user = null): array;
/**
* Get KJC asset holdings with pagination
*/
public function getHoldingsPaginated(array $filters = [], int $perPage = 20, $user = null): array;
/**
* Get KJC asset entitlements with pagination
*/
public function getEntitlementsPaginated(array $filters = [], int $perPage = 20, $user = null): array;
/**
* Get KJC asset holdings by specific status
*/
public function getHoldingsBySpecificStatus(string $status, array $filters = [], $user = null): array;
/**
* Get KJC asset holdings grouped by unit
*/
public function getHoldingsByUnit(array $filters = [], $user = null): array;
/**
* Get KJC asset holdings monthly trends
*/
public function getMonthlyTrends(array $filters = [], $user = null): array;
/**
* Get KJC historical metrics (KEUPAYAAN, KESIAGAAN, SERVISIBILITI) by month
*/
public function getHistoricalMetricsByMonth(array $filters = []): array;
/**
* Get KJC asset details by status (paginated).
* When status is '' or 'null', returns assets where status column is NULL (not yet assigned).
*/
public function getAssetDetailsByStatus(string $status, array $filters = [], $user = null): array;
}