Update customer service
This commit is contained in:
@@ -35,12 +35,15 @@ class DailyMonitoringController extends Controller
|
||||
*/
|
||||
public function GetMemberList()
|
||||
{
|
||||
$memberList = DB::table('claims')
|
||||
->leftJoin('members', 'claims.member_id', '=', 'members.id')
|
||||
->leftJoin('member_plans', 'members.id', '=', 'member_plans.id')
|
||||
->select('members.member_id','members.name','member_plans.start AS startdate','member_plans.end AS enddate')
|
||||
->groupBy('claims.member_id')
|
||||
->orderBy('claims.created_at', 'desc')
|
||||
$memberList = DB::table('request_logs')
|
||||
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
|
||||
->leftJoin('member_plans', 'request_logs.member_id', '=', 'member_plans.member_id')
|
||||
->leftJoin('organizations', 'organizations.id', '=', 'request_logs.organization_id')
|
||||
->select('members.member_id','members.name','member_plans.start AS startdate','member_plans.end AS enddate', 'request_logs.submission_date as addmision_date', 'organizations.name as provider' )
|
||||
->where('request_logs.service_code', 'IP')
|
||||
->where('request_logs.status_final_log', 'approved')
|
||||
->groupBy('request_logs.member_id')
|
||||
->orderBy('request_logs.created_at', 'desc')
|
||||
->get();
|
||||
|
||||
return response()->json([
|
||||
@@ -62,15 +65,14 @@ class DailyMonitoringController extends Controller
|
||||
->where('member_id', $member_id)
|
||||
->first();
|
||||
|
||||
$claimList = DB::table('claims')
|
||||
->leftJoin('claim_requests', 'claims.claim_request_id', '=', 'claim_requests.id')
|
||||
->leftJoin('claim_history_cares', 'claims.id', '=', 'claim_history_cares.claim_id')
|
||||
->leftJoin('services', 'claim_requests.service_code', '=', 'services.code')
|
||||
->leftJoin('members', 'claims.member_id', '=', 'members.id')
|
||||
->select('claims.id AS claim_id','claim_history_cares.admission_date','claim_history_cares.discharge_date','claim_requests.code AS claim_code','services.name AS service_type','claims.status AS claim_status','members.member_id',)
|
||||
->where("claims.member_id", "=", $memberDetail->id)
|
||||
->where("claim_requests.claim_id", "!=",null)
|
||||
->orderBy("claims.created_at", "desc")
|
||||
$claimList = DB::table('request_logs')
|
||||
->leftJoin('services', 'services.code', '=', 'request_logs.service_code')
|
||||
->leftJoin('members', 'members.id', '=', 'request_logs.member_id')
|
||||
->select('request_logs.id','request_logs.submission_date AS admission_date','request_logs.discharge_date','request_logs.code','services.name as service_name','request_logs.status','members.name',)
|
||||
->where('request_logs.service_code', 'IP')
|
||||
->where('request_logs.status_final_log', 'approved')
|
||||
->where("request_logs.member_id", "=", $memberDetail->id)
|
||||
->orderBy("request_logs.created_at", "desc")
|
||||
->get();
|
||||
|
||||
return response()->json([
|
||||
|
||||
@@ -306,10 +306,12 @@ class RequestLogController extends Controller
|
||||
{
|
||||
$id = $request->id;
|
||||
$requestLog = RequestLog::findOrFail($id);
|
||||
$status = $request->status ?? 'requested';
|
||||
|
||||
|
||||
// Update Request LOG untuk lanjut ke Final LOG
|
||||
$requestLog->final_log = 1;
|
||||
$requestLog->status_final_log = 'requested';
|
||||
$requestLog->status_final_log = $status;
|
||||
$requestLog->save();
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Internal\Http\Controllers\Api;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\RequestLogMedicine;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
|
||||
class RequestLogMedicineController extends Controller
|
||||
{
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* @return Renderable
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('internal::create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the specified resource.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* @param Request $request
|
||||
* @return Renderable
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
|
||||
$customMessages = [
|
||||
'required' => 'Kolom :attribute wajib diisi.',
|
||||
'numeric' => 'Kolom :attribute harus berupa angka.',
|
||||
];
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
'medicine' => 'required|array',
|
||||
'medicine.*' => 'required',
|
||||
], $customMessages);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return Helper::responseJson([],'error', 400, $validator->errors());
|
||||
} else {
|
||||
$medicine = $request->medicine;
|
||||
|
||||
if (count($medicine)>0){
|
||||
// BeginTransaction
|
||||
DB::beginTransaction();
|
||||
foreach($medicine as $key => $value){
|
||||
$data = [
|
||||
'request_log_id' => $value['request_log_id'],
|
||||
'medicine' => $value['medicine_name'],
|
||||
'price' => $value['medicine_price'],
|
||||
];
|
||||
// Insert Data
|
||||
try {
|
||||
RequestLogMedicine::create($data);
|
||||
} catch (\Throwable $th) {
|
||||
DB::rollBack();
|
||||
return Helper::responseJson(status: 'failed', statusCode: 500, message: $th->getMessage());
|
||||
}
|
||||
}
|
||||
DB::commit();
|
||||
return Helper::responseJson(status: 'success', statusCode: 201, message: 'success', data: $request->toArray());
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
$requestLogMedicine = RequestLogMedicine::insert($data);
|
||||
return $requestLogMedicine;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
return view('internal::edit');
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* @param Request $request
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$requestLogBenefit = requestLogBenefit::findOrFail($id);
|
||||
$requestLogBenefit->amount_approved = $request->amount_approved;
|
||||
$requestLogBenefit->amount_incurred = $request->amount_incurred;
|
||||
$requestLogBenefit->amount_not_approved = $request->amount_not_approved;
|
||||
$requestLogBenefit->excess_paid = $request->excess_paid;
|
||||
$requestLogBenefit->keterangan = $request->keterangan;
|
||||
|
||||
$requestLogBenefit->save();
|
||||
|
||||
return response()->json([
|
||||
'error' => false,
|
||||
'message' => 'Update succses',
|
||||
'data' => $requestLogBenefit],
|
||||
200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$RequestLogMedicine = RequestLogMedicine::findOrFail($id);
|
||||
$RequestLogMedicine->delete();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,9 +7,10 @@ use Modules\Internal\Http\Controllers\Api\AppointmentController;
|
||||
use Modules\Internal\Http\Controllers\Api\BenefitController;
|
||||
use Modules\Internal\Http\Controllers\Api\CityController;
|
||||
use Modules\Internal\Http\Controllers\Api\ClaimController;
|
||||
use Modules\Internal\Http\Controllers\Api\ClaimRequestController;
|
||||
use Modules\Internal\Http\Controllers\Api\RequestLogController;
|
||||
use Modules\Internal\Http\Controllers\Api\RequestLogBenefitController;
|
||||
use Modules\Internal\Http\Controllers\Api\ClaimRequestController;
|
||||
use Modules\Internal\Http\Controllers\Api\RequestLogMedicineController;
|
||||
use Modules\Internal\Http\Controllers\Api\CorporateBenefitController;
|
||||
use Modules\Internal\Http\Controllers\Api\CorporateController;
|
||||
use Modules\Internal\Http\Controllers\Api\CorporateFormulariumController;
|
||||
@@ -258,12 +259,17 @@ Route::prefix('internal')->group(function () {
|
||||
Route::get('customer-service/request/data', [RequestLogController::class, 'generateDataRequestLogExcel']);
|
||||
|
||||
Route::post('customer-service/request/final-log', [RequestLogController::class, 'updateFinalLog']);
|
||||
|
||||
// insert benefit
|
||||
Route::post('customer-service/request/insert-benefit', [RequestLogBenefitController::class, 'store']);
|
||||
Route::delete('customer-service/request/benefit_data/{id}', [RequestLogBenefitController::class, 'destroy']);
|
||||
Route::put('customer-service/request/benefit_data/{id}', [RequestLogBenefitController::class, 'update']);
|
||||
|
||||
|
||||
// insert medicine
|
||||
Route::post('customer-service/request/medicine-data', [RequestLogMedicineController::class, 'store']);
|
||||
Route::delete('customer-service/request/medicine-data/{id}', [RequestLogMedicineController::class, 'destroy']);
|
||||
Route::put('customer-service/request/medicine-data/{id}', [RequestLogMedicineController::class, 'update']);
|
||||
|
||||
Route::get('search-organizations', [OrganizationController::class, 'searchOrganization']);
|
||||
Route::get('search-specialities', [SpecialityController::class, 'searchSpeciality']);
|
||||
Route::resource('organizations', OrganizationController::class);
|
||||
|
||||
@@ -7,6 +7,7 @@ use App\Models\CorporateBenefit;
|
||||
use App\Models\ClaimRequest;
|
||||
use App\Models\CorporateService;
|
||||
use App\Models\RequestLogBenefit;
|
||||
use App\Models\RequestLogMedicine;
|
||||
use App\Models\Exclusion;
|
||||
use App\Models\Icd;
|
||||
use App\Helpers\Helper;
|
||||
@@ -26,6 +27,7 @@ class RequestLogShowResource extends JsonResource
|
||||
$corporateId = $requestLog['member']['current_plan']['corporate_id'] ?? 0;
|
||||
$benefit = CorporateBenefit::with('benefit')->where('plan_id', $corporateId)->get()->toArray();
|
||||
$benefitDetailLog = RequestLogBenefit::with('benefit')->where('request_log_id', $requestLog['id'])->get()->toArray();
|
||||
$medicineDetailLog = RequestLogMedicine::where('request_log_id', $requestLog['id'])->get()->toArray();
|
||||
$benefitData = [];
|
||||
if (count($benefit)){
|
||||
foreach($benefit as $data){
|
||||
@@ -33,13 +35,23 @@ class RequestLogShowResource extends JsonResource
|
||||
}
|
||||
}
|
||||
|
||||
// Medicine
|
||||
$medicineData = [];
|
||||
if (count($medicineDetailLog)){
|
||||
foreach($medicineDetailLog as $data){
|
||||
array_push($medicineData, $data);
|
||||
}
|
||||
}
|
||||
// Service Rule
|
||||
$corporateService = CorporateService::query()
|
||||
->where('corporate_id', $corporateId)
|
||||
->where('service_code', $requestLog['service_code'])
|
||||
->with(['configs'])
|
||||
->first();
|
||||
$config = $corporateService->configs->pluck('value', 'name')->toArray();
|
||||
$config = [];
|
||||
if ($corporateService) {
|
||||
$config = $corporateService->configs->pluck('value', 'name')->toArray();
|
||||
}
|
||||
|
||||
// Exclusion Service or diagnosis
|
||||
$exclusions = Exclusion::query()
|
||||
@@ -70,6 +82,7 @@ class RequestLogShowResource extends JsonResource
|
||||
'benefit_data' => $benefitDetailLog,
|
||||
'config_service' => $config,
|
||||
'exclusion' => $exclusions,
|
||||
'medicine' => $medicineData,
|
||||
'files' => $requestLog['files'],
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user