diff --git a/htdocs/app/Http/Controllers/GudangController.php b/htdocs/app/Http/Controllers/GudangController.php index 63c7d533..caba515d 100644 --- a/htdocs/app/Http/Controllers/GudangController.php +++ b/htdocs/app/Http/Controllers/GudangController.php @@ -163,27 +163,22 @@ class GudangController extends Controller } public function jsonReportbhp(Request $request) { - $bulan = $request->input('val01'); - $tahun = $request->input('val02'); + $mulai = $request->input('val01'); + $akhir = $request->input('val02'); $hasil = []; - if ($tahun == 'ALL'){ - $bulan = date("m"); - $tahun = date("Y"); - $getdata = SIMBHPReport::where('bulan', $bulan)->where('tahun', $tahun)->orderBy('id', 'DESC')->get(); + if ($mulai == $akhir OR $akhir == '' OR $akhir == null){ + $getdata = SIMBHPReport::whereDate('created_at', $mulai)->orderBy('id', 'DESC')->get(); } else { - if ($bulan == 'ALL'){ - $getdata = SIMBHPReport::where('tahun', $tahun)->orderBy('id', 'DESC')->get(); - } else { - $getdata = SIMBHPReport::where('bulan', $bulan)->where('tahun', $tahun)->orderBy('id', 'DESC')->get(); - } + $getdata = SIMBHPReport::whereBetween('created_at', [$mulai, $akhir])->orderBy('id', 'DESC')->get(); } + foreach($getdata as $rdata){ - $dd = $rdata->tanggal; - $mm = $rdata->bulan; - $yy = $rdata->tahun; - $pengeluaran = $rdata->pengeluaran; - $pemasukan = $rdata->pemasukan; - $deskripsiGabungan = trim((string) ($rdata->deskripsi ?? '')); + $dd = $rdata->tanggal; + $mm = $rdata->bulan; + $yy = $rdata->tahun; + $pengeluaran = $rdata->pengeluaran; + $pemasukan = $rdata->pemasukan; + $deskripsiGabungan = trim((string) ($rdata->deskripsi ?? '')); $keteranganGabungan = trim((string) ($rdata->keterangan ?? '')); if ($keteranganGabungan !== '') { $deskripsiGabungan = $deskripsiGabungan !== '' @@ -199,18 +194,18 @@ class GudangController extends Controller else { $total = $pengeluaran; } $hasil[] = array( - 'id' => $rdata->id, - 'tanggal' => $rdata->tanggal, - 'bulan' => $rdata->bulan, - 'tahun' => $rdata->tahun, - 'deskripsi' => $deskripsiGabungan, - 'pemasukan' => number_format( $pemasukan , 0 , '.' , ',' ), - 'pengeluaran' => number_format( $pengeluaran , 0 , '.' , ',' ), - 'jenis' => $rdata->jenis, - 'masa_expired' => $rdata->masa_expired, - 'keterangan' => $rdata->keterangan, - 'tgllengkap' => $tgllengkap, - 'total' => $total, + 'id' => $rdata->id, + 'tanggal' => $rdata->tanggal, + 'bulan' => $rdata->bulan, + 'tahun' => $rdata->tahun, + 'deskripsi' => $deskripsiGabungan, + 'pemasukan' => number_format( $pemasukan , 0 , '.' , ',' ), + 'pengeluaran' => number_format( $pengeluaran , 0 , '.' , ',' ), + 'jenis' => $rdata->jenis, + 'masa_expired' => $rdata->masa_expired, + 'keterangan' => $rdata->keterangan, + 'tgllengkap' => $tgllengkap, + 'total' => $total, ); } echo json_encode($hasil); diff --git a/htdocs/resources/views/admin/gudang.blade.php b/htdocs/resources/views/admin/gudang.blade.php index d49ecc1d..177cc92c 100644 --- a/htdocs/resources/views/admin/gudang.blade.php +++ b/htdocs/resources/views/admin/gudang.blade.php @@ -254,11 +254,11 @@

-
- +
+
-
- +
+
@@ -756,16 +756,18 @@ $(function () { $("#in_tanggal").datepicker({format: 'yyyy-mm-dd'}); $("#out_tanggal").datepicker({format: 'yyyy-mm-dd'}); - $("#edit_tanggal").datepicker({format: 'yyyy-mm-dd'}); - $("#op_in_tanggal").datepicker({format: 'yyyy-mm-dd'}); - $("#op_adj_tanggal").datepicker({format: 'yyyy-mm-dd'}); - $("#in_masa_expired").datepicker({format: 'dd-mm-yyyy'}); - $("#op_in_masa_expired").datepicker({format: 'dd-mm-yyyy'}); - $("#edit_masa_expired").datepicker({format: 'dd-mm-yyyy'}); + $("#edit_tanggal").datepicker({format: 'yyyy-mm-dd'}); + $("#op_in_tanggal").datepicker({format: 'yyyy-mm-dd'}); + $("#op_adj_tanggal").datepicker({format: 'yyyy-mm-dd'}); + $("#in_masa_expired").datepicker({format: 'dd-mm-yyyy'}); + $("#op_in_masa_expired").datepicker({format: 'dd-mm-yyyy'}); + $("#edit_masa_expired").datepicker({format: 'dd-mm-yyyy'}); + $("#mulai").datepicker({format: 'yyyy-mm-dd'}); + $("#akhir").datepicker({format: 'yyyy-mm-dd'}); }); function openedpage( jQuery ){ - var set01=document.getElementById('cekbln').value; - var set02=document.getElementById('cekthn').value; + var set01=document.getElementById('mulai').value; + var set02=document.getElementById('akhir').value; var token=document.getElementById('token').value; var source = { datatype: "json", @@ -1753,115 +1755,115 @@ return normalizeKode(selected.data('kodejenis') || ''); } - $('#op_in_scan').on('keypress', function(e){ - if(e.which === 13){ - e.preventDefault(); - var scanVal = $(this).val(); - var ok = setSelectByKode('#op_in_pos', scanVal); - $(this).val(''); - if(ok){ - if(ok.mode){ - $('#op_in_satuan_transaksi').val(ok.mode); - } - syncOpInSelected(); - setTimeout(function(){ $('#op_in_total').focus(); }, 100); - }else{ - $.toast({ heading: 'Gagal', text: 'Kode barang tidak ditemukan', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 }); + $('#op_in_scan').on('keypress', function(e){ + if(e.which === 13){ + e.preventDefault(); + var scanVal = $(this).val(); + var ok = setSelectByKode('#op_in_pos', scanVal); + $(this).val(''); + if(ok){ + if(ok.mode){ + $('#op_in_satuan_transaksi').val(ok.mode); } + syncOpInSelected(); + setTimeout(function(){ $('#op_in_total').focus(); }, 100); + }else{ + $.toast({ heading: 'Gagal', text: 'Kode barang tidak ditemukan', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 }); } - }); + } + }); - $('#op_adj_scan').on('keypress', function(e){ - if(e.which === 13){ - e.preventDefault(); - var scanVal = $(this).val(); - var ok = setSelectByKode('#op_adj_pos', scanVal); - $(this).val(''); - if(ok){ - if(ok.mode){ - $('#op_adj_satuan_transaksi').val(ok.mode); - } - syncOpAdjSelected(); - setTimeout(function(){ $('#op_adj_total').focus(); }, 100); - }else{ - $.toast({ heading: 'Gagal', text: 'Kode barang tidak ditemukan', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 }); + $('#op_adj_scan').on('keypress', function(e){ + if(e.which === 13){ + e.preventDefault(); + var scanVal = $(this).val(); + var ok = setSelectByKode('#op_adj_pos', scanVal); + $(this).val(''); + if(ok){ + if(ok.mode){ + $('#op_adj_satuan_transaksi').val(ok.mode); } + syncOpAdjSelected(); + setTimeout(function(){ $('#op_adj_total').focus(); }, 100); + }else{ + $.toast({ heading: 'Gagal', text: 'Kode barang tidak ditemukan', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 }); } - }); + } + }); - $('#btn_op_in_addline').on('click', function(){ - var jenisSelect = $('#op_in_pos').val(); - var jenis = jenisSelect; - var kode = ''; - var isNew = false; - var satuanBesarNew = ''; - var satuanKecilNew = ''; - var konversiNew = 1; - var stokMinNew = 0; + $('#btn_op_in_addline').on('click', function(){ + var jenisSelect = $('#op_in_pos').val(); + var jenis = jenisSelect; + var kode = ''; + var isNew = false; + var satuanBesarNew = ''; + var satuanKecilNew = ''; + var konversiNew = 1; + var stokMinNew = 0; - if(jenisSelect === '__NEW__'){ - isNew = true; - jenis = ($('#op_in_new_jenis').val() || '').toString().trim(); - kode = normalizeKode($('#op_in_kode_barang').val()); - satuanBesarNew = ($('#op_in_new_satuan').val() || '').toString().trim(); - satuanKecilNew = ($('#op_in_new_satuan_kecil').val() || '').toString().trim(); - konversiNew = parseInt($('#op_in_new_konversi').val() || 1, 10); - stokMinNew = parseInt($('#op_in_new_stok_minimum').val() || 0, 10); - } else { - kode = getSelectedKode('#op_in_pos'); + if(jenisSelect === '__NEW__'){ + isNew = true; + jenis = ($('#op_in_new_jenis').val() || '').toString().trim(); + kode = normalizeKode($('#op_in_kode_barang').val()); + satuanBesarNew = ($('#op_in_new_satuan').val() || '').toString().trim(); + satuanKecilNew = ($('#op_in_new_satuan_kecil').val() || '').toString().trim(); + konversiNew = parseInt($('#op_in_new_konversi').val() || 1, 10); + stokMinNew = parseInt($('#op_in_new_stok_minimum').val() || 0, 10); + } else { + kode = getSelectedKode('#op_in_pos'); + } + + var qty = $('#op_in_total').val(); + var satuanTransaksi = $('#op_in_satuan_transaksi').val(); + var expired = $('#op_in_masa_expired').val(); + if(!jenis || !qty){ + $.toast({ heading: 'Gagal', text: 'Barang dan jumlah wajib diisi', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 }); + return; + } + if(isNew){ + if(!kode || kode.length < 2){ + $.toast({ heading: 'Gagal', text: 'Kode barang (internal) barang baru wajib (min 2 karakter)', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); + return; } - - var qty = $('#op_in_total').val(); - var satuanTransaksi = $('#op_in_satuan_transaksi').val(); - var expired = $('#op_in_masa_expired').val(); - if(!jenis || !qty){ - $.toast({ heading: 'Gagal', text: 'Barang dan jumlah wajib diisi', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 }); + if(!satuanBesarNew){ + $.toast({ heading: 'Gagal', text: 'Satuan besar barang baru wajib diisi', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); return; } - if(isNew){ - if(!kode || kode.length < 2){ - $.toast({ heading: 'Gagal', text: 'Kode barang (internal) barang baru wajib (min 2 karakter)', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); - return; - } - if(!satuanBesarNew){ - $.toast({ heading: 'Gagal', text: 'Satuan besar barang baru wajib diisi', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); - return; - } - if(satuanKecilNew !== '' && (!konversiNew || konversiNew <= 1)){ - $.toast({ heading: 'Gagal', text: 'Jika memakai satuan kecil, konversi harus > 1', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); - return; - } - if(satuanTransaksi === 'kecil' && satuanKecilNew === ''){ - $.toast({ heading: 'Gagal', text: 'Satuan transaksi kecil dipilih, tapi satuan kecil barang baru belum diisi', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); - return; - } - } + if(satuanKecilNew !== '' && (!konversiNew || konversiNew <= 1)){ + $.toast({ heading: 'Gagal', text: 'Jika memakai satuan kecil, konversi harus > 1', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); + return; + } + if(satuanTransaksi === 'kecil' && satuanKecilNew === ''){ + $.toast({ heading: 'Gagal', text: 'Satuan transaksi kecil dipilih, tapi satuan kecil barang baru belum diisi', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3500, stack: 1 }); + return; + } + } - var barcodeValue = ''; - var jenisId = null; - if(!isNew){ - var selected = $('#op_in_pos option:selected'); - jenisId = parseInt(selected.data('jenisid') || 0, 10); - barcodeValue = buildBarcodeValueById(jenisId, satuanTransaksi); - } - opInLines.push({ - jenis_id: jenisId, - kode: kode, - barcode_value: barcodeValue, - jenis: jenis, - qty: qty, - satuan_transaksi: satuanTransaksi, - masa_expired: expired, - is_new: isNew, - new_satuan: satuanBesarNew, - new_satuan_kecil: satuanKecilNew, - new_konversi: konversiNew, - new_stok_minimum: stokMinNew - }); - $('#op_in_total').val(''); - $('#op_in_masa_expired').val(''); - renderOpInLines(); + var barcodeValue = ''; + var jenisId = null; + if(!isNew){ + var selected = $('#op_in_pos option:selected'); + jenisId = parseInt(selected.data('jenisid') || 0, 10); + barcodeValue = buildBarcodeValueById(jenisId, satuanTransaksi); + } + opInLines.push({ + jenis_id: jenisId, + kode: kode, + barcode_value: barcodeValue, + jenis: jenis, + qty: qty, + satuan_transaksi: satuanTransaksi, + masa_expired: expired, + is_new: isNew, + new_satuan: satuanBesarNew, + new_satuan_kecil: satuanKecilNew, + new_konversi: konversiNew, + new_stok_minimum: stokMinNew }); + $('#op_in_total').val(''); + $('#op_in_masa_expired').val(''); + renderOpInLines(); + }); $(document).on('click', '.btn_op_in_remove', function(){ var idx = parseInt($(this).data('index'), 10); @@ -2082,11 +2084,54 @@ renderOpInLines(); renderOpAdjLines(); $('#btnexportreport').click(function(){ - var bln = $('#cekbln').val(); - var thn = $('#cekthn').val(); - var url = "{{ route('reportBHPExport') }}" + "?bulan=" + encodeURIComponent(bln) + "&tahun=" + encodeURIComponent(thn); - window.open(url, '_blank'); - return false; + var gridContent = $("#gridreportblnini").jqxGrid('exportdata', 'json'); + data = $.parseJSON(gridContent); + var noOfContacts = data.length; + if(noOfContacts>0){ + var table = document.createElement("table"); + table.style.width = '100%'; + table.setAttribute('border', '1'); + table.setAttribute('cellspacing', '0'); + table.setAttribute('cellpadding', '5'); + table.setAttribute('id', 'tabelcetak'); + table.setAttribute('class', 'text'); + var col = []; + for (var i = 0; i < noOfContacts; i++) { + for (var key in data[i]) { + if (col.indexOf(key) === -1) { + col.push(key); + } + } + } + var tHead = document.createElement("thead"); + var hRow = document.createElement("tr"); + for (var i = 0; i < col.length; i++) { + var th = document.createElement("th"); + th.innerHTML = col[i]; + hRow.appendChild(th); + } + tHead.appendChild(hRow); + table.appendChild(tHead); + var tBody = document.createElement("tbody"); + for (var i = 0; i < noOfContacts; i++) { + var bRow = document.createElement("tr"); + for (var j = 0; j < col.length; j++) { + var td = document.createElement("td"); + td.setAttribute('style', 'mso-number-format: "\@";'); + td.innerHTML = data[i][col[j]]; + bRow.appendChild(td); + } + tBody.appendChild(bRow) + } + table.appendChild(tBody); + var divContainer = document.getElementById("tabel_cetak"); + divContainer.innerHTML = ""; + divContainer.appendChild(table); + } + $("#tabel_cetak").btechco_excelexport({ + containerid: "tabel_cetak" + , datatype: $datatype.Table + }); }); });