Claim Services
This commit is contained in:
@@ -565,9 +565,162 @@ class ClaimController extends Controller
|
||||
->get();
|
||||
$results['request_documents'] = $request_documents;
|
||||
|
||||
$claim_services = DB::table('claim_services')
|
||||
->where('claim_services.claim_request_id', $claim_id)
|
||||
->select(
|
||||
'claim_services.id',
|
||||
'claim_services.addmission_date',
|
||||
'claim_services.discharge_date',
|
||||
'claim_services.service_id',
|
||||
DB::raw('(SELECT services.name FROM services WHERE id = claim_services.service_id LIMIT 1) AS name_services'),
|
||||
'claim_services.hospital_id',
|
||||
DB::raw('(SELECT corporate_hospitals.name FROM corporate_hospitals WHERE id = claim_services.hospital_id LIMIT 1) AS name_hospitals'),
|
||||
)
|
||||
->groupBy('claim_services.id')
|
||||
->first();
|
||||
$results['claim_services'] = $claim_services;
|
||||
|
||||
$claim_service_benefits = DB::table('claim_service_benefits')
|
||||
->where('claim_service_id', $claim_services->id)
|
||||
->select(
|
||||
'claim_service_benefits.claim_service_id',
|
||||
'claim_service_benefits.benefit_id',
|
||||
DB::raw('(SELECT benefits.description FROM benefits WHERE id = claim_service_benefits.benefit_id LIMIT 1) AS name_benefits')
|
||||
)
|
||||
->get();
|
||||
foreach ($claim_service_benefits as $item) {
|
||||
$claimServiceId = $item->claim_service_id;
|
||||
$nameBenefits = $item->name_benefits;
|
||||
$benefitId = $item->benefit_id."";
|
||||
if (!isset($output[$claimServiceId])) {
|
||||
$output[$claimServiceId] = (object)[
|
||||
"claim_service_id" => $claimServiceId,
|
||||
"name_benefits" => $nameBenefits,
|
||||
"benefit_id" => [$benefitId],
|
||||
];
|
||||
} else {
|
||||
$output[$claimServiceId]->name_benefits .= ", " . $nameBenefits;
|
||||
$output[$claimServiceId]->benefit_id[] = $benefitId."";
|
||||
}
|
||||
}
|
||||
$output = array_values($output);
|
||||
|
||||
$results['claim_service_benefits'] = $output[0];
|
||||
|
||||
return Helper::responseJson($results);
|
||||
}
|
||||
|
||||
public function getServices($claim_id)
|
||||
{
|
||||
//Corporate_id
|
||||
$corporate_id = DB::table('claim_requests')
|
||||
->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id')
|
||||
->leftJoin('members', 'claim_requests.member_id', '=', 'members.id')
|
||||
->leftJoin('corporate_employees', 'members.id', '=', 'corporate_employees.member_id')
|
||||
->leftJoin('corporates', 'corporate_employees.corporate_id', '=', 'corporates.id')
|
||||
->where('claim_requests.id', '=', $claim_id)
|
||||
->select('corporates.id')
|
||||
->first();
|
||||
|
||||
//Service Type
|
||||
$service_type = DB::table('corporate_services')
|
||||
->leftJoin('services','corporate_services.service_code', 'services.code')
|
||||
->where('corporate_services.corporate_id', $corporate_id->id)
|
||||
->select('services.name', 'services.code', 'services.id')
|
||||
->get();
|
||||
$results['service_type'] = $service_type;
|
||||
|
||||
//Benefit Name
|
||||
$benefit_name = DB::table('corporate_benefits')
|
||||
->leftJoin('benefits', 'corporate_benefits.benefit_id', 'benefits.id')
|
||||
->where('corporate_benefits.corporate_id', $corporate_id->id)
|
||||
->select('benefits.code', 'benefits.description', 'benefits.id')
|
||||
->get();
|
||||
$results['benefit_name'] = $benefit_name;
|
||||
|
||||
//Hospital
|
||||
$hospital = DB::table('corporate_hospitals')
|
||||
->where('corporate_hospitals.corporate_id', $corporate_id->id)
|
||||
->where('corporate_hospitals.active', 1)
|
||||
->select('corporate_hospitals.code', 'corporate_hospitals.name', 'corporate_hospitals.id')
|
||||
->get();
|
||||
$results['hospital'] = $hospital;
|
||||
|
||||
return Helper::responseJson($results);
|
||||
}
|
||||
|
||||
public function saveServices(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'claim_request_id' => 'required',
|
||||
'dateAdd' => 'required',
|
||||
'dateDisc' => 'required',
|
||||
'serviceType' => 'required',
|
||||
'hospital' => 'required',
|
||||
'benefitName' => 'required',
|
||||
]);
|
||||
if($request->flagAddService === 'add')
|
||||
{
|
||||
$data = [
|
||||
'claim_request_id' => $request->claim_request_id,
|
||||
'service_id' => $request->serviceType,
|
||||
'hospital_id' => $request->hospital,
|
||||
'addmission_date' => $request->dateAdd,
|
||||
'discharge_date' => $request->dateDisc,
|
||||
'created_by' =>auth()->user()->id,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => null,
|
||||
];
|
||||
$id = DB::table('claim_services')
|
||||
->insertGetId($data);
|
||||
foreach ($request->benefitName as $value)
|
||||
{
|
||||
DB::table('claim_service_benefits')
|
||||
->insert([
|
||||
'claim_service_id' => $id,
|
||||
'benefit_id' => $value,
|
||||
'created_by' =>auth()->user()->id,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
else if($request->flagAddService === 'edit')
|
||||
{
|
||||
$data = [
|
||||
'claim_request_id' => $request->claim_request_id,
|
||||
'service_id' => $request->serviceType,
|
||||
'hospital_id' => $request->hospital,
|
||||
'addmission_date' => $request->dateAdd,
|
||||
'discharge_date' => $request->dateDisc,
|
||||
'created_by' =>auth()->user()->id,
|
||||
'created_at' => null,
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
DB::table('claim_services')
|
||||
->where('claim_services.id', $request->idService)
|
||||
->update($data);
|
||||
|
||||
DB::table('claim_service_benefits')
|
||||
->where('claim_service_id', $request->idService)
|
||||
->delete();
|
||||
|
||||
foreach ($request->benefitName as $value)
|
||||
{
|
||||
DB::table('claim_service_benefits')
|
||||
->insert([
|
||||
'claim_service_id' => $request->idService,
|
||||
'benefit_id' => $value,
|
||||
'created_by' =>auth()->user()->id,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
return Helper::responseJson([]);
|
||||
}
|
||||
|
||||
public function requestDocuments(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
|
||||
Reference in New Issue
Block a user