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;
}
@@ -0,0 +1,51 @@
<?php
namespace Modules\Dashboard\Repositories\Contracts;
interface PKJDashboardRepositoryInterface
{
/**
* Get total PKJ asset entitlement
*/
public function getTotalEntitlement(array $filters = [], $user = null): int;
/**
* Get total PKJ asset holdings
*/
public function getTotalHoldings(array $filters = [], $user = null): int;
/**
* Get PKJ asset holdings grouped by status
*/
public function getHoldingsByStatus(array $filters = [], $user = null): array;
/**
* Get PKJ asset holdings by specific status
*/
public function getHoldingsBySpecificStatus(string $status, array $filters = [], $user = null): array;
/**
* Get PKJ monthly trends
*/
public function getMonthlyTrends(array $filters = [], $user = null): array;
/**
* Get PKJ holdings by category
*/
public function getHoldingsByCategory(array $filters = [], $user = null): array;
/**
* Get PKJ category metrics (KEUPAYAAN, KESIAGAAN, SERVISIBILITI)
*/
public function getCategoryMetrics(int $categoryId, array $filters = [], $user = null): array;
/**
* Get PKJ category status breakdown
*/
public function getCategoryStatusBreakdown(int $categoryId, array $filters = [], $user = null): array;
/**
* Get PKJ asset details by category and status
*/
public function getAssetDetailsByCategoryAndStatus(int $categoryId, string $status, array $filters = [], $user = null): array;
}