Merge branch 'master' of https://git.abbauf.com/MAGANG_TB_dan_PNP_2023/Aplikasi_Rekber into oktaaa
This commit is contained in:
commit
68860ef77d
@ -12,6 +12,7 @@ use Illuminate\Support\Facades\DB;
|
|||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\TransactionDescription;
|
use App\Models\TransactionDescription;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
class AdminRefundController extends Controller
|
class AdminRefundController extends Controller
|
||||||
{
|
{
|
||||||
@ -54,7 +55,7 @@ class AdminRefundController extends Controller
|
|||||||
try {
|
try {
|
||||||
Transaction::where('id', $refund->transaction_id)->update([
|
Transaction::where('id', $refund->transaction_id)->update([
|
||||||
'status_transaksi' => 'refund',
|
'status_transaksi' => 'refund',
|
||||||
'status_pembayaran' => 'refund'
|
'status_pembayaran' => 'refund',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Refund::where('id', $request->id)->update([
|
Refund::where('id', $request->id)->update([
|
||||||
@ -97,7 +98,7 @@ class AdminRefundController extends Controller
|
|||||||
try {
|
try {
|
||||||
Transaction::where('id', $refund->transaction_id)->update([
|
Transaction::where('id', $refund->transaction_id)->update([
|
||||||
'status_transaksi' => 'finished',
|
'status_transaksi' => 'finished',
|
||||||
'status_pembayaran' => 'settlement'
|
'status_pembayaran' => 'settlement',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Refund::where('id', $request->id)->update([
|
Refund::where('id', $request->id)->update([
|
||||||
@ -117,7 +118,7 @@ class AdminRefundController extends Controller
|
|||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => true,
|
'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) {
|
} catch (Throwable $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -133,28 +134,56 @@ class AdminRefundController extends Controller
|
|||||||
|
|
||||||
public function listRefund(Request $request)
|
public function listRefund(Request $request)
|
||||||
{
|
{
|
||||||
$subQuery = Refund::with('transaction')
|
$subQuery = Refund::join('transactions', 'refunds.transaction_id', '=', 'transactions.id')
|
||||||
->select('id', 'pembeli', 'nama_barang', 'penjual', 'total', 'tanggal_transaksi', 'batas_konfirmasi_transaksi', 'status');
|
->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'])) {
|
if ($request->has('search') && !empty($request->search['value'])) {
|
||||||
$searchRefund = $request->search['value'];
|
$searchRefund = $request->search['value'];
|
||||||
$subQuery->where(function ($a) use ($searchRefund) {
|
if (!is_numeric($searchRefund)) {
|
||||||
$a->whereRaw('pembeli LIKE ?', ['%' . $searchRefund . '%'])
|
// if(strtotime($searchRefund) != false){
|
||||||
->orWhereRaw('nama_barang LIKE ?', ['%' . $searchRefund . '%'])
|
// $subQuery->where(function ($a) use ($searchRefund) {
|
||||||
->orWhereRaw('penjual LIKE ?', ['%' . $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'));
|
||||||
}
|
// });
|
||||||
$queryRefund = Refund::from(DB::raw("({$subQuery->toSql()}) as tmp"))
|
// }else{
|
||||||
->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters
|
$subQuery->where(function ($a) use ($searchRefund) {
|
||||||
->select('*')
|
$a->whereRaw('LOWER(b.nama_depan) LIKE ?', ['%' . strtolower($searchRefund) . '%'])
|
||||||
->get();
|
->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()) {
|
}else {
|
||||||
return DataTables::of($queryRefund)
|
$subQuery->where(function ($a) use ($searchRefund) {
|
||||||
->addIndexColumn()
|
$a->whereDay('refunds.created_at', '=', $searchRefund)
|
||||||
->addColumn('aksi', function ($row) {
|
->orWhereMonth('refunds.created_at', '=', $searchRefund)
|
||||||
$url = route('admin-refund.show', ['id' => $row->id]);
|
->orWhereYear('refunds.created_at', '=', $searchRefund)
|
||||||
$html_code = '
|
->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 =
|
||||||
|
'
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle"
|
<button type="button" class="btn btn-primary dropdown-toggle"
|
||||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
@ -163,14 +192,16 @@ class AdminRefundController extends Controller
|
|||||||
|
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li><a class="dropdown-item"
|
<li><a class="dropdown-item"
|
||||||
href="'.$url.'">Detail</a>
|
href="' .
|
||||||
|
$url .
|
||||||
|
'">Detail</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>';
|
</div>';
|
||||||
return $html_code;
|
return $html_code;
|
||||||
})
|
})
|
||||||
->rawColumns(['aksi'])
|
->rawColumns(['action'])
|
||||||
->make(true);
|
->make(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ class AdminSettingController extends Controller
|
|||||||
return DataTables::of($querySetting)
|
return DataTables::of($querySetting)
|
||||||
->addIndexColumn()
|
->addIndexColumn()
|
||||||
->addColumn('action', function($row){
|
->addColumn('action', function($row){
|
||||||
$status = $row->status ? 'checked' : '';
|
$status = $row->status == 'Active' ? 'checked' : '';
|
||||||
$html_code = '<label class="switch">
|
$html_code = '<label class="switch">
|
||||||
<input type="checkbox" '.$status.'
|
<input type="checkbox" '.$status.'
|
||||||
data-id="'. $row->id.'">
|
data-id="'. $row->id.'">
|
||||||
|
@ -29,37 +29,9 @@
|
|||||||
<th>Aksi</th>
|
<th>Aksi</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
{{-- <tbody>
|
<tbody>
|
||||||
@foreach ($refunds as $refund)
|
|
||||||
<tr>
|
</tbody>
|
||||||
<td>{{ $loop->iteration }}</td>
|
|
||||||
<td>{{ $refund->transaction->data_pembeli->nama_depan }}
|
|
||||||
</td>
|
|
||||||
<td>{{ $refund->transaction->nama_barang }}
|
|
||||||
</td>
|
|
||||||
<td>{{ $refund->transaction->data_penjual->nama_depan }}
|
|
||||||
</td>
|
|
||||||
<td>{{ $refund->total }}</td>
|
|
||||||
<td>{{ $refund->created_at }}</td>
|
|
||||||
<td>{{ $refund->due_date }}</td>
|
|
||||||
<td><a href="#" data-toggle="modal" data-target="#modalKeteranganStatus"
|
|
||||||
class="badge {{ $refund->status == 'partial refund' ? 'badge-succes' : ($refund->status == 'pending' ? 'badge-warning' : 'badge-danger') }}">{{ ucwords($refund->status) }}</a>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="btn-group">
|
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle"
|
|
||||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
||||||
...
|
|
||||||
</button>
|
|
||||||
<div class="dropdown-menu">
|
|
||||||
<a class="dropdown-item"
|
|
||||||
href="{{ route('admin-refund.show', $refund->id) }}">Detail</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
</tbody> --}}
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -74,73 +46,79 @@
|
|||||||
serverSide: true,
|
serverSide: true,
|
||||||
ajax: `{{ route('admin-refund.list-refund') }}`,
|
ajax: `{{ route('admin-refund.list-refund') }}`,
|
||||||
columns: [{
|
columns: [{
|
||||||
data: 'DT_RowIndex',
|
data: 'DT_RowIndex',
|
||||||
name: 'DT_RowIndex',
|
name: 'DT_RowIndex',
|
||||||
orderable: false,
|
orderable: false,
|
||||||
searchable: true,
|
searchable: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
data: 'id',
|
data: 'pembeli',
|
||||||
name: 'id',
|
name: 'pembeli',
|
||||||
orderable: false,
|
},
|
||||||
searchable: true,
|
{
|
||||||
},
|
data: 'nama_barang',
|
||||||
{
|
name: 'nama_barang',
|
||||||
data: 'pembeli',
|
},
|
||||||
name: 'pembeli',
|
{
|
||||||
},
|
data: 'penjual',
|
||||||
{
|
name: 'penjual',
|
||||||
data: 'nama_barang',
|
},
|
||||||
name: 'nama_barang',
|
{
|
||||||
},
|
data: 'total',
|
||||||
{
|
name: 'total',
|
||||||
data: 'penjual',
|
},
|
||||||
name: 'penjual',
|
{
|
||||||
},
|
data: 'created_at',
|
||||||
{
|
name: 'created_at',
|
||||||
data: 'total',
|
render: function(data, type, row) {
|
||||||
name: 'total',
|
if (type == 'display') {
|
||||||
},
|
var date = new Date(data);
|
||||||
{
|
var formattedDate = date.toLocaleDateString('id-ID', {
|
||||||
data: 'tanggal_pengajuan',
|
year: '2-digit',
|
||||||
name: 'tanggal_pengajuan',
|
month: '2-digit',
|
||||||
render: function(data, type, row) {
|
day: '2-digit'
|
||||||
if (type == 'display') {
|
});
|
||||||
var date = new Date(data);
|
return formattedDate;
|
||||||
var formattedDate = date.toLocaleDateString('en-US', {
|
}
|
||||||
year: '2-digit',
|
return data;
|
||||||
month: '2-digit',
|
|
||||||
day: '2-digit'
|
|
||||||
});
|
|
||||||
return formattedDate;
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
data: 'batas_konfirmasi',
|
|
||||||
name: 'batas_konfirmasi',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
data: null,
|
|
||||||
render: function(data, type, row) {
|
|
||||||
if (row.status == 'partial refund') {
|
|
||||||
return `<a href="#" data-toggle="modal" data-target="#modalKeteranganStatus" class="badge badge-success">${row.status}</a>`;
|
|
||||||
}else if (row.status == 'pending') {
|
|
||||||
return `<a href="#" data-toggle="modal" data-target="#modalKeteranganStatus" class="badge badge-warning">${row.status}</a>`;
|
|
||||||
}else {
|
|
||||||
return `<a href="#" data-toggle="modal" data-target="#modalKeteranganStatus" class="badge badge-danger">${row.status}</a>`;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
orderable: true,
|
{
|
||||||
searchable: true
|
data: 'due_date',
|
||||||
},
|
name: 'due_date',
|
||||||
{
|
render: function(data, type, row) {
|
||||||
data: 'aksi',
|
if (type == 'display') {
|
||||||
name: 'aksi',
|
var date = new Date(data);
|
||||||
orderable: false,
|
var formattedDate = date.toLocaleDateString('id-ID', {
|
||||||
searchable: true
|
year: '2-digit',
|
||||||
}
|
month: '2-digit',
|
||||||
|
day: '2-digit'
|
||||||
|
});
|
||||||
|
return formattedDate;
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
data: 'status',
|
||||||
|
render: function(data, type, row) {
|
||||||
|
if (row.status == 'partial refund') {
|
||||||
|
return `<a href="#" data-toggle="modal" data-target="#modalKeteranganStatus" class="badge badge-success">${row.status}</a>`;
|
||||||
|
} else if (row.status == 'pending') {
|
||||||
|
return `<a href="#" data-toggle="modal" data-target="#modalKeteranganStatus" class="badge badge-warning">${row.status}</a>`;
|
||||||
|
} else {
|
||||||
|
return `<a href="#" data-toggle="modal" data-target="#modalKeteranganStatus" class="badge badge-danger">${row.status}</a>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
orderable: true,
|
||||||
|
searchable: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
data: 'action',
|
||||||
|
name: 'action',
|
||||||
|
orderable: false,
|
||||||
|
searchable: false
|
||||||
|
}
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
$("#bulan").select2();
|
$("#bulan").select2();
|
||||||
|
|
||||||
$('#tambahModal').click(function() {
|
$('#tambahModal').click(function() {
|
||||||
$('#ModalSetting').modal('show');
|
$('#modalSetting').modal('show');
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#buttonTanya').click(function() {
|
$('#buttonTanya').click(function() {
|
||||||
@ -96,6 +96,8 @@
|
|||||||
if (response.status) {
|
if (response.status) {
|
||||||
Swal.close();
|
Swal.close();
|
||||||
listSetting.ajax.reload();
|
listSetting.ajax.reload();
|
||||||
|
form.reset();
|
||||||
|
$('#modalSetting').modal('hide');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<div class="modal fade" id="ModalSetting" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle"
|
<div class="modal fade" id="modalSetting" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle"
|
||||||
aria-hidden="true">
|
aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
|
@ -134,6 +134,8 @@
|
|||||||
data-client-key="SB-Mid-client-lEMALcmIPviksRRe"></script>
|
data-client-key="SB-Mid-client-lEMALcmIPviksRRe"></script>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
let listPembeli = $('#table-pembeli').DataTable({});
|
||||||
|
|
||||||
// Bayar
|
// Bayar
|
||||||
$('#table-3').on('click', '#bayar', function() {
|
$('#table-3').on('click', '#bayar', function() {
|
||||||
const id = $(this).data('id');
|
const id = $(this).data('id');
|
||||||
|
Loading…
Reference in New Issue
Block a user