52 lines
1.5 KiB
PHP
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;
|
|
}
|