Query("SELECT MAX(RIGHT(Kode_Outlet,5)) Nomor FROM para_outlet"); if ($fdb->Next()) $ino = intval($fdb->Row("Nomor", 0)); $tno .= isi_nol($ino+1, 5); return $tno; } /************************* TRANSAKSI *************************/ function Nomor_Baru($tipe = "B", $tgl = "", $bsave = false) { global $fdb; //SCS = U G K M O //IAS = B J C R D T F N P $atipe = ['B'=>["No_Beli","inv_beli"],'J'=>["No_Jual","inv_jual"],'C'=>["No_Beli","inv_beli"],'R'=>["No_Jual","inv_jual"],'D'=>["No_DO","inv_jual_do"],'T'=>["No_Tagih","inv_jual_tagih"],'F'=>["No_Biaya","biaya_pajak"],'N'=>["No_MDO","manual_do"],'P'=>["No_Pajak","inv_jual_pajak"]]; if ($tgl == "") { $tno = $tipe . date("y") . abjad(date("n")); } else { $tmp = explode("-", $tgl); $tno = $tipe . substr($tmp[2],2,2) . abjad(intval($tmp[1])); } $tno .= user_id(2); $ino = 0; $fdb->Query("SELECT MAX(RIGHT(".$atipe[$tipe][0].",4)) Nomor FROM ".$atipe[$tipe][1]." WHERE LEFT(".$atipe[$tipe][0].",".strlen($tno).")='".$tno."' AND RIGHT(".$atipe[$tipe][0].",4)".(($_SESSION['__WEB_APP']['NOMOR_INC'] ?? 0)==0?"<5000":">".$_SESSION['__WEB_APP']['NOMOR_INC'])); if ($fdb->Next()) $ino = intval($fdb->Row("Nomor", 0)); if ($ino==0 && ($_SESSION['__WEB_APP']['NOMOR_INC'] ?? 0)>0) $ino += $_SESSION['__WEB_APP']['NOMOR_INC']; $tno .= isi_nol($ino+1, 4); if ($bsave==true) $fdb->Query("INSERT INTO ".$atipe[$tipe][1]." SET ".$atipe[$tipe][0]."='".$tno."'"); return $tno; } function Detail_Copy($no_ref = "") { global $fdb; if ($no_ref == "") return; Detail_Cancel($no_ref); $fdb->Query("INSERT INTO tmp_inv_detail (No_Ref,ID,Tgl_Ref,NotaID,GudangID,InvID,RasaID,SatuanID,Qty,Stok,Harga_Pokok,Harga_Jual,Total_Diskon,Promo,Pro_SQ,Pro_SD,Pro_ID,UserID) SELECT No_Ref,ID,Tgl_Ref,NotaID,GudangID,InvID,RasaID,SatuanID,Qty,Stok,Harga_Pokok,Harga_Jual,Total_Diskon,Promo,Pro_SQ,Pro_SD,Pro_ID,UserID FROM inv_detail WHERE No_Ref='".$no_ref."'"); } function Detail_Save($no_ref = "", $stgl = "", $igudang = 0, $is_baru = false, $no_lama = "") { global $fdb; if ($no_ref == "") return; if (!$is_baru) $fdb->Query("DELETE FROM inv_detail WHERE No_Ref='".$no_ref."'"); if ($is_baru) { Detail_Cancel($no_ref); $fdb->Query("UPDATE tmp_inv_detail SET No_Ref='".$no_ref."' WHERE No_Ref='".$no_lama."' AND Unix='".user_unix()."'"); } $qtgl = ($stgl == "") ? "0000-00-00" : tgl_sql2str($stgl); $fdb->Query("INSERT INTO inv_detail (No_Ref,ID,Tgl_Ref,NotaID,GudangID,InvID,RasaID,SatuanID,Qty,Stok,Harga_Pokok,Harga_Jual,Total_Diskon,Promo,Pro_SQ,Pro_SD,Pro_ID,UserID) SELECT No_Ref,ID,'".$qtgl."',NotaID,'".$igudang."',InvID,RasaID,SatuanID,Qty,Stok,Harga_Pokok,Harga_Jual,Total_Diskon,Promo,Pro_SQ,Pro_SD,Pro_ID,UserID FROM tmp_inv_detail WHERE No_Ref='".$no_ref."'"); Detail_Cancel($no_ref); } function Detail_Cancel($no_ref = "") { global $fdb; if ($no_ref == "") return; $fdb->Query("DELETE FROM tmp_inv_detail WHERE No_Ref='".$no_ref."'"); } function Param_Picker($tpicker = "0") { if ($tpicker == "0") return "0"; $apicker = array_filter(explode(",", $tpicker)); return (count($apicker)==0 ? "0" : implode(",", $apicker)); } /*************************** FUNGSI DATABASE SCS *****************************/ function scs_update_jual($nomor, $baru = false) { global $fdb; if ($baru == false) scs_delete_jual($nomor); $fdb->Query("INSERT INTO scs_pms.inv_jual SELECT J.No_Jual,J.Tgl_Jual,J.GudangID,J.OutletID,J.No_Faktur,J.Data_Jual,J.UserID FROM inv_jual J WHERE J.No_Jual='".$nomor."'"); $fdb->Query("INSERT INTO scs_pms.inv_detail SELECT D.No_Ref,NULL,D.Tgl_Ref,D.NotaID,D.GudangID,D.InvID,D.SatuanID,SUM(D.Qty),SUM(D.Stok),D.UserID FROM inv_detail D WHERE D.No_Ref='".$nomor."' GROUP BY D.InvID,D.SatuanID"); } function scs_delete_jual($nomor) { global $fdb; $fdb->Query("DELETE FROM scs_pms.inv_detail WHERE No_Ref='".$nomor."'"); $fdb->Query("DELETE FROM scs_pms.inv_jual WHERE No_Jual='".$nomor."'"); } /*************************** FUNGSI FAKTUR PAJAK *****************************/ function FP_Baru() { global $fdb; $tno = $_SESSION['__APP_IAS']['NSFP_LAST']."."; $n_seri = 0; $fdb->Query("SELECT MAX(RIGHT(No_Pajak,8)) Nomor FROM biaya_pajak WHERE LEFT(No_Pajak,".strlen($tno).")='".$tno."'"); if ($fdb->Next()) $n_seri = $fdb->RowFloat("Nomor", 0); $fdb->Query("SELECT MAX(RIGHT(No_Pajak,8)) Nomor FROM inv_jual_pajak WHERE LEFT(No_Pajak,".strlen($tno).")='".$tno."'"); if ($fdb->Next()) $n_seri = max($n_seri , $fdb->RowFloat("Nomor", 0)); $tno .= isi_nol(++$n_seri, 8); return $tno; } function FP_Update($nomor = "") { global $fdb; if (trim($nomor)=="") return; $nsfp_last = format_nofp($nomor); $nsfp_last = explode(".", $nsfp_last); if ($nsfp_last[0] !== $_SESSION['__APP_IAS']['NSFP_LAST']) { $_SESSION['__APP_IAS']['NSFP_LAST'] = $nsfp_last[0]; $fdb->Query("UPDATE ias_config SET NSFP_LAST='".$nsfp_last[0]."' WHERE REG_ID='".$_SESSION['__WEB_APP']['PARENT_CODE']."' LIMIT 1"); } } function rapi_fp($nilai) { $hasil = str_replace([".","-"], "", $nilai); if (strlen($hasil)>13) $hasil = substr($hasil, strlen($hasil)-13); return $hasil; } function format_nofp($nilai) { $nilai = rapi_fp($nilai); return substr($nilai,0,3)."-".substr($nilai,3,2).".".substr($nilai,5); } function rapi_alamat($nilai) { if (trim($nilai)=="") return "PONTIANAK"; $hasil = str_replace(["\n","\r"], "", $nilai); return $hasil; } function data_rasafp($nilai) { $hasil = trim($nilai); if ($hasil<>"") $hasil = " (".$hasil.")"; return $hasil; } function Format_Stok($total=0, $kali=1, $sat_norm="", $sat_stok="") { if ($kali > 0) { $norm = floor($total / $kali); $sisa = $total - ($norm * $kali); } else { $norm = 0; $sisa = $total; } $stok = uang($norm,0)." ".$sat_norm; if ($sat_norm<>$sat_stok) $stok .= ", ".uang($sisa,0)." ".$sat_stok; return $stok; } function Form_Info($pesan="") { return ''; } ?>