diff --git a/app/Http/Controllers/Admin/AdminRefundController.php b/app/Http/Controllers/Admin/AdminRefundController.php index 50b7fe7..3538705 100644 --- a/app/Http/Controllers/Admin/AdminRefundController.php +++ b/app/Http/Controllers/Admin/AdminRefundController.php @@ -12,6 +12,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use App\Http\Controllers\Controller; use App\Models\TransactionDescription; +use Carbon\Carbon; class AdminRefundController extends Controller { @@ -54,7 +55,7 @@ class AdminRefundController extends Controller try { Transaction::where('id', $refund->transaction_id)->update([ 'status_transaksi' => 'refund', - 'status_pembayaran' => 'refund' + 'status_pembayaran' => 'refund', ]); Refund::where('id', $request->id)->update([ @@ -97,7 +98,7 @@ class AdminRefundController extends Controller try { Transaction::where('id', $refund->transaction_id)->update([ 'status_transaksi' => 'finished', - 'status_pembayaran' => 'settlement' + 'status_pembayaran' => 'settlement', ]); Refund::where('id', $request->id)->update([ @@ -117,7 +118,7 @@ class AdminRefundController extends Controller return response()->json([ 'status' => true, - 'message' => 'Refund berhasil ditolak. Transaksi diselesaikan dan uang disampaikan ke penjual.' + 'message' => 'Refund berhasil ditolak. Transaksi diselesaikan dan uang disampaikan ke penjual.', ]); } catch (Throwable $e) { DB::rollBack(); @@ -133,28 +134,56 @@ class AdminRefundController extends Controller public function listRefund(Request $request) { - $subQuery = Refund::with('transaction') - ->select('id', 'pembeli', 'nama_barang', 'penjual', 'total', 'tanggal_transaksi', 'batas_konfirmasi_transaksi', 'status'); + $subQuery = Refund::join('transactions', 'refunds.transaction_id', '=', 'transactions.id') + ->join('users as b', 'transactions.pembeli', '=', 'b.email') + ->join('users as s', 'transactions.penjual', '=', 's.email') + ->latest() + ->select('refunds.id as id', DB::raw("CONCAT(b.nama_depan,' ', b.nama_belakang) as pembeli"), DB::raw("CONCAT(s.nama_depan,' ', s.nama_belakang) as penjual"), 'transactions.nama_barang as nama_barang', 'refunds.total as total', 'refunds.created_at', 'refunds.due_date', 'refunds.status'); if ($request->has('search') && !empty($request->search['value'])) { $searchRefund = $request->search['value']; - $subQuery->where(function ($a) use ($searchRefund) { - $a->whereRaw('pembeli LIKE ?', ['%' . $searchRefund . '%']) - ->orWhereRaw('nama_barang LIKE ?', ['%' . $searchRefund . '%']) - ->orWhereRaw('penjual LIKE ?', ['%' . $searchRefund . '%']); - }); - } - $queryRefund = Refund::from(DB::raw("({$subQuery->toSql()}) as tmp")) - ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters - ->select('*') - ->get(); + if (!is_numeric($searchRefund)) { + // if(strtotime($searchRefund) != false){ + // $subQuery->where(function ($a) use ($searchRefund) { + // $a->whereDate('refunds.created_at','=',Carbon::createFromFormat('d/m/y', ucfirst(strtolower($searchRefund)))->format('Y-m-d')) + // ->orWhereDate('refunds.due_date','=',Carbon::createFromFormat('d/m/y', ucfirst(strtolower($searchRefund)))->format('Y-m-d')); + // }); + // }else{ + $subQuery->where(function ($a) use ($searchRefund) { + $a->whereRaw('LOWER(b.nama_depan) LIKE ?', ['%' . strtolower($searchRefund) . '%']) + ->orWhereRaw('LOWER(b.nama_belakang) LIKE ?', ['%' . strtolower($searchRefund) . '%']) + ->orWhereRaw('LOWER(s.nama_depan) LIKE ?', ['%' . strtolower($searchRefund) . '%']) + ->orWhereRaw('LOWER(s.nama_belakang) LIKE ?', ['%' . strtolower($searchRefund) . '%']) + ->orWhereRaw('LOWER(transactions.nama_barang) LIKE ?', ['%' . strtolower($searchRefund) . '%']) + ->orWhereRaw('LOWER(refunds.status) LIKE ?', ['%' . strtolower($searchRefund) . '%']); + }); + // } - if ($request->ajax()) { - return DataTables::of($queryRefund) - ->addIndexColumn() - ->addColumn('aksi', function ($row) { - $url = route('admin-refund.show', ['id' => $row->id]); - $html_code = ' + }else { + $subQuery->where(function ($a) use ($searchRefund) { + $a->whereDay('refunds.created_at', '=', $searchRefund) + ->orWhereMonth('refunds.created_at', '=', $searchRefund) + ->orWhereYear('refunds.created_at', '=', $searchRefund) + ->orWhereDay('refunds.due_date', '=', $searchRefund) + ->orWhereMonth('refunds.due_date', '=', $searchRefund) + ->orWhereYear('refunds.due_date', '=', $searchRefund) + ->orWhere('refunds.total','=',$searchRefund); + }); + } + } + + $queryRefund = Refund::from(DB::raw("({$subQuery->toSql()}) as tmp")) + ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters + ->select('*') + ->get(); + + if ($request->ajax()) { + return DataTables::of($queryRefund) + ->addIndexColumn() + ->addColumn('action', function ($row) { + $url = route('admin-refund.show', ['id' => $row->id]); + $html_code = + '
'; - return $html_code; - }) - ->rawColumns(['aksi']) - ->make(true); + return $html_code; + }) + ->rawColumns(['action']) + ->make(true); } } } diff --git a/app/Http/Controllers/Admin/AdminSettingController.php b/app/Http/Controllers/Admin/AdminSettingController.php index c47fe45..113c6be 100644 --- a/app/Http/Controllers/Admin/AdminSettingController.php +++ b/app/Http/Controllers/Admin/AdminSettingController.php @@ -113,7 +113,7 @@ class AdminSettingController extends Controller return DataTables::of($querySetting) ->addIndexColumn() ->addColumn('action', function($row){ - $status = $row->status ? 'checked' : ''; + $status = $row->status == 'Active' ? 'checked' : ''; $html_code = '