solve conflict

This commit is contained in:
korospace
2023-10-20 15:47:18 +07:00
51 changed files with 14614 additions and 3939 deletions

View File

@@ -108,18 +108,15 @@ class CorporateBenefitController extends Controller
{
$corporateBenefit = CorporateBenefit::findOrFail($id);
$request->validate([
'code' => [
'budget' => [
'required',
Rule::unique('corporate_plans')->where('corporate_id', $corporate_id)->ignore($corporateBenefit->id)
],
'name' => 'required'
]);
$corporateBenefit->fill([
'code' => $request->code,
'name' => $request->name,
'active' => $request->active,
'budget' => $request->budget,
])->save();
return $corporateBenefit;

View File

@@ -381,13 +381,15 @@ class CorporateController extends Controller
public function activation(Request $request, $corporate_id)
{
$request->validate([
'active' => 'required'
'active' => 'required',
'reason' => 'required'
]);
// abort(404);
$corporate = Corporate::findOrFail($corporate_id);
$corporate->active = $request->active == '1';
$corporate->reason = $request->reason;
if ($corporate->save()) {
return response()->json([

View File

@@ -6,6 +6,7 @@ use App\Exceptions\ImportRowException;
use App\Helpers\Helper;
use App\Models\CorporateFormularium;
use App\Models\Formularium;
use App\Models\FormulariumTemplate;
use App\Services\ImportService;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
@@ -52,9 +53,16 @@ class CorporateFormulariumController extends Controller
* Show the form for creating a new resource.
* @return Renderable
*/
public function create()
public function create(Request $request, $corporate_id)
{
return view('internal::create');
$data = CorporateFormularium::where('corporate_id', $corporate_id)->pluck('formularium_template_id')->toArray(); // agar tidak dobel
$formularium_template = FormulariumTemplate::whereNotIn('id', $data)->get();
$respone = [
"status" => 200,
"message" => 'data berhasil diambil',
"data" => $formularium_template
];
return $respone;
}
/**
@@ -62,9 +70,36 @@ class CorporateFormulariumController extends Controller
* @param Request $request
* @return Renderable
*/
public function store(Request $request)
public function store(Request $request, $corporate_id)
{
//
$request->validate([
'id' => 'required'
]);
$checkFormularium = FormulariumTemplate::find($request->id);
if (!$checkFormularium){
$respone = [
"status" => 404,
"message" => "data master formularium tidak ditemukan",
"data" => []
];
return $respone;
}
$newCorporateFormularium = CorporateFormularium::create([
'corporate_id' => $corporate_id,
'formularium_template_id' => $request->id,
'active' => 1
]);
if ($newCorporateFormularium){
$respone = [
"status" => 200,
"message" => "data berhasil disimpan"
];
return $respone;
}
return $newCorporatePlan;
}
/**
@@ -72,9 +107,15 @@ class CorporateFormulariumController extends Controller
* @param int $id
* @return Renderable
*/
public function show($id)
public function show(Request $request, $corporate_id, $id)
{
return view('internal::show');
$data = Formularium::where('formularium_template_id', $id)->get();
$respone = [
"status" => 200,
"message" => 'data berhasil diambil',
"data" => $data
];
return $respone;
}
/**
@@ -82,9 +123,16 @@ class CorporateFormulariumController extends Controller
* @param int $id
* @return Renderable
*/
public function edit($id)
public function edit(Request $request, $corporate_id)
{
return view('internal::edit');
$data = CorporateFormularium::where('corporate_id', $corporate_id)->pluck('formularium_template_id')->toArray(); // agar tidak dobel
$formularium_template = FormulariumTemplate::whereNotIn('id', $data)->get();
$respone = [
"status" => 200,
"message" => 'data berhasil diambil',
"data" => $formularium_template
];
return $respone;
}
/**
@@ -139,6 +187,22 @@ class CorporateFormulariumController extends Controller
}
}
public function active(Request $request, $corporate_id, $id)
{
$corporateFormularium = CorporateFormularium::find($id);
$corporateFormularium->fill([
'active' => $request->active,
])->save();
$respone = [
"status" => 200,
"message" => 'data berhasil diedit',
"data" => $corporateFormularium
];
return $respone;
}
public function import(Request $request, $id)
{
$request->validate([

View File

@@ -69,13 +69,14 @@ class CorporateMemberController extends Controller
public function activation(Request $request, $member_id)
{
$request->validate([
'active' => 'required'
'active' => 'required',
'reason' => 'required',
]);
// abort(404);
$member = Member::findOrFail($member_id);
$member->active = $request->active == '1';
$member->active = $request->active;
$member->reason = $request->reason;
if ($member->save()) {

View File

@@ -34,7 +34,7 @@ class CorporatePlanController extends Controller
// abort(404);
$plan = CorporatePlan::findOrFail($plan_id);
$plan->active = $request->active == '1';
$plan->active = $request->active == 1 ? 0 : 1;
$plan->reason = $request->reason;
if ($plan->save()) {
@@ -110,21 +110,21 @@ class CorporatePlanController extends Controller
public function update(Request $request, $corporate_id, $id)
{
$corporatePlan = CorporatePlan::findOrFail($id);
$request->validate([
'code' => [
'required',
Rule::unique('corporate_plans')->where('corporate_id', $corporate_id)->ignore($corporatePlan->id)
// Rule::unique('corporate_plans')->where('corporate_id', $corporate_id)->ignore($corporatePlan->id)
],
'name' => 'required'
]);
$corporatePlan->fill([
'code' => $request->code,
'name' => $request->name,
'active' => $request->active,
'description' => $request->description
'corporate_plan_id' => $request->plan,
'service_code' => $request->service,
'type' => $request->type,
'limit_rules' => $request->limit
])->save();
return $corporatePlan;
}

View File

@@ -144,7 +144,7 @@ class CorporateServiceController extends Controller
// ->with('configs', 'service')
->first();
$corporateService->fill([
'status' => $request->status == 'active' ? 'active' : 'inactive',
'status' => $request->status == 'active' ? 'inactive' : 'active',
'reason' => $request->reason
]);
$corporateService->save();

View File

@@ -0,0 +1,153 @@
<?php
namespace Modules\Internal\Http\Controllers\Api;
use App\Models\CorporateHospital;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\DB;
class HospitalController extends Controller
{
/**
* Display a listing of the resource.
* @return Renderable
*/
public function index(Request $request, $corporate_id)
{
$datas = CorporateHospital::query()
->filter($request->all())
->where('corporate_id', $corporate_id)
->orderBy('id', 'DESC')
->paginate(0)
->appends($request->all());
return $datas;
}
public function activation(Request $request, $hospital_id)
{
$request->validate([
'active' => 'required',
'reason' => 'required',
]);
// abort(404);
$hostpital = CorporateHospital::findOrFail($hospital_id);
$hostpital->active = $request->active;
$hostpital->reason = $request->reason;
if ($hostpital->save()) {
return response()->json([
'hostpital' => $hostpital,
'message' => 'Status Updated Successfully'
]);
}
}
public function dataHospital(Request $request, $corporate_id)
{
$data = DB::table('organizations')
->where('type', 'hospital')
->where('status', 'active')
->orderBy('id', 'desc')
->get();
return $data;
}
/**
* Show the form for creating a new resource.
* @return Renderable
*/
public function create()
{
return view('internal::create');
}
/**
* Store a newly created resource in storage.
* @param Request $request
* @return Renderable
*/
public function store(Request $request, $corporate_id)
{
$request->validate([
'corporate_id' => 'required',
'code' => 'required',
'name' => 'required',
'organization_id' => 'required',
]);
$newCorporateHospital = CorporateHospital::create([
'corporate_id' => $corporate_id,
'code' => $request->code,
'name' => $request->name,
'organization_id' => $request->organization_id,
'description' => $request->description ? $request->description : null,
]);
return $newCorporateHospital;
}
/**
* Show the specified resource.
* @param int $id
* @return Renderable
*/
public function show($id)
{
return view('internal::show');
}
/**
* Show the form for editing the specified resource.
* @param int $id
* @return Renderable
*/
public function edit($corporate_id, $id)
{
$corporatePlan = CorporateDivision::findOrFail($id);
return $corporatePlan;
}
/**
* Update the specified resource in storage.
* @param Request $request
* @param int $id
* @return Renderable
*/
public function update(Request $request, $corporate_id, $id)
{
$corporatePlan = CorporateHospital::findOrFail($id);
$request->validate([
'corporate_id' => 'required',
'code' => 'required',
'name' => 'required',
'organization_id' => 'required',
]);
$corporatePlan->fill([
'corporate_id' => $corporate_id,
'code' => $request->code,
'name' => $request->name,
'organization_id' => $request->organization_id,
'description' => $request->description ? $request->description : null,
])->save();
return $corporatePlan;
}
/**
* Remove the specified resource from storage.
* @param int $id
* @return Renderable
*/
public function destroy($id)
{
//
}
}

View File

@@ -0,0 +1,86 @@
<?php
namespace Modules\Internal\Http\Controllers\Api;
use App\Models\Service;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
class ServiceController extends Controller
{
/**
* Display a listing of the resource.
* @return Renderable
*/
public function index(Request $request)
{
$service = Service::orderBy('name', 'ASC')->get();
if (empty($service)) {
return response(['message' => 'Tidak ada data'], 404);
} else {
return response(['message' => 'Data ditemukan', "status" => 200, 'data' => $service]);
}
}
/**
* Show the form for creating a new resource.
* @return Renderable
*/
public function create()
{
return view('internal::create');
}
/**
* Store a newly created resource in storage.
* @param Request $request
* @return Renderable
*/
public function store(Request $request)
{
//
}
/**
* Show the specified resource.
* @param int $id
* @return Renderable
*/
public function show($id)
{
return view('internal::show');
}
/**
* 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)
{
//
}
/**
* Remove the specified resource from storage.
* @param int $id
* @return Renderable
*/
public function destroy($id)
{
//
}
}

View File

@@ -19,6 +19,7 @@ use Modules\Internal\Http\Controllers\Api\DiagnosisTemplateController;
use Modules\Internal\Http\Controllers\Api\DiagnosisExclusionController;
use Modules\Internal\Http\Controllers\Api\DistrictController;
use Modules\Internal\Http\Controllers\Api\DivisionController;
use Modules\Internal\Http\Controllers\Api\HospitalController;
use Modules\Internal\Http\Controllers\Api\DoctorController;
use Modules\Internal\Http\Controllers\Api\DoctorRatingController;
use Modules\Internal\Http\Controllers\Api\DrugController;
@@ -31,6 +32,7 @@ use Modules\Internal\Http\Controllers\Api\OptionController;
use Modules\Internal\Http\Controllers\Api\OrganizationController;
use Modules\Internal\Http\Controllers\Api\PlanController;
use Modules\Internal\Http\Controllers\Api\ProvinceController;
use Modules\Internal\Http\Controllers\Api\ServiceController;
use Modules\Internal\Http\Controllers\Api\PrescriptionController;
use Modules\Internal\Http\Controllers\Api\SpecialityController;
use Modules\Internal\Http\Controllers\Api\VillageController;
@@ -98,6 +100,12 @@ Route::prefix('internal')->group(function () {
Route::get('corporates/{corporate_id}/divisions/{id}/edit', [DivisionController::class, 'edit']);
Route::put('corporates/{corporate_id}/divisions/{id}', [DivisionController::class, 'update']);
Route::get('corporates/{corporate_id}/hospitals', [HospitalController::class, 'index']);
Route::put('hospitals/{hospital_id}/activation', [HospitalController::class, 'activation']);
Route::get('corporates/{corporate_id}/hospitals/data', [HospitalController::class, 'dataHospital']);
Route::post('corporates/{corporate_id}/hospitals/save', [HospitalController::class, 'store']);
Route::put('corporates/{corporate_id}/hospitals/{id}/edit', [HospitalController::class, 'update']);
Route::get('corporates/{corporate_id}/members', [CorporateMemberController::class, 'index']);
Route::get('corporates/{corporate_id}/members/list', [CorporateMemberController::class, 'generateMemberList']);
Route::post('corporates/{corporate_id}/members/import', [CorporateMemberController::class, 'import']);
@@ -119,8 +127,12 @@ Route::prefix('internal')->group(function () {
Route::post('corporates/{corporate_id}/services/{service_code}/specialities/exclusion', [CorporateServiceController::class, 'storeExclusion']);
Route::get('corporates/{corporate_id}/formulariums', [CorporateFormulariumController::class, 'index']);
Route::get('corporates/{corporate_id}/formulariums/{formularium_id}', [CorporateFormulariumController::class, 'show']);
Route::get('corporates/{corporate_id}/formulariums/create', [CorporateFormulariumController::class, 'create']);
Route::post('corporates/{corporate_id}/formulariums', [CorporateFormulariumController::class, 'store']);
Route::get('corporates/{corporate_id}/formulariums/list', [CorporateFormulariumController::class, 'generateFormulariumList']);
Route::post('corporates/{corporate_id}/formulariums/import', [CorporateFormulariumController::class, 'import']);
Route::put('corporates/{corporate_id}/formulariums-update-status/{id}', [CorporateFormulariumController::class, 'active']);
Route::put('corporates/{corporate_id}/formulariums/{formularium_id}/{action}', [CorporateFormulariumController::class, 'updateStatus']);
Route::controller(CorporateController::class)->group(function () {
Route::post('add-files-doc', 'addFilesDoc');
@@ -203,6 +215,7 @@ Route::prefix('internal')->group(function () {
});
Route::get('province', [ProvinceController::class, 'index']);
Route::get('service', [ServiceController::class, 'index']);
Route::get('city', [CityController::class, 'index']);
Route::get('district', [DistrictController::class, 'index']);
Route::get('village', [VillageController::class, 'index']);

View File

@@ -14,27 +14,11 @@ class CorporateFormulariumResource extends JsonResource
*/
public function toArray($request)
{
return [
'id' => $this->formularium->id,
'code' => $this->formularium->code,
'name' => $this->formularium->name,
'description' => $this->formularium->description,
'manufacturer' => $this->formularium->manufacturer,
'category_name' => $this->formularium->category_name,
'kategori_obat' => $this->formularium->kategori_obat,
'uom' => $this->formularium->uom,
'general_indication' => $this->formularium->general_indication,
'composition' => $this->formularium->composition,
'atc_code' => $this->formularium->atc_code,
'class' => $this->formularium->class,
'bpom_registration' => $this->formularium->bpom_registration,
'classifications' => $this->formularium->classifications,
'cat_for' => $this->formularium->cat_for,
'items_count' => $this->formularium->items_count,
'status' => $this->active ? 'active' : 'inactive',
// 'corporate_formulariums' => $this->formua,
'id' => $this->id,
'formulaurium_category_id' => $this->formularium_template->id,
'category' => $this->formularium_template->name,
'description' => $this->formularium_template->description,
'active' => $this->active == 1 ? 'Active' : 'Inactive',
];
}

View File

@@ -41,38 +41,97 @@ class CorporateServiceConfigResource extends JsonResource
];
$list_msc = $this->corporateServiceSpecialities->map(function ($speciality) {
return explode(',', $speciality->exclusions->first()->rules->where('name', 'msc')->first()->values ?? '');
})->map(function ($item) {
$exclusions = $speciality->exclusions->first();
if ($exclusions) {
$rules = $exclusions->rules->where('name', 'msc')->first();
if ($rules) {
$values = $rules->values ?? '';
$item = explode(',', $values);
} else {
// Handle case where 'rules' with name 'msc' is not found
$item = [];
}
} else {
// Handle case where 'exclusions' is not found
$item = [];
}
return [
'm' => in_array('m', $item),
's' => in_array('s', $item),
'c' => in_array('c', $item),
];
});
$list_gender = $this->corporateServiceSpecialities->map(function ($speciality) {
// dd($speciality->exclusions->first()->rules);
return explode(',', $speciality->exclusions->first()->rules->where('name', 'gender')->first()->values ?? '');
})->map(function ($item) {
$exclusions = $speciality->exclusions->first();
if ($exclusions) {
$rules = $exclusions->rules->where('name', 'gender')->first();
if ($rules) {
$values = $rules->values ?? '';
$item = explode(',', $values);
} else {
// Handle case where 'rules' with name 'gender' is not found
$item = [];
}
} else {
// Handle case where 'exclusions' is not found
$item = [];
}
return [
'male' => in_array('male', $item),
'female' => in_array('female', $item),
];
});
$min_age = $this->corporateServiceSpecialities->map(function ($speciality) {
return $speciality->exclusions->first()->rules->where('name', 'min_age')->first()->values ?? '';
$exclusions = $speciality->exclusions->first();
if ($exclusions) {
$rules = $exclusions->rules->where('name', 'min_age')->first();
if ($rules) {
return $rules->values ?? '';
}
}
return '';
});
$max_age = $this->corporateServiceSpecialities->map(function ($speciality) {
return $speciality->exclusions->first()->rules->where('name', 'max_age')->first()->values ?? '';
$exclusions = $speciality->exclusions->first();
if ($exclusions) {
$rules = $exclusions->rules->where('name', 'max_age')->first();
if ($rules) {
return $rules->values ?? '';
}
}
return '';
});
$plan = $this->corporateServiceSpecialities->map(function ($speciality) {
return $speciality->exclusions->first()->rules->where('name', 'plan')->first()->values ?? null;
$exclusions = $speciality->exclusions->first();
if ($exclusions) {
$rules = $exclusions->rules->where('name', 'plan')->first();
if ($rules) {
return $rules->values ?? null;
}
}
return null;
});
$data['exclusions'] = $data['exclusions']->map(function ($item, $key) use (
$list_msc,
$list_gender,