Update Claim, Final LOG, Request LOG
This commit is contained in:
@@ -23,7 +23,6 @@ class AuthController extends Controller
|
||||
'email' => $request->email,
|
||||
'password' => $request->password
|
||||
];
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
'email' => 'required|email',
|
||||
'password' => 'required'
|
||||
@@ -39,7 +38,7 @@ class AuthController extends Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
$user = User::with('getOrganization.organization')->where('email', $request->email)->first();
|
||||
$user = User::where('email', $request->email)->first();
|
||||
if (!$user) {
|
||||
return ApiResponse::apiResponse('Not Found', $data, trans('message.not_found'), 404);
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ use Modules\HospitalPortal\Transformers\ClaimRequestShowResource;
|
||||
use PDF;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\HospitalPortal\Helpers\ApiResponse;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class ClaimRequestController extends Controller
|
||||
{
|
||||
@@ -63,90 +64,93 @@ class ClaimRequestController extends Controller
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
$data = [
|
||||
'request_logs_id' => $request->request_logs_id,
|
||||
'member_id' => $request->member_id,
|
||||
'service_code' => $request->service_code
|
||||
];
|
||||
$validator = Validator::make($request->all(), [
|
||||
'request_logs_id' => 'required',
|
||||
'member_id' => 'required',
|
||||
'service_code' => 'required'
|
||||
], [
|
||||
'request_logs_id.required' => trans('Validation.required',['attribute' => 'Request Log ID']),
|
||||
'member_id.required' => trans('Validation.required',['attribute' => 'Member ID']),
|
||||
'service_code.required' => trans('Validation.required',['attribute' => 'Service Code'])
|
||||
]);
|
||||
$code = $this->getNextCode();
|
||||
$member = Member::find($request->member_id);
|
||||
$newClaimRequest = ClaimRequestService::storeClaimRequest(
|
||||
row: [],
|
||||
code: $code,
|
||||
member: $member,
|
||||
paymentType: 'reimbursement',
|
||||
serviceCode: $request->service_code
|
||||
);
|
||||
|
||||
ClaimRequested::dispatch($newClaimRequest);
|
||||
|
||||
// Log History
|
||||
$newClaimRequest->histories()->create([
|
||||
'title' => 'New Claim Requested',
|
||||
'description' => "Claim Requested for Member : {$member->member_id} - ({$member->full_name})",
|
||||
'type' => 'info',
|
||||
'system_origin' => 'hospital-portal'
|
||||
]);
|
||||
|
||||
// Claim Log
|
||||
DB::table('claim_logs')
|
||||
->insert([
|
||||
'claim_request_id' => $newClaimRequest->id,
|
||||
'status' => 'requested',
|
||||
'date' => date('Y-m-d H:i:s'),
|
||||
'description' => "Claim Requested for Member : {$member->member_id} - ({$member->full_name})",
|
||||
'system_origin' => 'hospital-portal',
|
||||
'created_by' => auth()->user()->id,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at'=> date('Y-m-d H:i:s'),
|
||||
]);
|
||||
|
||||
|
||||
if ($request->hasFile('result_files')) {
|
||||
foreach ($request->result_files as $file) {
|
||||
$pathFile = File::storeFile('claim-result', $newClaimRequest->id, $file);
|
||||
$newClaimRequest->files()->updateOrCreate([
|
||||
'type' => 'claim-result',
|
||||
'name' => File::getFileName('claim-result', $newClaimRequest->id, $file),
|
||||
'original_name' => $file->getClientOriginalName(),
|
||||
'extension' => $file->getClientOriginalExtension(),
|
||||
'path' => $pathFile,
|
||||
'created_by' => auth()->user()->id,
|
||||
'updated_by' => auth()->user()->id,
|
||||
]);
|
||||
}
|
||||
if ($validator->fails())
|
||||
{
|
||||
return ApiResponse::apiResponse('Bad Request', $data, $validator->errors(), 400);
|
||||
}
|
||||
|
||||
if ($request->hasFile('diagnosa_files')) {
|
||||
foreach ($request->diagnosa_files as $file) {
|
||||
$pathFile = File::storeFile('claim-diagnosis', $newClaimRequest->id, $file);
|
||||
$newClaimRequest->files()->updateOrCreate([
|
||||
'type' => 'claim-diagnosis',
|
||||
'name' => File::getFileName('claim-diagnosis', $newClaimRequest->id, $file),
|
||||
'original_name' => $file->getClientOriginalName(),
|
||||
'extension' => $file->getClientOriginalExtension(),
|
||||
'path' => $pathFile,
|
||||
'created_by' => auth()->user()->id,
|
||||
'updated_by' => auth()->user()->id,
|
||||
]);
|
||||
else
|
||||
{
|
||||
$check_claim_requests = DB::table('claim_requests')
|
||||
->where('claim_requests.request_log_id', '=', $request->request_logs_id)
|
||||
->first();
|
||||
if(!$check_claim_requests)
|
||||
{
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
$code = $this->getNextCode();
|
||||
$member = Member::find($request->member_id);
|
||||
$newClaimRequest = ClaimRequestService::storeClaimRequest(
|
||||
row: [],
|
||||
code: $code,
|
||||
member: $member,
|
||||
paymentType: 'reimbursement',
|
||||
serviceCode: $request->service_code,
|
||||
requestLogID: $request->request_logs_id,
|
||||
);
|
||||
// Log History
|
||||
$newClaimRequest->histories()->create([
|
||||
'title' => 'New Claim Requested',
|
||||
'description' => "Claim Requested for Member : {$member->member_id} - ({$member->full_name})",
|
||||
'type' => 'info',
|
||||
'system_origin' => 'hospital-portal'
|
||||
]);
|
||||
|
||||
// Claim Log
|
||||
DB::table('claim_logs')
|
||||
->insert([
|
||||
'claim_request_id' => $newClaimRequest->id,
|
||||
'status' => 'requested',
|
||||
'date' => date('Y-m-d H:i:s'),
|
||||
'description' => "Claim Requested for Member : {$member->member_id} - ({$member->full_name})",
|
||||
'system_origin' => 'hospital-portal',
|
||||
'created_by' => auth()->user()->id,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at'=> date('Y-m-d H:i:s'),
|
||||
]);
|
||||
|
||||
|
||||
if ($request->hasFile('additional_files')) {
|
||||
foreach ($request->additional_files as $file) {
|
||||
$pathFile = File::storeFile('additional-files', $newClaimRequest->id, $file);
|
||||
$newClaimRequest->files()->updateOrCreate([
|
||||
'type' => 'additional-files',
|
||||
'name' => File::getFileName('additional-files', $newClaimRequest->id, $file),
|
||||
'original_name' => $file->getClientOriginalName(),
|
||||
'extension' => $file->getClientOriginalExtension(),
|
||||
'path' => $pathFile,
|
||||
'created_by' => auth()->user()->id,
|
||||
'updated_by' => auth()->user()->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
DB::commit();
|
||||
return ApiResponse::apiResponse('Success', $data, trans('Message.success'), 200);
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
DB::rollback();
|
||||
return ApiResponse::apiResponse("Error", $data, $e->getMessage(), 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->hasFile('kondisi_files')) {
|
||||
foreach ($request->kondisi_files as $file) {
|
||||
$pathFile = File::storeFile('claim-kondisi', $newClaimRequest->id, $file);
|
||||
$newClaimRequest->files()->updateOrCreate([
|
||||
'type' => 'claim-kondisi',
|
||||
'name' => File::getFileName('claim-kondisi', $newClaimRequest->id, $file),
|
||||
'original_name' => $file->getClientOriginalName(),
|
||||
'extension' => $file->getClientOriginalExtension(),
|
||||
'path' => $pathFile,
|
||||
'created_by' => auth()->user()->id,
|
||||
'updated_by' => auth()->user()->id,
|
||||
]);
|
||||
else
|
||||
{
|
||||
return ApiResponse::apiResponse("Error", $data, trans('Message.already_exists'), 409);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return ApiResponse::apiResponse("Success", [], trans('message.success'), 200);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -253,12 +257,13 @@ class ClaimRequestController extends Controller
|
||||
->leftJoin('corporate_divisions', 'corporate_employees.division_id', '=', 'corporate_divisions.id')
|
||||
->when($request->input('search'), function ($query, $search) {
|
||||
$query->where(function ($query) use ($search) {
|
||||
$query->orWhere('claim_requests.code', 'like', "%" . $search . "%")
|
||||
$query->orWhere('claim_requests.code', 'like', "%" . ($search == 'outpatient' || $search == 'Outpatient' ? 'OP' : 'IP') . "%")
|
||||
->orWhere('members.member_id', 'like', "%" . $search . "%")
|
||||
->orWhere('members.name', 'like', "%" . $search . "%")
|
||||
->orWhere('corporate_divisions.name', 'like', "%" . $search . "%")
|
||||
->orWhere('claim_requests.status', 'like', "%" . $search . "%")
|
||||
->orWhere('claim_requests.submission_date', 'like', "%" . $search . "%");
|
||||
->orWhere('claim_requests.submission_date', 'like', "%" . $search . "%")
|
||||
->orWhere('claims.status', 'like', "%" . $search . "%");
|
||||
});
|
||||
})
|
||||
->when($request->has('orderBy'), function ($query) use ($request) {
|
||||
@@ -296,7 +301,12 @@ class ClaimRequestController extends Controller
|
||||
|
||||
});
|
||||
})
|
||||
->select('members.id', 'claim_requests.code','members.member_id', 'members.name as full_name', 'corporate_divisions.name AS division_name',
|
||||
->select(
|
||||
'members.id',
|
||||
'claim_requests.code',
|
||||
'members.member_id',
|
||||
'members.name as full_name',
|
||||
'corporate_divisions.name AS division_name',
|
||||
DB::raw('
|
||||
CASE
|
||||
WHEN claim_requests.status = "requested" THEN "requested"
|
||||
@@ -308,7 +318,16 @@ class ClaimRequestController extends Controller
|
||||
ELSE ""
|
||||
END AS status
|
||||
'),
|
||||
'claim_requests.id AS claim_request_id', 'claim_requests.submission_date')
|
||||
'claim_requests.id AS claim_request_id',
|
||||
'claim_requests.submission_date',
|
||||
DB::raw('
|
||||
CASE
|
||||
WHEN service_code = "OP" THEN "Outpatient"
|
||||
WHEN service_code = "IP" THEN "Inpatient"
|
||||
ELSE ""
|
||||
END AS service_type
|
||||
')
|
||||
)
|
||||
->paginate($limit);
|
||||
return response()->json(Helper::paginateResources($results));
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ class MemberController extends Controller
|
||||
->where('members.birth_date', '=', $request->birth_date)
|
||||
->select(
|
||||
'members.id',
|
||||
'members.name',
|
||||
'members.member_id',
|
||||
'member_policies.policy_id',
|
||||
'persons.nik',
|
||||
@@ -54,26 +55,55 @@ class MemberController extends Controller
|
||||
'members.race',
|
||||
'members.relation_with_principal')
|
||||
->first();
|
||||
$res_data['members'] = $members;
|
||||
if($members)
|
||||
{
|
||||
$res_data['members'] = $members;
|
||||
|
||||
$benefits = DB::table('member_plans')
|
||||
->leftJoin('corporate_benefits','corporate_benefits.plan_id', '=', 'member_plans.plan_id')
|
||||
->leftJoin('benefits', 'benefits.id', '=', 'corporate_benefits.benefit_id')
|
||||
->where('member_plans.member_id', '=', $members->id)
|
||||
->select('benefits.description','benefits.code','corporate_benefits.corporate_id')
|
||||
->get();
|
||||
$res_data['benefits'] = $benefits;
|
||||
$benefits = DB::table('member_plans')
|
||||
->leftJoin('corporate_benefits','corporate_benefits.plan_id', '=', 'member_plans.plan_id')
|
||||
->leftJoin('benefits', 'benefits.id', '=', 'corporate_benefits.benefit_id')
|
||||
->leftJoin('plans', 'plans.id', '=', 'member_plans.plan_id')
|
||||
->leftJoin('services', 'services.code', '=', 'plans.service_code')
|
||||
->where('member_plans.member_id', '=', $members->id)
|
||||
->select(
|
||||
'benefits.description',
|
||||
'benefits.code',
|
||||
'corporate_benefits.corporate_id',
|
||||
'plans.service_code'
|
||||
)
|
||||
->get();
|
||||
$res_data['benefits'] = $benefits;
|
||||
|
||||
$services = DB::table('member_plans')
|
||||
->leftJoin('plans', 'plans.id', '=', 'member_plans.plan_id')
|
||||
->leftJoin('services', 'services.code', '=', 'plans.service_code')
|
||||
->where('member_plans.member_id', $members->id)
|
||||
->select('plans.service_code', 'services.name')
|
||||
->get();
|
||||
$res_data['services'] = $services;
|
||||
$services = DB::table('member_plans')
|
||||
->leftJoin('plans', 'plans.id', '=', 'member_plans.plan_id')
|
||||
->leftJoin('services', 'services.code', '=', 'plans.service_code')
|
||||
->where('member_plans.member_id', $members->id)
|
||||
->select('plans.service_code', 'services.name')
|
||||
->get();
|
||||
$res_data['services'] = $services;
|
||||
|
||||
// Group Services
|
||||
$groupServices = [];
|
||||
foreach ($res_data['benefits'] as $benefit) {
|
||||
$serviceCode = $benefit->service_code;
|
||||
$groupServices[$serviceCode][] = [
|
||||
'description' => $benefit->description,
|
||||
'code' => $benefit->code,
|
||||
];
|
||||
}
|
||||
|
||||
$res_data['groupServices'] = $groupServices;
|
||||
|
||||
$res_data['type'] = $request->type;
|
||||
|
||||
|
||||
return ApiResponse::apiResponse("Success", $res_data, trans('Message.success'), 200);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ApiResponse::apiResponse("Data Not Found", $data, trans('Message.not_found'), 404);
|
||||
}
|
||||
|
||||
return ApiResponse::apiResponse("Success", $res_data, trans('Message.success'), 200);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,284 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\HospitalPortal\Http\Controllers\Api;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Modules\HospitalPortal\Helpers\ApiResponse;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\Internal\Http\Controllers\Api\RequestLogController as primeCenterRequestLog;
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\File;
|
||||
|
||||
class RequestLogController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* @return Renderable
|
||||
*/
|
||||
public function requestLog(Request $request)
|
||||
{
|
||||
$data = [
|
||||
'member_id' => $request->member_id,
|
||||
'service_code' => $request->service_code
|
||||
];
|
||||
$validator = Validator::make($request->all(), [
|
||||
'member_id' => 'required',
|
||||
'service_code' => 'required'
|
||||
], [
|
||||
'member_id.required' => trans('Validation.required',['attribute' => 'Member ID']),
|
||||
'service_code.required' => trans('Validation.required',['attribute' => 'Service Code']),
|
||||
]);
|
||||
if ($validator->fails())
|
||||
{
|
||||
return ApiResponse::apiResponse('Bad Request', $data, $validator->errors(), 400);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$requestLogControllerInstance = new PrimeCenterRequestLog();
|
||||
$response = $requestLogControllerInstance->createNew($request);
|
||||
|
||||
if($response->original['statusCode'] == 200)
|
||||
{
|
||||
return ApiResponse::apiResponse("Success", $data, trans('Message.success'), 200);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ApiResponse::apiResponse('Server Error', $data, trans('Message.server_error'), 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getRequestLog(Request $request)
|
||||
{
|
||||
|
||||
$limit = $request->has('per_page') ? $request->input('per_page') : 10;
|
||||
|
||||
$results = DB::table('request_logs')
|
||||
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
|
||||
->when($request->input('search'), function ($query, $search) {
|
||||
$query->where(function ($query) use ($search) {
|
||||
$query->orWhere('request_logs.code', 'like', "%" . $search . "%")
|
||||
->orWhere('members.name', 'like', "%" . $search . "%")
|
||||
->orWhere('request_logs.submission_date', 'like', "%" . $search . "%");
|
||||
});
|
||||
})
|
||||
->when($request->has('orderBy'), function ($query) use ($request) {
|
||||
$orderBy = $request->orderBy;
|
||||
$direction = $request->order ?? 'asc';
|
||||
|
||||
$query->orderBy($orderBy, $direction);
|
||||
})
|
||||
->when($request->input('start_date') && !$request->input('end_date'), function ($query, $start_date) {
|
||||
$query->where(function ($query) use ($start_date) {
|
||||
$query->where('request_logs.submission_date', '<', $start_date);
|
||||
});
|
||||
})
|
||||
->when($request->input('status'), function ($query, $status) {
|
||||
$query->where(function ($query) use ($status) {
|
||||
|
||||
if ($status === 'requested') {
|
||||
$query->where('request_logs.status', '=', 'requested');
|
||||
}
|
||||
|
||||
if ($status === 'reviewed') {
|
||||
$query->where('request_logs.status', '=', 'approved');
|
||||
}
|
||||
|
||||
if ($status === 'approved') {
|
||||
$query->where('request_logs.status', '=', 'approved');
|
||||
}
|
||||
|
||||
if ($status === 'declined') {
|
||||
$query->where('request_logs.status', '=', 'declined');
|
||||
}
|
||||
|
||||
});
|
||||
})
|
||||
->select(
|
||||
'request_logs.id',
|
||||
'request_logs.final_log',
|
||||
'request_logs.code',
|
||||
'members.name as full_name',
|
||||
'members.member_id as no_polis',
|
||||
'members.birth_date',
|
||||
DB::raw('
|
||||
CASE
|
||||
WHEN request_logs.status = "requested" THEN "requested"
|
||||
WHEN request_logs.status = "approved" THEN "approved"
|
||||
WHEN request_logs.status = "declined" THEN "declined"
|
||||
WHEN request_logs.status = "reviewed" THEN "reviewed"
|
||||
ELSE ""
|
||||
END AS status
|
||||
'),
|
||||
'request_logs.submission_date')
|
||||
->paginate($limit);
|
||||
return response()->json(Helper::paginateResources($results));
|
||||
}
|
||||
|
||||
public function getFinalLog(Request $request)
|
||||
{
|
||||
|
||||
$limit = $request->has('per_page') ? $request->input('per_page') : 10;
|
||||
|
||||
$results = DB::table('request_logs')
|
||||
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
|
||||
->when($request->input('search'), function ($query, $search) {
|
||||
$query->where(function ($query) use ($search) {
|
||||
$query->orWhere('request_logs.code', 'like', "%" . $search . "%")
|
||||
->orWhere('members.name', 'like', "%" . $search . "%")
|
||||
->orWhere('request_logs.submission_date', 'like', "%" . $search . "%")
|
||||
->orWhere('request_logs.service_code', 'like', "%" . ($search == 'outpatient' || $search == 'Outpatient' ? 'OP' : 'IP') . "%");
|
||||
});
|
||||
})
|
||||
->when($request->has('orderBy'), function ($query) use ($request) {
|
||||
$orderBy = $request->orderBy;
|
||||
$direction = $request->order ?? 'asc';
|
||||
|
||||
$query->orderBy($orderBy, $direction);
|
||||
})
|
||||
->when($request->input('start_date') && !$request->input('end_date'), function ($query, $start_date) {
|
||||
$query->where(function ($query) use ($start_date) {
|
||||
$query->where('request_logs.submission_date', '<', $start_date);
|
||||
});
|
||||
})
|
||||
->when($request->input('status'), function ($query, $status) {
|
||||
$query->where(function ($query) use ($status) {
|
||||
|
||||
if ($status === 'requested') {
|
||||
$query->where('request_logs.status_final_log', '=', 'requested');
|
||||
}
|
||||
|
||||
if ($status === 'reviewed') {
|
||||
$query->where('request_logs.status_final_log', '=', 'approved');
|
||||
}
|
||||
|
||||
if ($status === 'approved') {
|
||||
$query->where('request_logs.status_final_log', '=', 'approved');
|
||||
}
|
||||
|
||||
if ($status === 'declined') {
|
||||
$query->where('request_logs.status_final_log', '=', 'declined');
|
||||
}
|
||||
|
||||
});
|
||||
})
|
||||
->where('request_logs.final_log', '=', 1)
|
||||
->select(
|
||||
'request_logs.id',
|
||||
'request_logs.final_log',
|
||||
'request_logs.code',
|
||||
'members.name as full_name',
|
||||
'members.member_id as no_polis',
|
||||
'members.id AS member_id',
|
||||
'request_logs.service_code',
|
||||
'members.birth_date',
|
||||
DB::raw('
|
||||
CASE
|
||||
WHEN request_logs.status_final_log = "requested" THEN "requested"
|
||||
WHEN request_logs.status_final_log = "approved" THEN "approved"
|
||||
WHEN request_logs.status_final_log = "declined" THEN "declined"
|
||||
WHEN request_logs.status_final_log = "reviewed" THEN "reviewed"
|
||||
ELSE ""
|
||||
END AS status
|
||||
'),
|
||||
'request_logs.submission_date',
|
||||
DB::raw('
|
||||
CASE
|
||||
WHEN service_code = "OP" THEN "Outpatient"
|
||||
WHEN service_code = "IP" THEN "Inpatient"
|
||||
ELSE ""
|
||||
END AS service_type
|
||||
'),
|
||||
DB::raw('
|
||||
(Select request_log_id FROM claim_requests WHERE claim_requests.request_log_id = request_logs.id LIMIT 1) AS check_claim
|
||||
')
|
||||
)
|
||||
->paginate($limit);
|
||||
return response()->json(Helper::paginateResources($results));
|
||||
}
|
||||
|
||||
public function requestFinalLog(Request $request)
|
||||
{
|
||||
$data = [
|
||||
'request_logs_id' => $request->request_logs_id
|
||||
];
|
||||
$validator = Validator::make($request->all(), [
|
||||
'request_logs_id' => 'required'
|
||||
], [
|
||||
'request_logs_id.required' => trans('Validation.required',['attribute' => 'Request Logs ID'])
|
||||
]);
|
||||
if ($validator->fails())
|
||||
{
|
||||
return ApiResponse::apiResponse('Bad Request', $data, $validator->errors(), 400);
|
||||
}
|
||||
else
|
||||
{
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
DB::table('request_logs')
|
||||
->where('request_logs.id', '=', $request->request_logs_id)
|
||||
->update([
|
||||
'status_final_log' => 'requested',
|
||||
'final_log' => 1
|
||||
]);
|
||||
if ($request->hasFile('result_files')) {
|
||||
foreach ($request->result_files as $file) {
|
||||
$pathFile = File::storeFile('final-log-result', $request->request_logs_id, $file);
|
||||
File::updateOrCreate([
|
||||
'fileable_type' => 'App\Models\RequestLog',
|
||||
'fileable_id' => $request->request_logs_id,
|
||||
'type' => 'final-log-result',
|
||||
'name' => File::getFileName('final-log-result', $request->request_logs_id, $file),
|
||||
'original_name' => $file->getClientOriginalName(),
|
||||
'extension' => $file->getClientOriginalExtension(),
|
||||
'path' => $pathFile,
|
||||
'created_by' => auth()->user()->id,
|
||||
'updated_by' => auth()->user()->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
if ($request->hasFile('diagnosa_files')) {
|
||||
foreach ($request->diagnosa_files as $file) {
|
||||
$pathFile = File::storeFile('final-log-diagnosis', $request->request_logs_id, $file);
|
||||
File::updateOrCreate([
|
||||
'fileable_type' => 'App\Models\RequestLog',
|
||||
'fileable_id' => $request->request_logs_id,
|
||||
'type' => 'final-log-diagnosis',
|
||||
'name' => File::getFileName('final-log-diagnosis', $request->request_logs_id, $file),
|
||||
'original_name' => $file->getClientOriginalName(),
|
||||
'extension' => $file->getClientOriginalExtension(),
|
||||
'path' => $pathFile,
|
||||
'created_by' => auth()->user()->id,
|
||||
'updated_by' => auth()->user()->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
if ($request->hasFile('kondisi_files')) {
|
||||
foreach ($request->kondisi_files as $file) {
|
||||
$pathFile = File::storeFile('final-log-kondisi', $request->request_logs_id, $file);
|
||||
File::updateOrCreate([
|
||||
'fileable_type' => 'App\Models\RequestLog',
|
||||
'fileable_id' => $request->request_logs_id,
|
||||
'type' => 'final-log-kondisi',
|
||||
'name' => File::getFileName('final-log-kondisi', $request->request_logs_id, $file),
|
||||
'original_name' => $file->getClientOriginalName(),
|
||||
'extension' => $file->getClientOriginalExtension(),
|
||||
'path' => $pathFile,
|
||||
'created_by' => auth()->user()->id,
|
||||
'updated_by' => auth()->user()->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
DB::commit();
|
||||
return ApiResponse::apiResponse('Success', $data, trans('Message.success'), 200);
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
DB::rollback();
|
||||
return ApiResponse::apiResponse("Error", $data, $e->getMessage(), 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ use Modules\HospitalPortal\Http\Controllers\Api\ClaimRequestController;
|
||||
use Modules\HospitalPortal\Http\Controllers\Api\MemberController;
|
||||
use Modules\HospitalPortal\Http\Controllers\ClaimController;
|
||||
use Modules\HospitalPortal\Http\Controllers\Api\NotificationController;
|
||||
use Modules\HospitalPortal\Http\Controllers\Api\RequestLogController;
|
||||
use Modules\HospitalPortal\Http\Middleware\Authentication;
|
||||
use Modules\HospitalPortal\Http\Middleware\Authorization;
|
||||
|
||||
@@ -47,6 +48,13 @@ Route::prefix('v1')->group(function() {
|
||||
Route::controller(MemberController::class)->group(function () {
|
||||
Route::post('search-member', 'search');
|
||||
});
|
||||
// Request LOG
|
||||
Route::controller(RequestLogController::class)->group(function () {
|
||||
Route::post('request-log', 'requestLog');
|
||||
Route::get('get-request-log', 'getRequestLog');
|
||||
Route::get('get-final-log', 'getFinalLog');
|
||||
Route::post('request-final-log', 'requestFinalLog');
|
||||
});
|
||||
//Notification
|
||||
Route::controller(NotificationController::class)->group(function() {
|
||||
//get notifications
|
||||
@@ -55,8 +63,16 @@ Route::prefix('v1')->group(function() {
|
||||
Route::post('set-read-notification', 'setReadNotification');
|
||||
});
|
||||
});
|
||||
// Request Final LOG
|
||||
Route::controller(RequestLogController::class)->group(function () {
|
||||
Route::post('request-final-log', 'requestFinalLog');
|
||||
});
|
||||
// Claim Submit
|
||||
Route::controller(ClaimRequestController::class)->group(function () {
|
||||
Route::post('claim-requests', 'store');
|
||||
});
|
||||
Route::get('claim-requests', [ClaimRequestController::class, 'index'])->name('claim-requests.index');
|
||||
Route::post('claim-requests', [ClaimRequestController::class, 'store'])->name('claim-requests.store');
|
||||
// Route::post('claim-requests', [ClaimRequestController::class, 'store'])->name('claim-requests.store');
|
||||
Route::get('claim-requests/{claim_request_id}/log', [ClaimRequestController::class, 'generateLog'])->name('claim-requests.generate-log');
|
||||
Route::get('claim-requests/{id}', [ClaimRequestController::class, 'show'])->name('claim-requests.show');
|
||||
Route::get('get-claim-requests', [ClaimRequestController::class, 'get_claim_requests'])->name('claim-requests.get_claim_requests');
|
||||
|
||||
Reference in New Issue
Block a user