Merge remote-tracking branch 'origin/staging' into origin/production
This commit is contained in:
@@ -56,6 +56,7 @@ class ClaimController extends Controller
|
||||
$query->where(function ($query) use ($search) {
|
||||
$query->orWhere('members.name', 'like', "%" . $search . "%");
|
||||
$query->orWhere('claim_requests.code', 'like', "%" . $search . "%");
|
||||
$query->orWhere('request_logs.code', 'like', "%" . $search . "%");
|
||||
$query->orWhere('members.member_id', 'like', "%" . $search . "%");
|
||||
});
|
||||
})
|
||||
@@ -84,6 +85,7 @@ class ClaimController extends Controller
|
||||
->select(
|
||||
'claim_requests.id',
|
||||
'request_logs.id AS id_log',
|
||||
'request_logs.code AS code_log',
|
||||
'claim_requests.code as code',
|
||||
'members.name',
|
||||
DB::raw('
|
||||
@@ -343,6 +345,7 @@ class ClaimController extends Controller
|
||||
$header = [
|
||||
'No',
|
||||
'Code',
|
||||
'Code LOG',
|
||||
'Name',
|
||||
'Member ID',
|
||||
'Date Submission',
|
||||
@@ -372,6 +375,7 @@ class ClaimController extends Controller
|
||||
$query->where(function ($query) use ($search) {
|
||||
$query->orWhere('members.name', 'like', "%" . $search . "%");
|
||||
$query->orWhere('claim_requests.code', 'like', "%" . $search . "%");
|
||||
$query->orWhere('request_logs.code', 'like', "%" . $search . "%");
|
||||
$query->orWhere('members.member_id', 'like', "%" . $search . "%");
|
||||
});
|
||||
})
|
||||
@@ -401,6 +405,7 @@ class ClaimController extends Controller
|
||||
'claim_requests.id',
|
||||
'request_logs.id AS id_log',
|
||||
'claim_requests.code as code',
|
||||
'request_logs.code as code_log',
|
||||
'members.name',
|
||||
DB::raw('
|
||||
(SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id
|
||||
@@ -444,6 +449,7 @@ class ClaimController extends Controller
|
||||
$rowData = [
|
||||
$no,
|
||||
$item->code,
|
||||
$item->code_log,
|
||||
$item->name,
|
||||
$item->member_id,
|
||||
$item->created_at,
|
||||
@@ -474,6 +480,7 @@ class ClaimController extends Controller
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
$gr_total,
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
|
||||
@@ -41,42 +41,40 @@ class ClaimRequestController extends Controller
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$claimRequests = ClaimRequest::query()
|
||||
->when($request->search, function ($q, $search) {
|
||||
$q->where('code', 'LIKE', "%".$search."%");
|
||||
$q->orWhereHas('member', function ($subQuery) use ($search) {
|
||||
$subQuery->where('name', 'LIKE', "%".$search."%");
|
||||
});
|
||||
})
|
||||
->when($request->start_date, function ($q, $startDate) {
|
||||
$q->where('submission_date', '>', Carbon::parse($startDate)->subDay());
|
||||
})
|
||||
->when($request->end_date, function ($q, $endDate) use ($request) {
|
||||
// Jika tanggal akhir diberikan dan tidak sama dengan tanggal mulai
|
||||
if ($request->start_date != $request->end_date) {
|
||||
$q->where('submission_date', '<', Carbon::parse($endDate)->addDay());
|
||||
} else {
|
||||
$q->where('submission_date', '<', Carbon::parse($endDate)->addDay());
|
||||
}
|
||||
})
|
||||
|
||||
->when($request->service_code, function ($q, $serviceCode) {
|
||||
$q->whereIn('service_code', $serviceCode);
|
||||
})
|
||||
->when($request->orderBy, function ($q, $orderBy) use ($request) {
|
||||
if (in_array($orderBy, ['submission_date', 'code'])) {
|
||||
$q->orderBy($orderBy, $request->order);
|
||||
}
|
||||
})
|
||||
->when(empty($request->orderBy), function ($q) {
|
||||
$q->orderBy('created_at', 'desc');
|
||||
})
|
||||
->when($request->status, function($q, $status) {
|
||||
$q->where('status', $status);
|
||||
})
|
||||
->with(['member', 'files', 'service', 'member.currentPolicy'])
|
||||
->paginate();
|
||||
|
||||
$claimRequests = ClaimRequest::with(['requestLog', 'member', 'files', 'service', 'member.currentPolicy'])
|
||||
->when($request->search, function ($q, $search) {
|
||||
$q->where(function ($query) use ($search) {
|
||||
$query->where('code', 'LIKE', "%".$search."%")
|
||||
->orWhereHas('member', function ($subQuery) use ($search) {
|
||||
$subQuery->where('name', 'LIKE', "%".$search."%");
|
||||
})
|
||||
->orWhereHas('requestLog', function ($subQuery) use ($search) {
|
||||
$subQuery->where('code', 'LIKE', "%".$search."%");
|
||||
});
|
||||
});
|
||||
})
|
||||
->when($request->start_date, function ($q, $startDate) {
|
||||
$q->where('submission_date', '>=', Carbon::parse($startDate));
|
||||
})
|
||||
->when($request->end_date, function ($q, $endDate) {
|
||||
$q->where('submission_date', '<=', Carbon::parse($endDate));
|
||||
})
|
||||
->when($request->service_code, function ($q, $serviceCode) {
|
||||
$q->whereIn('service_code', (array) $serviceCode);
|
||||
})
|
||||
->when($request->orderBy, function ($q, $orderBy) use ($request) {
|
||||
$order = in_array($request->order, ['asc', 'desc']) ? $request->order : 'desc';
|
||||
if (in_array($orderBy, ['submission_date', 'code'])) {
|
||||
$q->orderBy($orderBy, $order);
|
||||
}
|
||||
}, function ($q) {
|
||||
$q->orderBy('created_at', 'desc');
|
||||
})
|
||||
->when($request->status, function($q, $status) {
|
||||
$q->where('status', $status);
|
||||
})
|
||||
->paginate();
|
||||
|
||||
return Helper::paginateResources(ClaimRequestResource::collection($claimRequests));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user