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 = '