diff --git a/app/Http/Controllers/Admins/Penjualan/PenjualanController.php b/app/Http/Controllers/Admins/Penjualan/PenjualanController.php
index d939019..1fb2645 100644
--- a/app/Http/Controllers/Admins/Penjualan/PenjualanController.php
+++ b/app/Http/Controllers/Admins/Penjualan/PenjualanController.php
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admins\Penjualan;
use App\Http\Controllers\Controller;
use App\Models\DetailPesanan;
use App\Models\Pesanan;
+use App\Models\RekeningCoa;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@@ -13,7 +14,9 @@ class PenjualanController extends Controller
{
public function index()
{
- return view('pages.admin.penjualan.index');
+ $aba = RekeningCoa::where('kode_coa', 1)->where('sub_kode_coa', 200)->get();
+
+ return view('pages.admin.penjualan.index', compact('aba'));
}
public function getDataPenjualan(Request $request)
@@ -21,18 +24,35 @@ class PenjualanController extends Controller
$nomor = 1;
$filter_tanggal_1 = $request->filter_tanggal_1;
$filter_tanggal_2 = $request->filter_tanggal_2;
- $data = Pesanan::with(['detailPesanan', 'user'])
- ->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) {
- return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1);
- })
- ->when($filter_tanggal_2, function ($query) use ($filter_tanggal_2) {
- return $query->whereDate('tanggal_pesanan', '<=', $filter_tanggal_2);
- })
- ->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) {
- return $query->whereDate('tanggal_pesanan', Carbon::today());
- })
- ->orderBy('tanggal_pesanan', 'desc')
- ->get();
+ $akun_coa = $request->akun_coa;
+ if ($request->akun_coa == null) {
+ $data = Pesanan::with(['detailPesanan', 'user', 'rekening_coa'])
+ ->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) {
+ return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1);
+ })
+ ->when($filter_tanggal_2, function ($query) use ($filter_tanggal_2) {
+ return $query->whereDate('tanggal_pesanan', '<=', $filter_tanggal_2);
+ })
+ ->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) {
+ return $query->whereDate('tanggal_pesanan', Carbon::today());
+ })
+ ->orderBy('tanggal_pesanan', 'desc')
+ ->get();
+ } else {
+ $data = Pesanan::with(['detailPesanan', 'user', 'rekening_coa'])
+ ->where('rekening_coa_id', $akun_coa)
+ ->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) {
+ return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1);
+ })
+ ->when($filter_tanggal_2, function ($query) use ($filter_tanggal_2) {
+ return $query->whereDate('tanggal_pesanan', '<=', $filter_tanggal_2);
+ })
+ ->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) {
+ return $query->whereDate('tanggal_pesanan', Carbon::today());
+ })
+ ->orderBy('tanggal_pesanan', 'desc')
+ ->get();
+ }
return datatables()
->of($data)
@@ -55,6 +75,9 @@ class PenjualanController extends Controller
->addColumn('grand_total_rp', function ($data) {
return 'Rp ' . number_format($data->grand_total, 0, ',', '.');
})
+ ->addColumn('jenis_pembayarannya', function ($data) {
+ return $data->jenis_pembayaran == 1 ? 'Tunai' : 'Non-Tunai' . ' (' . $data->rekening_coa->keterangan_coa . ')';
+ })
->addColumn('ubah', function ($data) {
return '
@@ -94,13 +117,25 @@ class PenjualanController extends Controller
$mpdf->AddPage();
$mpdf->setFooter('{PAGENO}');
- $data = Pesanan::with(['user', 'bukuBesar'])->whereDate('tanggal_pesanan', '>=', $request->filter_tanggal_1)
- ->whereDate('tanggal_pesanan', '<=', $request->filter_tanggal_2)
- ->get();
+ $filter_tanggal_1 = $request->filter_tanggal_1;
+ $filter_tanggal_2 = $request->filter_tanggal_2;
+ if ($request->jenis_coa == null) {
+ $keterangan_coa = 'Semua';
+ $data = Pesanan::with(['user', 'bukuBesar', 'rekening_coa'])->whereDate('tanggal_pesanan', '>=', $request->filter_tanggal_1)
+ ->whereDate('tanggal_pesanan', '<=', $request->filter_tanggal_2)
+ ->get();
+ } else {
+ $keterangan_coa = RekeningCoa::find($request->jenis_coa)->keterangan_coa;
+ $data = Pesanan::with(['user', 'bukuBesar', 'rekening_coa'])->where('rekening_coa_id', $request->jenis_coa)->whereDate('tanggal_pesanan', '>=', $request->filter_tanggal_1)
+ ->whereDate('tanggal_pesanan', '<=', $request->filter_tanggal_2)
+ ->get();
+ }
+
$html = view('pages.admin.penjualan.laporan', [
'data' => $data,
- 'filter_tanggal_1' => $request->filter_tanggal_1,
- 'filter_tanggal_2' => $request->filter_tanggal_2,
+ 'filter_tanggal_1' => $filter_tanggal_1,
+ 'filter_tanggal_2' => $filter_tanggal_2,
+ 'keterangan_coa' => $keterangan_coa
]);
$mpdf->writeHTML($html);
diff --git a/app/Http/Controllers/Kasir/Transaksi.php b/app/Http/Controllers/Kasir/Transaksi.php
index adf5400..5ca4e50 100644
--- a/app/Http/Controllers/Kasir/Transaksi.php
+++ b/app/Http/Controllers/Kasir/Transaksi.php
@@ -182,6 +182,7 @@ class Transaksi extends Controller
'status_bayar' => '1',
'user_id' => $user->id,
'jenis_pembayaran' => $request->jenis_pembayaran,
+ 'rekening_coa_id' => $request->id_rekening_coa,
];
$pesananModels = \App\Models\Pesanan::create($pesananDatas);
}
diff --git a/app/Models/Pesanan.php b/app/Models/Pesanan.php
index 372c2b7..17e5e4d 100644
--- a/app/Models/Pesanan.php
+++ b/app/Models/Pesanan.php
@@ -34,7 +34,7 @@ class Pesanan extends Model
'diskon_rupiah',
'user_id',
'jenis_pembayaran',
- 'coa_kas',
+ 'rekening_coa_id',
];
public function detailPesanan()
@@ -62,4 +62,9 @@ class Pesanan extends Model
{
return $this->hasMany(BukuBesar::class, 'pesanans_id');
}
+
+ public function rekening_coa()
+ {
+ return $this->belongsTo(RekeningCoa::class, 'rekening_coa_id');
+ }
}
diff --git a/database/migrations/2024_02_19_165439_change_comment_in_coa_kas_column_in_pesanans_table.php b/database/migrations/2024_02_19_165439_change_comment_in_coa_kas_column_in_pesanans_table.php
new file mode 100644
index 0000000..a361be6
--- /dev/null
+++ b/database/migrations/2024_02_19_165439_change_comment_in_coa_kas_column_in_pesanans_table.php
@@ -0,0 +1,30 @@
+dropForeign(['coa_kas']);
+ $table->dropColumn('coa_kas');
+ $table->foreignId('rekening_coa_id')->nullable()->after('jenis_pembayaran')->comment('relation in id coa kas')->references('id')->on('rekening_coa')->onUpdate('cascade')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('pesanans', function (Blueprint $table) {
+ $table->dropColumn('coa_kas');
+ });
+ }
+};
diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php
index 6d11623..6468992 100644
--- a/resources/views/pages/Kasir/js.blade.php
+++ b/resources/views/pages/Kasir/js.blade.php
@@ -776,6 +776,7 @@
// pembayaran non tunai
$('#pembayaran-nontunai').on('click', function() {
+ document.getElementById('pembayaran-nontunai').disabled = true;
let jenis_pembayaran = "2"
// return console.log(jenis_pembayaran);
var table = document.getElementById("order-menus");
@@ -802,7 +803,10 @@
diskonSatuan: diskonSatuan,
harga: harga,
total: total,
- keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value
+ keterangan: document.getElementsByName('keterangan_satuan')[i - 1]
+ .value,
+ status_pesanan_dinein: document.getElementsByName(
+ 'status_pesanan_dinein')[i - 1].value,
});
}
}
@@ -815,11 +819,11 @@
var namaPemesan = document.getElementsByName('nama-pemesan')[0].value;
var nomorPemesan = document.getElementsByName('nomor-pemesan')[0].value;
var nomorMeja = document.getElementsByName('nomor-meja')[0].value;
- var rekening_coa_aba_penarikan = $("#rekening_coa_aba_penarikan").val()
- var split_rekening_coa_aba_penarikan = rekening_coa_aba_penarikan.split("|")
- var id_rekening_coa = split_rekening_coa_aba_penarikan[0]
- var kode_coa = split_rekening_coa_aba_penarikan[1]
- var keterangan_coa = split_rekening_coa_aba_penarikan[2]
+ var rekening_coa_aba_penarikan = $("#rekening_coa_aba_penarikan").val();
+ var split_rekening_coa_aba_penarikan = rekening_coa_aba_penarikan.split("|");
+ var id_rekening_coa = split_rekening_coa_aba_penarikan[0];
+ var kode_coa = split_rekening_coa_aba_penarikan[1];
+ var keterangan_coa = split_rekening_coa_aba_penarikan[2];
if (rekening_coa_aba_penarikan == '') {
alert('Pilih kas tujuan');
@@ -828,7 +832,7 @@
if (orderMenus.length == 0) {
alert('Menu tidak boleh kosong');
- document.getElementById('pesan-bayar-tunai').disabled = false;
+ document.getElementById('pembayaran-nontunai').disabled = false;
return false;
}
// if (totalDiskon != 0) {
@@ -845,12 +849,12 @@
// }
if (namaPemesan == '' || namaPemesan == null || namaPemesan == undefined) {
alert('Nama pemesan tidak boleh kosong');
- document.getElementById('pesan-bayar-tunai').disabled = false;
+ document.getElementById('pembayaran-nontunai').disabled = false;
return false;
}
if (nomorMeja == '' || nomorMeja == null || nomorMeja == undefined) {
alert('Nomor meja tidak boleh kosong');
- document.getElementById('pesan-bayar-tunai').disabled = false;
+ document.getElementById('pembayaran-nontunai').disabled = false;
return false;
}
@@ -877,7 +881,7 @@
method: "POST",
data: data,
success: function(result) {
- document.getElementById('pesan-bayar-tunai').disabled = false;
+ document.getElementById('pembayaran-nontunai').disabled = false;
toastr.success(result.message, 'Success', {
timeOut: 2000
});
@@ -889,7 +893,7 @@
}, 1000);
},
error: function(xhr, status, error) {
- document.getElementById('pesan-bayar-tunai').disabled = false;
+ document.getElementById('pembayaran-nontunai').disabled = false;
toastr.error(xhr.responseJSON.message, 'Error', {
timeOut: 3000
});
diff --git a/resources/views/pages/admin/penjualan/index.blade.php b/resources/views/pages/admin/penjualan/index.blade.php
index 68fced4..30dddd6 100644
--- a/resources/views/pages/admin/penjualan/index.blade.php
+++ b/resources/views/pages/admin/penjualan/index.blade.php
@@ -32,14 +32,31 @@
@csrf
-
s/d
-
+
+
+
Filter data
@@ -63,7 +80,7 @@
No |
Kode Pesanan |
Pemesan |
-
Nomor Meja |
+
Status Pembayaran |
Tanggal & Jam |
Total Pesanan |
Sub Total |
diff --git a/resources/views/pages/admin/penjualan/js.blade.php b/resources/views/pages/admin/penjualan/js.blade.php
index f2c3ac3..f922141 100644
--- a/resources/views/pages/admin/penjualan/js.blade.php
+++ b/resources/views/pages/admin/penjualan/js.blade.php
@@ -1,7 +1,10 @@
@push('scripts')
+
+