diff --git a/Modules/Internal/Http/Controllers/Api/AuditTrailController.php b/Modules/Internal/Http/Controllers/Api/AuditTrailController.php index f6c3477b..4c720002 100644 --- a/Modules/Internal/Http/Controllers/Api/AuditTrailController.php +++ b/Modules/Internal/Http/Controllers/Api/AuditTrailController.php @@ -17,10 +17,6 @@ class AuditTrailController extends Controller { */ public function index(Request $request, $id) { - $exlusionId = null; - if ($request->model == 'App\Models\ExclusionRules'){ - $exlusionId = ExclusionRules::where('exclusion_id', $id)->get(); - } $audittrails = AuditTrail::query() ->where('model', '=', $request->model) ->where('model_id', '=', $id) diff --git a/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php b/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php index 253b77f2..932388ee 100644 --- a/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php +++ b/Modules/Internal/Http/Controllers/Api/DiagnosisExclusionController.php @@ -7,6 +7,7 @@ use App\Helpers\Helper; use App\Models\Corporate; use App\Models\CorporateService; use App\Models\Exclusion; +use App\Models\ExclusionImport; use App\Models\Icd; use App\Models\ImportLog; use App\Services\ImportService; @@ -216,7 +217,13 @@ class DiagnosisExclusionController extends Controller $import->reader->close(); Storage::delete('temp/' . $file_name); $import->writer->close(); + ExclusionImport::updateOrCreate([ + 'corporate_id' => $corporate_id + ],[ + 'file_name' => $file_name, + 'file_path' => 'temp/result-' . $file_name, + ]); return [ // 'total_successed_row' => $imported_plan_data, // 'total_failed_row' => count($failed_plan_data), diff --git a/app/Models/ExclusionImport.php b/app/Models/ExclusionImport.php new file mode 100644 index 00000000..44187cce --- /dev/null +++ b/app/Models/ExclusionImport.php @@ -0,0 +1,24 @@ +logAuditTrailExclusion($model, 'deleted'); }); + ExclusionImport::updated(function ($model) { + + $this->logAuditTrailExclusion($model, 'updated'); + }); + + ExclusionImport::deleted(function ($model) { + $this->logAuditTrailExclusion($model, 'deleted'); + }); + // ICD or exlusion Icd::updated(function ($model) { $this->logAuditTrail($model, 'updated'); @@ -149,7 +159,7 @@ class AppServiceProvider extends ServiceProvider // Membuat jejak audit baru $auditTrail = new AuditTrail([ 'model' => get_class($model), - 'model_id' => $model->exclusion_id, + 'model_id' => $model->corporate_id, 'action' => $action, 'old_values' => json_encode($model->getOriginal()), 'new_values' => json_encode($model->getAttributes()), diff --git a/database/migrations/2023_09_22_095728_create_exclusion_import_table.php b/database/migrations/2023_09_22_095728_create_exclusion_import_table.php new file mode 100644 index 00000000..2554f2ca --- /dev/null +++ b/database/migrations/2023_09_22_095728_create_exclusion_import_table.php @@ -0,0 +1,34 @@ +id(); + $table->integer('corporate_id'); + $table->string('file_name'); + $table->string('file_path'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('exclusion_imports'); + } +}; diff --git a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/History.tsx b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/History.tsx index 06fad345..e75653e5 100644 --- a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/History.tsx +++ b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/History.tsx @@ -98,8 +98,8 @@ export default function CustomizedAccordions() { useEffect(() => { setCorporate(configuredCorporateContext.currentCorporate); - const model = 'App\\Models\\ExclusionRules'; - const url = `/audittrail/${id}?model=${model}`; + const model = 'App\\Models\\ExclusionImport'; + const url = `/audittrail/${corporate_id}?model=${model}`; axios.get(url) .then((res) => { setCurrentCorporate(res.data); @@ -153,7 +153,7 @@ export default function CustomizedAccordions() { {Object.entries(item.old_values).map(([key, value]) => { let renderedValue; - if (key === 'deleted_by' || key === 'created_by' || key === 'updated_by') { + if (key === 'deleted_by' || key === 'created_by' || key === 'updated_by' || key === 'file_path') { return null; // Melewati iterasi saat key adalah 'deleted_by' } switch (key) { diff --git a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx index 7f79cac8..b256b944 100644 --- a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx @@ -520,9 +520,9 @@ export default function List(props: any) { > Delete */} - + {/* - + */} @@ -895,6 +895,11 @@ export default function List(props: any) { Action + + + + + {dataTableIsLoading ? ( diff --git a/frontend/dashboard/src/routes/index.tsx b/frontend/dashboard/src/routes/index.tsx index 6a344a52..510193e7 100644 --- a/frontend/dashboard/src/routes/index.tsx +++ b/frontend/dashboard/src/routes/index.tsx @@ -166,7 +166,7 @@ export default function Router() { element: , }, { - path: ':corporate_id/diagnosis-exclusions/:id/history', + path: ':corporate_id/diagnosis-exclusions/history', element: , },