0) { $db->Query("SELECT * FROM para_gudang WHERE GudangID='".$id_gudang."' LIMIT 1"); if ($db->Next()) $agudang = $db->AllRow(); } if ($id_inv > 0) { $db->Query("SELECT CONCAT('[',Kode_Produk,'] ',Nama_Produk,' (',Satuan_Normal,')') Nama_Produk FROM vi_inv_produk WHERE InvID='".$id_inv."' LIMIT 1"); if ($db->Next()) $aproduk = $db->AllRow(); } // generate report header $tglheader = "Periode : ".$tglfrom; if ($tglfrom!==$tglto) $tglheader .= " S/D ".$tglto; $tglfrom = tgl_sql2str($tglfrom); $tglto = tgl_sql2str($tglto); $tsql = ($id_gudang==0) ? " AND D.NotaID<>2" : " AND D.GudangID='".$id_gudang."'"; $tord = ($jenis==1) ? ",No_Faktur" : ",No_Pajak"; // query ukuran normal produk & stok awal $db->Query("SELECT P.Satuan_Stok,P.Satuan_Normal,S.Qty Kali FROM (SELECT * FROM vi_inv_produk WHERE InvID='".$id_inv."') P LEFT JOIN inv_produk_kemasan S ON (S.InvID=P.InvID AND S.SatuanID=P.NormalID)"); if ($db->Next()) $ainfo = $db->AllRow(); $stok = 0; $db->Query("SELECT SUM(D.Stok) Stok FROM inv_detail D LEFT JOIN inv_jual J ON (J.No_Jual=D.No_Ref) WHERE D.Tgl_Ref<>'0000-00-00' AND D.Tgl_Ref<'".$tglfrom."'".$tsql." AND D.InvID='".$id_inv."' AND (D.NotaID<>5 OR (D.NotaID=5 AND J.Rekap=1 AND D.Promo=0))"); if ($db->Next()) $stok = $db->Row("Stok", 0); if ($tipe == "X") { $tsql .= " AND (D.NotaID<>5 OR (D.NotaID=5 AND J.Rekap=1 AND D.Promo=0))"; } else { $tsql .= ($tipe == "B") ? " AND D.NotaID=3" : " AND (D.NotaID=5 AND J.Rekap=1 AND D.Promo=0)"; } $db->Query("SELECT DATE_FORMAT(D.Tgl_Ref,'%d-%m-%Y') Tgl_Ref2,D.No_Ref,SUM(IF(D.Stok<0,-D.Stok,0)) Keluar,SUM(IF(D.Stok>0,D.Stok,0)) Masuk, IF(ISNULL(B.No_Faktur),J.No_Faktur,B.No_Faktur) No_Faktur, IF(ISNULL(B.No_Pajak),J.No_Pajak,B.No_Pajak) No_Pajak, IF(ISNULL(S.Nama_Sup),T.Nama_Outlet,S.Nama_Sup) Nama FROM inv_detail D LEFT JOIN inv_beli B ON (B.No_Beli=D.No_Ref) LEFT JOIN inv_jual J ON (J.No_Jual=D.No_Ref) LEFT JOIN inv_opname O ON (O.No_Opname=D.No_Ref) LEFT JOIN inv_mutasi M ON (M.No_Mutasi=D.No_Ref) LEFT JOIN para_supplier S ON (S.SupID=B.SupID) LEFT JOIN para_outlet T ON (T.OutletID=J.OutletID) LEFT JOIN para_nota N ON (D.NotaID=N.NotaID) WHERE (D.Tgl_Ref BETWEEN '".$tglfrom."' AND '".$tglto."')".$tsql." AND D.InvID='".$id_inv."' AND D.Stok<>0 GROUP BY D.No_Ref,D.InvID ORDER BY D.Tgl_Ref,N.Urut,D.No_Ref".$tord); } if ( $data == "print" ) { Report_Header("LAPORAN MUTASI STOK PRODUK", $tglheader); $pre = new PrintHTML(); $pre->set_css("garis"); echo "Nama Produk : ".$aproduk['Nama_Produk']."
"; if ($id_gudang>0) echo "Nama Gudang : ".$agudang['Nama_Gudang']."
"; $pre->add_field("TANGGAL",20,"C"); $pre->add_field("NO. NOTA",20); $pre->add_field("NO. FAKTUR",100); $pre->add_field("NAMA SUPPLIER / OUTLET",300); $pre->add_field("MASUK",160,"R"); $pre->add_field("KELUAR",160,"R"); $pre->add_field("STOK",160,"R"); $pre->show_fields(); $tot_m = 0; $tot_k = 0; $pre->add_span(array("STOK AWAL",4,"R"),array("",1,"R"),array("",1,"R"),array(Format_Stok($stok,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R")); while ($db->Next()) { $msk = $db->Row("Masuk"); $klr = $db->Row("Keluar"); $stok += $msk - $klr; $tot_m += $msk; $tot_k += $klr; $pre->add_value($db->Row("Tgl_Ref2"), $db->Row("No_Ref"), (($jenis==1)?$db->Row("No_Faktur"):$db->Row("No_Pajak")), $db->Row("Nama"), (($msk>0)?Format_Stok($msk,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']):""), (($klr>0)?Format_Stok($klr,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']):""), Format_Stok($stok,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok'])); } $pre->add_span(array("STOK AKHIR",4,"R"),array(Format_Stok($tot_m,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R"),array(Format_Stok($tot_k,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R"),array(Format_Stok($stok,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R")); $pre->add_stamp(0, true); $pre->show(); } else if ( $data == "export" ) { $xls = new SimpleXLS([ 'title'=>"Laporan Mutasi Stok Produk", 'subject'=>"PT.PMS", 'desc'=>"Export Data dari IAS" ]); $xls->add_header("".strtoupper($_SESSION['__WEB_APP']['REG_NAME']).""); $xls->add_header("LAPORAN MUTASI STOK PRODUK"); $xls->add_header($aproduk['Nama_Produk']); $xls->add_header($tglheader); $xls->add_field("TANGGAL", 12, "C"); $xls->add_field("NO. NOTA", 14, "L"); $xls->add_field("NO. FAKTUR", 14, "L"); $xls->add_field("NAMA SUPPLIER / OUTLET", 60, "L"); $xls->add_field("MASUK", 20, "R"); $xls->add_field("KELUAR", 20, "R"); $xls->add_field("STOK", 20, "R"); $xls->add_sheet("MUTASI STOK", false); if ($id_gudang>0) $xls->add_span(["Nama Gudang",3,"L"],[$agudang['Nama_Gudang'],4]); $xls->show_headers(); $tot_m = 0; $tot_k = 0; $xls->add_span(["STOK AWAL",4,"R,B"],["",1,"R,B"],["",1,"R,B"],[Format_Stok($stok,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R,B"]); while ($db->Next()) { $msk = $db->Row("Masuk"); $klr = $db->Row("Keluar"); $stok += $msk - $klr; $tot_m += $msk; $tot_k += $klr; $xls->add_value($db->Row("Tgl_Ref2"), $db->Row("No_Ref"), (($jenis==1)?$db->Row("No_Faktur"):$db->Row("No_Pajak")), $db->Row("Nama"), (($msk>0)?Format_Stok($msk,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']):""), (($klr>0)?Format_Stok($klr,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']):""), Format_Stok($stok,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok'])); } $xls->add_span(array("STOK AKHIR",4,"R,B"),array(Format_Stok($tot_m,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R,B"),array(Format_Stok($tot_k,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R,B"),array(Format_Stok($stok,$ainfo['Kali'],$ainfo['Satuan_Normal'],$ainfo['Satuan_Stok']),1,"R,B")); $xls->add_stamp(1, true); $xls->send("Laporan Mutasi Stok Produk.xlsx"); unset($xls); } else if ( $data == "default") { $form = new Form($db); $ttipe = $form->radio("_", "Tipe_Data", "X", true, false, ["X"=>"Semua","B"=>"Pembelian","J"=>"Penjualan"]); $tnota = $form->radio("_", "Nota_Pajak", 1, true, false, [1=>"Nota Jual",2=>"Faktur Pajak"]); $tgudang = $form->option_db("_", "GudangID", 0, true, false, "para_gudang", ["GudangID","Nama_Gudang"], "TRUE ORDER BY Nama_Gudang", [0,"SEMUA GUDANG"]); $tproduk = $form->option_db("_", "InvID", 0, true, false, "inv_produk", ["InvID","Nama_Produk"], "TRUE ORDER BY Nama_Produk"); $ttglfrom = $form->datebox("_", "Tgl_From", tgl_ymd(), true, false); $ttglto = $form->datebox("_", "Tgl_To", tgl_ymd(), true, false); echo '
'.$ttipe.'
'.$tnota.'
'.$tgud.'
'.$tproduk.'

'.$ttglfrom.'
'.$ttglto.'
'; } ?>