Query("SELECT A.No_DO,A.Tgl_DO,D.InvID,SUM(D.Stok) Stok FROM (SELECT * FROM inv_jual_do WHERE Tgl_DO BETWEEN '".$tglfrom."' AND '".$tglto."') A LEFT JOIN (SELECT No_DO,No_Jual FROM inv_jual WHERE No_DO IN (SELECT No_DO FROM inv_jual_do WHERE Tgl_DO BETWEEN '".$tglfrom."' AND '".$tglto."')) J ON (J.No_DO=A.No_DO) LEFT JOIN (SELECT No_Ref,InvID,SUM(-Stok) Stok FROM inv_detail WHERE No_Ref IN (SELECT No_Jual FROM inv_jual WHERE No_DO IN (SELECT No_DO FROM inv_jual_do WHERE Tgl_DO BETWEEN '".$tglfrom."' AND '".$tglto."') AND InvID NOT IN (SELECT InvID FROM inv_produk WHERE Grup_InvID IN (".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN'].",".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."))) GROUP BY No_Ref,InvID) D ON (D.No_Ref=J.No_Jual) GROUP BY A.No_DO,D.InvID ORDER BY A.No_DO"); while ($db->Next()) { if (!$ahasil[$db->Row("No_DO")]) { $ahasil[$db->Row("No_DO")]['No_DO'] = $db->Row("No_DO"); $ahasil[$db->Row("No_DO")]['Tgl_DO'] = tgl_sql2str($db->Row("Tgl_DO")); } $ahasil[$db->Row("No_DO")][$db->Row("InvID")] += $db->RowFloat("Stok", 0); $aprod[$db->Row("InvID")] += $db->RowFloat("Stok", 0); } $aproduk = []; $db->Query("SELECT A.InvID,A.Kode_Produk,IFNULL(B.Qty,0) Qty FROM (SELECT * FROM inv_produk) A LEFT JOIN (SELECT * FROM inv_produk_kemasan WHERE SatuanID=2) B ON (B.InvID=A.InvID)"); while ($db->Next()) { $aproduk[$db->Row("InvID")] = ['kode' => $db->Row("Kode_Produk"), 'kali' => $db->RowFloat("Qty", 0)]; } } if ( $data == "print" ) { Report_Header("LAPORAN REKAP DELIVERY ORDER", $tglheader); $pre = new PrintHTML(); $pre->set_css("garis"); $pre->add_field("No DO",50,"C"); $pre->add_field("Tgl DO",30, "C"); foreach ($aprod as $_key => $_val) { if ($_key == "") continue; $pre->add_field($aproduk[$_key]['kode'],50,"R","rupiah2"); } $pre->add_field("TOTAL",50,"R","rupiah2"); $pre->show_fields(); foreach ($ahasil as $_key => $_val) { $_tot = 0; $_atmp = [$_val['No_DO'], $_val['Tgl_DO']]; foreach ($aprod as $_key2 => $_val2) { if ($_key2 == "") continue; array_push($_atmp, $_val[$_key2] / $aproduk[$_key2]['kali']); $_tot += $_val[$_key2] / $aproduk[$_key2]['kali']; } array_push($_atmp, $_tot); $pre->add_value($_atmp); } $_tot = 0; $_atmp = ["TOTAL", ""]; foreach ($aprod as $_key2 => $_val2) { if ($_key2 == "") continue; array_push($_atmp, $_val2 / $aproduk[$_key2]['kali']); $_tot += $_val2 / $aproduk[$_key2]['kali']; } array_push($_atmp, $_tot); $pre->add_value($_atmp); $pre->add_stamp(0, true); $pre->show(); } else if ( $data == "export" ) { $xls = new SimpleXLS([ 'title'=>"Laporan Penjualan ".ucfirst($sjudul)."", 'subject'=>"PT.PMS", 'desc'=>"Export Data dari IAS" ]); $xls->add_header("".strtoupper($_SESSION['__WEB_APP']['REG_NAME']).""); $xls->add_header("LAPORAN REKAP DELIVERY ORDER"); $xls->add_header($tglheader); $xls->add_field("No DO", 20, "C"); $xls->add_field("Tgl DO", 15, "C"); foreach ($aprod as $_key => $_val) { if ($_key == "") continue; $xls->add_field($aproduk[$_key]['kode'],12,"R,N"); } $xls->add_field("TOTAL",12,"R,N"); $xls->add_sheet("REKAP DO", false); $xls->show_headers(); foreach ($ahasil as $_key => $_val) { $_tot = 0; $_atmp = [$_val['No_DO'], $_val['Tgl_DO']]; foreach ($aprod as $_key2 => $_val2) { if ($_key2 == "") continue; array_push($_atmp, $_val[$_key2] / $aproduk[$_key2]['kali']); $_tot += $_val[$_key2] / $aproduk[$_key2]['kali']; } array_push($_atmp, $_tot); $xls->add_value($_atmp); } $_tot = 0; $_atmp = ["TOTAL", ""]; foreach ($aprod as $_key2 => $_val2) { if ($_key2 == "") continue; array_push($_atmp, $_val2 / $aproduk[$_key2]['kali']); $_tot += $_val2 / $aproduk[$_key2]['kali']; } array_push($_atmp, $_tot); $xls->add_value($_atmp); $xls->add_stamp(1, true); $xls->send("Laporan Rekap Delivery Order.xlsx"); unset($xls); } else if ( $data == "default") { $form = new Form($db); $ttglfrom = $form->datebox("_", "Tgl_From", tgl_ymd(), true, false); $ttglto = $form->datebox("_", "Tgl_To", tgl_ymd(), true, false); echo '
'.$ttglfrom.'
'.$ttglto.'
'; } ?>