LMSN-191
Data corporate & member linking ke client portal
This commit is contained in:
@@ -13,6 +13,7 @@ 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\DataMemberResource;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CorporateMemberController extends Controller
|
||||
{
|
||||
@@ -47,7 +48,7 @@ class CorporateMemberController extends Controller
|
||||
|
||||
public function show($corporate_id, $person_id)
|
||||
{
|
||||
$data = Member::with(['claims', 'person', 'employeds', 'currentPlan.benefits'])
|
||||
$data = Member::with(['claims', 'person', 'employeds', 'currentPlan.benefits', 'person.currentAddress'])
|
||||
->where('person_id', $person_id)
|
||||
->whereHas('employeds', function ($query) use ($corporate_id) {
|
||||
$query->where('corporate_id', $corporate_id);
|
||||
@@ -57,6 +58,40 @@ class CorporateMemberController extends Controller
|
||||
$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')
|
||||
->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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace Modules\Client\Http\Controllers\Api;
|
||||
|
||||
use App\Models\Person;
|
||||
use App\Models\Member;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
@@ -29,4 +30,36 @@ class DataController extends Controller
|
||||
return response()->json(['error' => 'Failed to update data'], 500);
|
||||
}
|
||||
}
|
||||
|
||||
public function updateFamily(Request $request)
|
||||
{
|
||||
try {
|
||||
// Ambil data keluarga dari payload
|
||||
$familyData = $request->json()->all();
|
||||
|
||||
// Loop melalui data keluarga
|
||||
foreach ($familyData as $familyMember) {
|
||||
// Ambil ID anggota keluarga dari payload
|
||||
$person_id = $familyMember['person_id'];
|
||||
|
||||
// Perbarui data anggota keluarga sesuai dengan payload
|
||||
Member::where('person_id', $person_id)->update([
|
||||
'name' => $familyMember['name'],
|
||||
'email' => $familyMember['email'],
|
||||
]);
|
||||
|
||||
Person::where('id', $person_id)->update([
|
||||
'name' => $familyMember['name'],
|
||||
'email' => $familyMember['email'],
|
||||
'phone' => $familyMember['phone'],
|
||||
]);
|
||||
}
|
||||
|
||||
// Respon sukses jika pembaruan berhasil
|
||||
return response()->json([$person_id => 'Data keluarga berhasil diperbarui'], 200);
|
||||
} catch (\Exception $e) {
|
||||
// Tangani kesalahan jika ada yang terjadi
|
||||
return response()->json(['error' => 'Gagal memperbarui data keluarga: ' . $e->getMessage()], 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user