Files
aso/Modules/Client/Http/Controllers/Api/ClaimReportController.php
Muhammad Fajar 52783b191a commit
2023-09-27 17:49:36 +07:00

53 lines
1.8 KiB
PHP

<?php
namespace Modules\Client\Http\Controllers\Api;
use App\Helpers\Helper;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\ClaimRequest;
class ClaimReportController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function claimStatus($corporateId)
{
$requesteds = ClaimRequest::query()
->whereHas('member', function ($query) use ($corporateId) {
$query->whereHas('employeds', function ($corporateEmployee) use ($corporateId) {
$corporateEmployee->where('corporate_id', $corporateId);
});
})
->where('status', 'requested')
->get();
$approveds = ClaimRequest::query()
->whereHas('member', function ($query) use ($corporateId) {
$query->whereHas('employeds', function ($corporateEmployee) use ($corporateId) {
$corporateEmployee->where('corporate_id', $corporateId);
});
})
->where('status', 'approved')
->get();
$rejecteds = ClaimRequest::query()
->whereHas('member', function ($query) use ($corporateId) {
$query->whereHas('employeds', function ($corporateEmployee) use ($corporateId) {
$corporateEmployee->where('corporate_id', $corporateId);
});
})
->whereHas('claim', fn ($query) => $query->where('status', 'declined'))
->where('status', 'approved')
->get();
return Helper::responseJson([
'requesteds' => count($requesteds),
'approveds' => count($approveds),
'rejecteds' => count($rejecteds)
]);
}
}