add reason in corporate, plan, service

This commit is contained in:
2023-06-05 09:01:43 +07:00
parent 4fb2bab64e
commit 4cc2ae24b8
34 changed files with 2037 additions and 87 deletions

View File

@@ -0,0 +1,90 @@
<?php
namespace Modules\Internal\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\AuditTrail;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\Internal\Transformers\AuditTrailResource;
class AuditTrailController extends Controller {
/**
* Display a listing of the resource.
* @return Renderable
*/
public function index(Request $request, $id)
{
$audittrails = AuditTrail::query()
->where('model', '=', $request->model)
->where('model_id', '=', $id)
// ->latest()
->paginate(1000);
return response()->json(Helper::paginateResources(AuditTrailResource::collection($audittrails)));
}
/**
* 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)
{
$appointments = Appointment::query()
->with('doctor.user', 'doctor.speciality', 'appointmentDetail', 'healthCare')
->where('nID', $id)
->first();
return response()->json(new AppointmentResource($appointments));
}
/**
* 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

@@ -684,5 +684,26 @@ class CorporateController extends Controller
"file_url" => url('files/CorporatePlan&BenefitImportData.xlsx')
]);
}
public function corporateCode(Request $request){
$corporates = Corporate::query()
->when($request->search, function ($query, $search) {
return $query->where('name', 'LIKE', '%' . $search . '%')
->orWhere('code', 'LIKE', '%' . $search . '%');
})
->with('currentPolicy', 'subCorporates')
->withCount([
'employees',
'corporateBenefits',
'corporatePlans',
// 'claims'
])
->where('active', 1)
->get()
->pluck('code');
return $corporates;
}
}

View File

@@ -35,6 +35,7 @@ class CorporatePlanController extends Controller
$plan = CorporatePlan::findOrFail($plan_id);
$plan->active = $request->active == '1';
$plan->reason = $request->reason;
if ($plan->save()) {
return response()->json([

View File

@@ -136,6 +136,7 @@ class CorporateServiceController extends Controller
public function corporateServiceUpdate(Request $request, $corporate_id, $service_code)
{
// dd($request->all);
// $corporate = Corporate::findOrFail($corporate_id);
$corporateService = CorporateService::query()
->where('corporate_id', $corporate_id)
@@ -143,7 +144,8 @@ class CorporateServiceController extends Controller
// ->with('configs', 'service')
->first();
$corporateService->fill([
'status' => $request->status == 'active' ? 'active' : 'inactive'
'status' => $request->status == 'active' ? 'active' : 'inactive',
'reason' => $request->reason
]);
$corporateService->save();

View File

@@ -30,6 +30,7 @@ use Modules\Internal\Http\Controllers\Api\PlanController;
use Modules\Internal\Http\Controllers\Api\ProvinceController;
use Modules\Internal\Http\Controllers\Api\SpecialityController;
use Modules\Internal\Http\Controllers\Api\VillageController;
use Modules\Internal\Http\Controllers\Api\AuditTrailController;
use Modules\Internal\Http\Controllers\ClaimEncounterController;
/*
@@ -67,6 +68,7 @@ Route::prefix('internal')->group(function () {
Route::put('corporates/{corporate_id}/activation', [CorporateController::class, 'activation']);
Route::post('corporates/{corporate_id}/import-plan-benefit', [CorporateController::class, 'importPlanBenefit']);
Route::get('corporates/{corporate_id}/data-plan-benefit', [CorporateController::class, 'dataPlanBenefit']);
Route::get('corporates/{corporate_id}/code', [CorporateController::class, 'corporateCode']);
Route::get('corporates/{corporate_id}/corporate-plans', [CorporatePlanController::class, 'index']);
Route::post('corporates/{corporate_id}/corporate-plans', [CorporatePlanController::class, 'store']);
@@ -115,6 +117,9 @@ Route::prefix('internal')->group(function () {
// Route::get('corporates/{corporate_id}/diagnosis-exclusions', [DiagnosisExclusionController::class, 'index']);
// Route::get('corporates/{corporate_id}/diagnosis-exclusions/import', [DiagnosisExclusionController::class, 'import']);
// Audittrail
Route::get('audittrail/{corporate_id}', [AuditTrailController::class, 'index']);
Route::get('master/diagnosis', [DiagnosisController::class, 'index']);
Route::get('master/diagnosis/search', [DiagnosisController::class, 'search']);
Route::get('master/drugs', [DrugController::class, 'index']);

View File

@@ -70,10 +70,10 @@ class CorporateService
'attribute' => 'Plan'
]), 0, null, $row);
} else if(!in_array($row['corporate_plan_id'], $current_corporate_plans)){
throw new ImportRowException(__('plan.NOT_MATCH', [
'attribute' => 'Plans',
'code' => $row['corporate_plan_id']
]), 0, null, $row);
// throw new ImportRowException(__('plan.NOT_MATCH', [
// 'attribute' => 'Plans',
// 'code' => $row['corporate_plan_id']
// ]), 0, null, $row);
}
if (empty($row['code'])) {
@@ -175,10 +175,10 @@ class CorporateService
if (empty($row['plan_code'])) {
throw new ImportRowException(__('benefit.PLAN_CODE_REQUIRED'), 0, null, $row);
} else if (!in_array($row['plan_code'], $current_corporate_plans)){
throw new ImportRowException(__('plan.NOT_MATCH', [
'attribute' => 'Plan',
'code' => $row['plan_code']
]), 0, null, $row);
// throw new ImportRowException(__('plan.NOT_MATCH', [
// 'attribute' => 'Plan',
// 'code' => $row['plan_code']
// ]), 0, null, $row);
}
if (empty($row['code'])) {

View File

@@ -736,7 +736,7 @@ class MemberEnrollmentService
$person = Person::create([
'name' => $row['name'],
'birth_date' => $this->dateParser($row['date_of_birth']),
'birth_date' => $row['date_of_birth'],
'gender' => Helper::genderPerson($row['sex']),
'language' => $row['language'] ?? null,
'race' => $row['race'] ?? null,

View File

@@ -0,0 +1,30 @@
<?php
namespace Modules\Internal\Transformers;
use Carbon\Carbon;
use Illuminate\Http\Resources\Json\JsonResource;
class AuditTrailResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request
* @return array
*/
public function toArray($request)
{
$audit_trail = [
'id' => $this->id,
'old_values' => json_decode($this->old_values),
'new_values' => json_decode($this->new_values),
'action' => $this->action,
'user_id' => $this->user->email,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
];
return $audit_trail;
}
}