Files
My-KOPKB/be/Modules/Dashboard/Repositories/Contracts/PKJDashboardRepositoryInterface.php
T
ISMAIL MASSERAN 94ecbe5887 first init
2026-06-08 11:37:14 +08:00

52 lines
1.5 KiB
PHP

<?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;
}