Fix Employee Data - Client Portal

This commit is contained in:
Muhammad Fajar
2024-01-06 11:54:34 +07:00
parent 2e852f7203
commit 562f3121c5
2 changed files with 100 additions and 114 deletions

View File

@@ -6,7 +6,6 @@ use App\Helpers\Helper;
use App\Models\Member;
use App\Models\Claim;
use App\Models\ClaimRequest;
use App\Models\CorporateEmployee;
use App\Services\CorporateMemberService;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
@@ -18,11 +17,8 @@ use Modules\Client\Transformers\Dashboard\MemberResources as ClaimSubmitMemberRe
use Modules\Client\Transformers\Dashboard\MemberResources as DashboardMemberResources;
use Modules\Client\Transformers\Dashboard\MemberAlarmCenterResources as DashboardMemberAlarmResources;
use Modules\Client\Transformers\Dashboard\MemberEmployeeDataResources as DashboardMemberEmployeeDataResources;
use Modules\Client\Transformers\DataMemberResource;
use Illuminate\Support\Facades\DB;
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
use Modules\Client\Transformers\EmployeeData\UserProfile\DataMemberResource as EmployeeDataProfileMemberResource;
use Modules\Internal\Services\MemberEnrollmentService;
class CorporateMemberController extends Controller
@@ -62,53 +58,23 @@ class CorporateMemberController extends Controller
}
}
public function show($corporate_id, $person_id)
public function show(int $corporate_id, int $person_id)
{
$data = Member::with(['claims', 'person', 'employeds', 'currentPlan.benefits', 'person.currentAddress'])
$data = Member::query()
->with(['person'])
->where('person_id', $person_id)
->whereHas('employeds', function ($query) use ($corporate_id) {
->whereHas('currentEmployeds', function ($query) use ($corporate_id) {
$query->where('corporate_id', $corporate_id);
})
->first();
->firstOrFail();
$totalClaims = $data->claims->sum('total_claim');
$data->total_claims = $totalClaims;
//Get Family
$data_family = DB::table('members')
->join('persons', 'members.person_id', '=', 'persons.id')
->select('members.*', 'persons.phone')
// Get Families
$data->families = Member::query()
->with(['person'])
->where('principal_id', $data->member_id)
->get();
if ($data_family->isEmpty()) {
$principal_id = DB::table('members')
->where('member_id', $data->member_id)
->select('principal_id')
->first();
$data_family = DB::table('members')
->join('persons', 'members.person_id', '=', 'persons.id')
->select('members.*', 'persons.phone')
->where('principal_id', $principal_id->principal_id)
->where('members.member_id', '<>', $data->member_id)
->orWhere('members.member_id', $principal_id->principal_id)
->get();
}
$data->family = $data_family;
//Claim History
$data_claim_history = DB::table('claim_requests')
->join('claims', 'claims.claim_request_id', '=', 'claim_requests.id')
->join('claim_items', 'claim_items.claim_id', '=', 'claims.id')
->join('benefits', 'benefits.id', '=', 'claim_items.claim_itemable_id')
->select('claim_requests.status', 'claim_requests.submission_date', 'benefits.description')
->where('claim_requests.member_id', $data->id)
->get();
$data->claim_history = $data_claim_history;
return response()->json(DataMemberResource::make($data));
return response()->json(EmployeeDataProfileMemberResource::make($data));
}
public function generateMemberList($corporate_id)