[Improvement] add fitur delete request log

This commit is contained in:
2024-01-26 11:07:13 +07:00
parent 908a8aff0a
commit 74f87e150a
8 changed files with 351 additions and 109 deletions

View File

@@ -163,6 +163,7 @@ class RequestLogController extends Controller
$results = DB::table('request_logs')
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
->where('request_logs.deleted_at', null)
->when($request->input('search'), function ($query, $search) {
$query->where(function ($query) use ($search) {
$query->orWhere('request_logs.code', 'like', "%" . $search . "%")

View File

@@ -52,6 +52,10 @@ class RequestLogController extends Controller
public function index(Request $request)
{
$requestLog = RequestLog::query()
->where('deleted_at', null)
->when($request->final_log, function($q, $final_log) {
$q->where('final_log', $final_log);
})
->when($request->search, function ($q, $search) {
$q->where('code', 'LIKE', "%".$search."%");
$q->orWhereHas('member', function ($subQuery) use ($search) {
@@ -66,9 +70,6 @@ class RequestLogController extends Controller
->when(empty($request->orderBy), function ($q) {
$q->orderBy('created_at', 'desc');
})
->when($request->final_log, function($q, $final_log) {
$q->where('final_log', $final_log);
})
->when($request->service_code, function($q, $service_code) {
if ($service_code == 'IP'){ // Penjagaan sementara agar ini hanya muncul di inpatient monitoring
$q->where('service_code', $service_code);
@@ -252,16 +253,12 @@ class RequestLogController extends Controller
$requestLog->reason = $request->reason;
}
// Simpan perubahan pada entitas
$requestLog->save();
if ($request->status){
$requestLog->status = $request->status;
$requestLog->approved_by = auth()->user()->id;
$requestLog->approved_at = Carbon::now();
}
$requestLog->approved_by = auth()->user()->id;
$requestLog->approved_at = Carbon::now();
$requestLog->save();
// update nirc member
@@ -284,9 +281,27 @@ class RequestLogController extends Controller
* @param int $id
* @return Renderable
*/
public function destroy($id)
public function destroy(Request $request, $id)
{
//
$requestLog = RequestLog::findOrFail($id);
$requestLog->reason = 'Reason Delete ' .$request->reason;
$requestLog->deleted_at = Carbon::now();
$requestLog->deleted_by = auth()->user()->id;
// Delete the record
$requestLog->save();
}
public function deleteFinalLog(Request $request, $id){
$requestLog = RequestLog::findOrFail($id);
$requestLog->status_final_log = null;
$requestLog->final_log = 0;
$requestLog->reason_final = 'Reason Delete ' .$request->reason;
$requestLog->save();
return response()->json([
'error' => false,
'message' => 'Delete Final LOG',
'data' => $requestLog],
200);
}
/**

View File

@@ -258,6 +258,8 @@ Route::prefix('internal')->group(function () {
Route::post('customer-service/request', [RequestLogController::class, 'createNew']);
Route::put('customer-service/request/{id}', [RequestLogController::class, 'update']);
Route::get('customer-service/request/{id}', [RequestLogController::class, 'show']);
Route::put('customer-service/request/{id}', [RequestLogController::class, 'destroy']);
Route::put('customer-service/request/final_log/{id}', [RequestLogController::class, 'deleteFinalLog']);
Route::get('customer-service/request/{id}/download', [RequestLogController::class, 'generateRequestLog']);
Route::post('customer-service/request/import', [RequestLogController::class, 'importRequestLog']);
Route::get('customer-service/request/data', [RequestLogController::class, 'generateDataRequestLogExcel']);