update penjagaan limit

This commit is contained in:
2024-07-01 14:42:56 +07:00
parent 97b1b841d3
commit de62cfff31
2 changed files with 6 additions and 6 deletions

View File

@@ -540,7 +540,7 @@ class Helper
// Menghitung jumlah total approved dan mengkategorikan berdasarkan benefit_id
$amountApprovedByBenefit = [];
foreach($benefitData as $benefit) {
if ($benefit['limit_amount'] != 999999999) {
if ($benefit['limit_amount'] != 999999999 || $benefit['limit_amount_plan'] != 999999999) {
if ($benefit['family_plan'] == 'S' || $benefit['family_plan'] == 'F'){ // Menghitung usage per family
$memberFamilys = Helper::getMemberFamily($id);
$usageLogs = 0;
@@ -558,17 +558,17 @@ class Helper
// Tambahkan kondisi lainnya jika diperlukan
];
if (array_key_exists($benefit['max_frequency_period'], $periods)) {
// if (array_key_exists($benefit['max_frequency_period'], $periods)) {
$usageLogs = RequestLogBenefit::query()
->whereHas('requestLog', function ($query) use ($benefit, $memberFamilys, $periods) {
$period = $periods[$benefit['max_frequency_period']];
// $period = $periods[$benefit['max_frequency_period']];
$query->where('benefit_id', $benefit['id'])
// ->where('submission_date', '>=', $period['start'])
// ->where('submission_date', '<=', $period['end'])
->whereIn('member_id', $memberFamilys);
})
->sum('amount_approved');
}
// }
// Mengkategorikan sum berdasarkan benefit_id
$amountApprovedByBenefit[$benefit['id']] = $usageLogs;
} else { // Menghitung usage permember

View File

@@ -208,6 +208,7 @@ class CorporateMemberService
return RequestLog::query()
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
->leftJoin('corporate_employees', 'request_logs.member_id', '=', 'corporate_employees.member_id')
// ->joinMemberPlans('left')
// ->joinPlans('left')
// ->with(['currentPlan', 'person'])
@@ -215,6 +216,7 @@ class CorporateMemberService
// ->whereHas('currentCorporate', function (Builder $query) use ($corporateId) {
// // $query->where('corporate_id', $corporateId);
// })
->where('corporate_employees.corporate_id', $corporateId)
->when($request->input('search'), function (Builder $query, $search) {
$query->where(function (Builder $query) use ($search) {
$query->orWhere('members.member_id', 'like', "%" . $search . "%")
@@ -261,8 +263,6 @@ class CorporateMemberService
// ->selectRaw("(select sum(`claims`.`total_claim`) from `claims` where `members`.`id` = `claims`.`member_id` AND `claims`.`deleted_at` IS NULL) AS `claims_sum_total_claim`")
->groupBy('member_id')
->paginate($limit);
}
public function getAllMemberEmployeeData(int $corporateId, Request $request)