Compare commits
4 Commits
a84a4ca90b
...
38b4f63652
Author | SHA1 | Date |
---|---|---|
|
38b4f63652 | |
|
34f5859c41 | |
|
19db37d2cf | |
|
747c9cf771 |
|
@ -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 '<div class="btn-group">
|
||||
<a class="btn btn-xs btn-warning mr-1" href="javascript:void(0)" onclick="detail(\'' . $data->id . '\')"><i class="fas fa-eye"></i></a>
|
||||
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('pesanans', function (Blueprint $table) {
|
||||
$table->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');
|
||||
});
|
||||
}
|
||||
};
|
|
@ -16,6 +16,8 @@
|
|||
})
|
||||
</script>
|
||||
<script src="{{ asset('assets/datatables/datatables.min.js') }}"></script>
|
||||
|
||||
<!-- Action for a table -->
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#tabelku').DataTable({
|
||||
|
@ -67,6 +69,8 @@
|
|||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
<!-- Action Print -->
|
||||
<script>
|
||||
function printDapurTigaKali(id) {
|
||||
var url = "{{ route('transaksi.printDapurTigaKali', '') }}/" + id + '?print=true'
|
||||
|
@ -89,6 +93,7 @@
|
|||
location.reload(true);
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
// set interval waktu pesanan
|
||||
function showTime() {
|
||||
|
@ -187,26 +192,26 @@
|
|||
}
|
||||
|
||||
table.rows[index].cells[0].innerHTML = `
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan.." value='${paketFreenyaini}'>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan.." value='${paketFreenyaini}'>
|
||||
</div>
|
||||
</td>
|
||||
`;
|
||||
} else {
|
||||
table.rows[index].cells[0].innerHTML = `
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan..">
|
||||
</div>
|
||||
</td>
|
||||
`;
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan..">
|
||||
</div>
|
||||
</td>
|
||||
`;
|
||||
}
|
||||
|
||||
table.rows[index].cells[1].innerHTML = `
|
||||
|
@ -252,80 +257,80 @@
|
|||
paketFreenyaini = paketFreenya.join(', ');
|
||||
}
|
||||
$('#tbody-order-menus').append(`
|
||||
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" class="form-control rounded-3" data-keterangan="${paketFreenyaini}" placeholder="Keterangan.." value="${paketFreenyaini}">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
|
||||
</span>
|
||||
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
|
||||
<option value="2" selected>Dine In</option>
|
||||
<option value="0">Take Away</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||
<i class="fas fa-trash"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
`);
|
||||
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" class="form-control rounded-3" data-keterangan="${paketFreenyaini}" placeholder="Keterangan.." value="${paketFreenyaini}">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
|
||||
</span>
|
||||
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
|
||||
<option value="2" selected>Dine In</option>
|
||||
<option value="0">Take Away</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||
<i class="fas fa-trash"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
`);
|
||||
} else {
|
||||
$('#tbody-order-menus').append(`
|
||||
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan..">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
|
||||
</span>
|
||||
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
|
||||
<option value="2" selected>Dine In</option>
|
||||
<option value="0">Take Away</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||
<i class="fas fa-trash"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
`);
|
||||
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan..">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
|
||||
</span>
|
||||
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
|
||||
<option value="2" selected>Dine In</option>
|
||||
<option value="0">Take Away</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||
<i class="fas fa-trash"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
`);
|
||||
}
|
||||
|
||||
calculateTotal();
|
||||
|
@ -478,15 +483,15 @@
|
|||
table.rows[index].setAttribute('data-total', totalLama);
|
||||
|
||||
table.rows[index].cells[0].innerHTML = `
|
||||
<td>
|
||||
${nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-3" placeholder="Keterangan..">
|
||||
</div>
|
||||
</td>
|
||||
`;
|
||||
<td>
|
||||
${nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-3" placeholder="Keterangan..">
|
||||
</div>
|
||||
</td>
|
||||
`;
|
||||
|
||||
table.rows[index].cells[1].innerHTML = `
|
||||
<td class="text-center">
|
||||
|
@ -776,6 +781,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 +808,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 +824,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 +837,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 +854,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 +886,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 +898,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
|
||||
});
|
||||
|
@ -1113,3 +1122,112 @@
|
|||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Action save to storage -->
|
||||
<script>
|
||||
function OrderStorage() {
|
||||
var table = document.getElementById("order-menus");
|
||||
var orderMenus = [];
|
||||
|
||||
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||
var id = row.getAttribute('data-id');
|
||||
var nama = row.getAttribute('data-nama');
|
||||
var qty = row.getAttribute('data-qty');
|
||||
var diskonSatuan = row.getAttribute('data-diskon-satuan');
|
||||
var harga = row.getAttribute('data-harga');
|
||||
var total = row.getAttribute('data-total');
|
||||
if (diskonSatuan != 0 && diskonSatuan != null && diskonSatuan != undefined) {
|
||||
total = total - (total * (diskonSatuan / 100));
|
||||
} else {
|
||||
total = total
|
||||
}
|
||||
|
||||
if (id != null || qty != null || total != null) {
|
||||
orderMenus.push({
|
||||
id: id,
|
||||
nama: nama,
|
||||
qty: qty,
|
||||
diskonSatuan: diskonSatuan,
|
||||
harga: harga,
|
||||
total: total,
|
||||
keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value,
|
||||
status_pesanan_dinein: document.getElementsByName('status_pesanan_dinein')[i - 1].value
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
let json = JSON.stringify({
|
||||
name: 'Data Pesanan',
|
||||
nama_pemesan: document.getElementsByName('nama-pemesan')[0].value,
|
||||
nomor_pemesan: document.getElementsByName('nomor-pemesan')[0].value,
|
||||
nomor_meja: document.getElementsByName('nomor-meja')[0].value,
|
||||
keterangan_pesanan: document.getElementsByName('keterangan-pesanan')[0].value,
|
||||
orderMenus
|
||||
});
|
||||
|
||||
localStorage.setItem('OrderStorage', json);
|
||||
}
|
||||
|
||||
function showOrderStorage() {
|
||||
if (localStorage.OrderStorage === undefined || localStorage.OrderStorage === null) {
|
||||
return false;
|
||||
}
|
||||
let data = JSON.parse(localStorage.OrderStorage);
|
||||
document.getElementsByName('nama-pemesan')[0].value = data.nama_pemesan ?? '',
|
||||
document.getElementsByName('nomor-pemesan')[0].value = data.nomor_pemesan,
|
||||
document.getElementsByName('nomor-meja')[0].value = data.nomor_meja,
|
||||
document.getElementsByName('keterangan-pesanan')[0].value = data.keterangan_pesanan,
|
||||
|
||||
// console.log(data);
|
||||
|
||||
data.orderMenus.forEach((i, key) => {
|
||||
globalId++;
|
||||
|
||||
$('#tbody-order-menus').append(`
|
||||
<tr id="row-${i.id}" data-id="${i.id}" data-row-id="${globalId}" data-nama="${i.nama}" data-harga="${i.harga}" data-qty="${i.qty}" data-diskon-satuan="${i.diskonSatuan}" data-total="${i.harga * i.qty}">
|
||||
<td>
|
||||
${i.nama}
|
||||
<br>
|
||||
${(parseInt(i.diskonSatuan) > 0) ? '<small class="text-primary"><s>Rp. ' + (i.harga * i.qty) + '</s></small> | <small class="text-danger">Rp. ' + ((i.harga * i.qty) - ((i.harga * i.qty) * (i.diskonSatuan / 100))) + '</small>' : '<small class="text-primary">Rp. ' + (i.harga * i.qty) + '</small>'}
|
||||
<div class="input-group input-group-sm mt-1">
|
||||
<input type="text" name="keterangan_satuan" class="form-control rounded-3" data-keterangan="${i.keterangan}" placeholder="Keterangan.." value="${i.keterangan}">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${i.nama}')"><b>-</b></button>
|
||||
</span>
|
||||
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${i.qty}">
|
||||
<span class="input-group-append">
|
||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${i.nama}')">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
|
||||
<option value="2" ${(i.status_pesanan_dinein == 2) ? 'selected' : ''}>Dine In</option>
|
||||
<option value="0" ${(i.status_pesanan_dinein == 0) ? 'selected' : ''}>Take Away</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="${i.diskonSatuan}" onkeyup="diskonSatuanMenu(${globalId}, '${i.nama}', this.value)">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||
<i class="fas fa-trash"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
`);
|
||||
});
|
||||
|
||||
calculateTotal();
|
||||
}
|
||||
|
||||
showOrderStorage();
|
||||
|
||||
// show time every second
|
||||
setInterval(OrderStorage, 1000);
|
||||
</script>
|
||||
@endpush
|
||||
|
|
|
@ -581,11 +581,10 @@
|
|||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
background-color: cyan;
|
||||
background-color: white;
|
||||
margin-top: 8px;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@include('pages.Kasir.js')
|
||||
|
||||
@endpush
|
||||
|
|
|
@ -32,14 +32,31 @@
|
|||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<input type="date" class="form-control form-control-sm" id="filter_tanggal_1"
|
||||
<input type="date" class="form-control" id="filter_tanggal_1"
|
||||
name="filter_tanggal_1" value="{{ date('Y-m-d') }}">
|
||||
</div>
|
||||
<p>s/d</p>
|
||||
<div class="col-md-3">
|
||||
<input type="date" class="form-control form-control-sm" id="filter_tanggal_2"
|
||||
<input type="date" class="form-control" id="filter_tanggal_2"
|
||||
name="filter_tanggal_2" value="{{ date('Y-m-d') }}">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<select type="text" class="form-control select2" id="jenis_coa"
|
||||
style="width: 100%;" name="jenis_coa">
|
||||
<option selected value="">--Pilih Rekening--</option>
|
||||
@foreach ($aba as $coaAba)
|
||||
@if ($coaAba->status == 0)
|
||||
<optgroup label="{{ $coaAba->coa }} | {{ $coaAba->keterangan_coa }}">
|
||||
@else
|
||||
<option
|
||||
value="{{ $coaAba->id }}|{{ $coaAba->coa }}|{{ $coaAba->keterangan_coa }}">
|
||||
{{ $coaAba->coa }} | {{ $coaAba->keterangan_coa }}</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</optgroup>
|
||||
<option value=""><b>Tampilkan Semua data</b></option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<a href="javascript:void(0)" class="btn btn-sm btn-primary" id="btn_filter"><i
|
||||
class="fas fa-search mr-1"></i>Filter data</a>
|
||||
|
@ -63,7 +80,7 @@
|
|||
<th class="text-center">No</th>
|
||||
<th>Kode Pesanan</th>
|
||||
<th>Pemesan</th>
|
||||
<th>Nomor Meja</th>
|
||||
<th>Status Pembayaran</th>
|
||||
<th>Tanggal & Jam</th>
|
||||
<th>Total Pesanan</th>
|
||||
<th>Sub Total</th>
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
@push('scripts')
|
||||
<script src="{{ asset('assets/datatables/datatables.min.js') }}"></script>
|
||||
<script src="{{ asset('assets/plugins/sweetalert2/sweetalert2.min.js') }}"></script>
|
||||
<script src="{{ asset('assets/plugins/select2/js/select2.full.min.js') }}"></script>
|
||||
|
||||
<script>
|
||||
// $('.select2').select2();
|
||||
$(document).ready(function() {
|
||||
let dataTable = $('#tabelku').DataTable({
|
||||
aLengthMenu: [
|
||||
|
@ -15,6 +18,7 @@
|
|||
data: function(d) {
|
||||
d.filter_tanggal_1 = $("#filter_tanggal_1").val();
|
||||
d.filter_tanggal_2 = $("#filter_tanggal_2").val();
|
||||
d.akun_coa = $("#jenis_coa").val();
|
||||
}
|
||||
},
|
||||
columns: [{
|
||||
|
@ -32,8 +36,8 @@
|
|||
name: 'nama_pemesan'
|
||||
},
|
||||
{
|
||||
data: 'nomor_meja',
|
||||
name: 'nomor_meja'
|
||||
data: 'jenis_pembayarannya',
|
||||
name: 'jenis_pembayarannya'
|
||||
},
|
||||
{
|
||||
data: 'created_at',
|
||||
|
|
|
@ -23,8 +23,18 @@
|
|||
<td style="text-align: center; font-size: 20px; font-weight: bold;">Laporan Transaksi Penjualan</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: center;">Pencarian:
|
||||
{{ 'Antara Tanggal ' . toDmy($filter_tanggal_1) . ' s/d Tanggal ' . toDmy($filter_tanggal_2) . '' }}
|
||||
<td>
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="text-align: left;">
|
||||
Pencarian:
|
||||
{{ 'Antara Tanggal ' . toDmy($filter_tanggal_1) . ' s/d Tanggal ' . toDmy($filter_tanggal_2) . '' }}
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
Jenis Pembayaran: {{ $keterangan_coa }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -36,7 +46,7 @@
|
|||
<th style="border-collapse:collapse; border:1px solid black;">Kode Pesanan</th>
|
||||
<th style="border-collapse:collapse; border:1px solid black;">Kasir</th>
|
||||
<th style="border-collapse:collapse; border:1px solid black;">Nama Pemesan</th>
|
||||
<th style="border-collapse:collapse; border:1px solid black;">Tanggal</th>
|
||||
<th style="border-collapse:collapse; border:1px solid black;width: 24%">Tanggal</th>
|
||||
<th style="border-collapse:collapse; border:1px solid black;">Jenis Pembayaran</th>
|
||||
<th style="border-collapse:collapse; border:1px solid black;">Nominal</th>
|
||||
{{-- <th style="border-collapse:collapse; border:1px solid black;">Keterangan</th> --}}
|
||||
|
@ -59,13 +69,21 @@
|
|||
@if ($val->jenis_pembayaran == 1 || $val->jenis_pembayaran == null)
|
||||
Tunai
|
||||
@else
|
||||
Non Tunai
|
||||
<br>
|
||||
({{ $val->bukuBesar[0]->keterangan_coa }})
|
||||
{{ $val->rekening_coa->keterangan_coa }}
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align: left; border-collapse:collapse; border:1px solid black;">Rp
|
||||
{{ format_uang($val->grand_total) }}</td>
|
||||
<td style="text-align: left; border-collapse:collapse; border:1px solid black;">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="text-align:
|
||||
left;">Rp
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
{{ format_uang($val->grand_total) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
{{-- <td style="border-collapse:collapse; border:1px solid black;">{{ $val->keterangan }}</td> --}}
|
||||
</tr>
|
||||
@endforeach
|
||||
|
@ -79,9 +97,19 @@
|
|||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="6" style="text-align: right; border-collapse:collapse; border:1px solid black;">Total
|
||||
|
||||
</th>
|
||||
<th style="text-align: left; border-collapse:collapse; border:1px solid black;">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="text-align: left;">Rp
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
{{ format_uang($total) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
<th style="text-align: left; border-collapse:collapse; border:1px solid black;">Rp
|
||||
{{ format_uang($total) }}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
|
|
@ -16,4 +16,5 @@
|
|||
<link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('assets/datatables/datatables.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('assets/plugins/sweetalert2/sweetalert2.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('assets/plugins/select2/css/select2.min.css') }}">
|
||||
@endpush
|
||||
|
|
Loading…
Reference in New Issue