';
} else if ( $data == "delete" ) {
$db->Query("DELETE FROM inv_po WHERE No_PO='".$nomor."'");
$db->Query("DELETE FROM inv_po_detail WHERE No_PO='".$nomor."'");
$ajson['status'] = true;
} else if ( $data == "tabel-detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("tmp_inv_po_detail");
$sql->add_param("No_PO", $nomor);
$sql->add_param("InvID");
$sql->add_param("SatuanID");
$sql->add_param("Qty");
$sql->add_param("Harga_Beli");
$sql->add_param("Harga_HPP");
$sql->add_param_unix();
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("ID");
$sql->add_where("No_PO", $nomor);
if ( $mode_detail == "insert" ) {
$sql->InsertDB();
} else if ( $mode_detail == "update" ) {
$sql->UpdateDB();
} else if ( $mode_detail == "delete" ) {
$sql->DeleteDB();
}
} else if ($mode_detail == "sup-baru") {
$tot_qty = 0;
$db->Query("SELECT SUM(Qty) Qty FROM tmp_inv_po_detail WHERE No_PO='".$nomor."'");
if ($db->Next()) $tot_qty = $db->Row("Qty", 0);
if ($tot_qty > 0) {
$ajson[] = array('type'=>"msg", 'wait'=>1500, 'mode'=>"error", 'value'=>"Sudah ada Qty Barang yang telah memiliki Nilai !");
} else {
$db->Query("DELETE FROM tmp_inv_po_detail WHERE No_PO='".$nomor."'");
$db->Query("INSERT INTO tmp_inv_po_detail (No_PO,InvID,SatuanID,Qty,Harga_Beli,Harga_HPP,Invoice,DateStamp,UserID,Unix) SELECT '".$nomor."',P.InvID,K.SatuanID,0,P.Harga_Pokok*K.Qty,P.Harga_Pokok*K.Qty,0,NOW(),'".user_id()."','".user_unix()."' FROM (SELECT * FROM inv_produk_kemasan WHERE InvID IN (SELECT InvID FROM inv_produk_sup WHERE Aktif=1 AND SupID='".$id_sup."')) K LEFT JOIN inv_produk P ON (P.InvID=K.InvID) WHERE P.Aktif=1");
}
}
$qview = ""; $qtabel = "inv_po_detail";
if (in_array($mode, ["add","edit"])) {
if ($mode=="add") $qview = " AND Unix=".user_unix();
$qtabel = "tmp_inv_po_detail";
}
$obj = new Table($db);
$obj->set_table("(SELECT * FROM ".$qtabel." WHERE No_PO='".$nomor."' ".$qview.") D LEFT JOIN vi_inv_produk P ON (D.InvID=P.InvID AND D.SatuanID=P.SatuanID) LEFT JOIN (SELECT InvID,SUM(Stok) Stok FROM inv_detail WHERE InvID IN (SELECT InvID FROM ".$qtabel." WHERE No_PO='".$nomor."') GROUP BY InvID) S ON (S.InvID=D.InvID)", "D.*,P.Kode_SKU,P.Nama_Lengkap,P.Nama_Satuan,P.Harga_Pokok,(D.Qty*D.Harga_Beli) Total,S.Stok,IF(IFNULL(S.Stok,0)>0,1,0) KOSONG", "");
$obj->set_query_footer("SELECT SUM(D.Qty*D.Harga_Beli) Total FROM (SELECT * FROM ".$qtabel." WHERE No_PO='".$nomor."' ".$qview.") D");
$obj->add_field("ID", "No", "c");
$obj->add_field("InvID", "InvID", "hid");
$obj->add_field("SatuanID", "SatuanID", "hid");
$obj->add_field("Kode_SKU", "SKU", "c");
$obj->add_field("Nama_Lengkap", "Nama Barang", "awr");
$obj->add_field("Stok", "Stok", "r", "rupiah2");
$obj->add_field("Qty", "PO", "r", "rupiah2");
$obj->add_field("Harga_Beli", "Harga @", "r", "rupiah");
$obj->add_field("Total", "Jumlah", "r", "rupiah", "rupiah");
$obj->set_row_color("KOSONG", "0", "ryellow");
$obj->set_field_order("Kode_SKU", "A");
if (in_array($mode, ["add","edit"])) {
$obj->add_row_btn("clipboard", "Ubah", "POJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "POJS.detail_hapus", "Unix", user_unix());
$obj->set_func_btn("POJS.detail_tambah", ' Produk');
$obj->set_func_btn("POJS.produk_brow", ' Browse');
}
$obj->set_func_navi("POJS.data_query('tabel-detail')");
$ajson[] = $obj->db_table("divDetailTabel");
$ntotal = 0;
$db->Query("SELECT SUM(D.Qty*D.Harga_Beli) Jumlah FROM ".$qtabel." D WHERE D.No_PO='".$nomor."' ".$qview);
if ($db->Next()) $ntotal = floatval($db->Row("Jumlah", 0));
$ajson[] = ['type'=>"form", 'id'=>"Total_Beli", 'value'=>$ntotal];
} else if ( $data == "brow-tx" ) {
$tcari = trim(Param::Get("Cari_TX"));
$tsql = ($tcari=="") ? "" : "CONCAT(P.No_PO,S.Nama_Sup,DATE_FORMAT(P.Tgl_PO,'%d-%m-%Y')) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_table("(SELECT * FROM inv_po) P LEFT JOIN para_supplier S ON (P.SupID=S.SupID)", "P.*,S.Nama_Sup", $tsql);
$obj->add_field("No_PO", "No. Trans", "c");
$obj->add_field("Tgl_PO", "Tgl. Trans", "c", "sqltgl", null, "val-tgl");
$obj->add_field("Nama_Sup", "Nama Supplier", "awr");
$obj->add_field("Total_Beli", "Jumlah PO", "r", "rupiah");
$obj->set_field_order("No_PO", "D");
$obj->add_row_btn("save", "Pilih", "POJS.tx_select");
$obj->set_func_navi("POJS.data_query('brow-tx')");
$ajson[] = $obj->db_table("divBrowTX");
} else if ( $data == "brow-produk" ) {
$tcari = trim(Param::Get("Cari_Produk"));
$tsql = ($tcari <> "") ? " AND P.Barcode_Nama LIKE '%".$tcari."%'": "";
$tsql .= (Param::Get("Filter_Browse")=="all") ? "" : " AND P.InvID IN (SELECT InvID FROM inv_produk_sup WHERE SupID='".Param::Get("SupID")."')";
$obj = new Table($db);
$obj->set_table("vi_inv_produk P", "P.*", "P.Aktif=1 AND InvID NOT IN (SELECT InvID FROM tmp_inv_po_detail WHERE No_PO='".$nomor."')".$tsql);
$obj->add_field("InvID", "ID", "hid");
$obj->add_field("SatuanID", "ID", "hid");
$obj->add_field("Kode_SKU", "SKU", "c");
$obj->add_field("Nama_Lengkap", "Nama Barang", "awr");
$obj->add_field("Harga_Pokok", "Harga Pokok", "r", "rupiah");
$obj->set_field_order("Kode_SKU", "A");
$obj->add_row_btn("save", "Pilih", "POJS.produk_select");
$obj->set_func_navi("POJS.data_query('brow-produk')");
$ajson[] = $obj->db_table("divBrowProduk");
} else if ( $data == "auto-produk" ) {
$tcari = Param::Get("Auto_Query");
$ajson['autodata'] = [];
$bcode = 0; $arec = [];
// Cari by SKU
$db->Query("SELECT K.InvID,P.Nama_Produk,CONCAT(K.SatuanID,':',S.Nama_Satuan,':',P.Nama_Produk,' ',S.Nama_Satuan,':',CONVERT(P.Harga_Pokok*K.Qty USING UTF8)) Data2 FROM (SELECT * FROM inv_produk_kemasan WHERE Kode_SKU='".$tcari."' LIMIT 1) K LEFT JOIN inv_produk P ON (P.InvID=K.InvID) LEFT JOIN para_satuan S ON (S.SatuanID=K.SatuanID) WHERE P.Aktif=1");
if ($db->Next()) {
$bcode = 1;
$arec = $db->AllRow();
}
// Cari by Barcode
if ($bcode == 0) {
$db->Query("SELECT K.InvID,P.Nama_Produk,CONCAT(K.SatuanID,':',S.Nama_Satuan,':',P.Nama_Produk,' ',S.Nama_Satuan,':',CONVERT(P.Harga_Pokok*K.Qty USING UTF8)) Data2 FROM (SELECT * FROM inv_produk_kemasan WHERE Kode_Barcode='".$tcari."' LIMIT 1) K LEFT JOIN inv_produk P ON (P.InvID=K.InvID) LEFT JOIN para_satuan S ON (S.SatuanID=K.SatuanID) WHERE P.Aktif=1");
if ($db->Next()) {
$bcode = 1;
$arec = $db->AllRow();
}
}
if ($bcode == 1) {
$ajson['autodata'][] = ['value'=>$arec['InvID'], 'text'=>$arec['Nama_Produk'], 'data'=>$arec['Data2'], 'bc'=>1];
} else {
$db->Query("SELECT P.*,K.Kode_SKU,K.Harga_Jual,S.Nama_Satuan,CONCAT(K.SatuanID,':',S.Nama_Satuan,':',P.Nama_Produk,' ',S.Nama_Satuan,':',P.Harga_Pokok*K.Qty) Data2 FROM (SELECT * FROM inv_produk_kemasan WHERE InvID IN (SELECT InvID FROM inv_produk WHERE Aktif=1 AND Nama_Produk LIKE '%".$tcari."%' ORDER BY InvID) ORDER BY InvID) K LEFT JOIN (SELECT * FROM inv_produk WHERE Aktif=1 AND Nama_Produk LIKE '%".$tcari."%' ORDER BY InvID) P ON (K.InvID=P.InvID) LEFT JOIN vi_inv_stok X ON (X.CabID='".$id_cab."' AND K.InvID=X.InvID) LEFT JOIN para_satuan S ON (S.SatuanID=K.SatuanID) ORDER BY P.Nama_Produk,K.Qty DESC LIMIT 50");
while ($db->Next()) {
$ajson['autodata'][] = ['value'=>$db->Row("InvID"), 'text'=>$db->Row("Nama_Produk"), 'html'=>''.$db->Row("Kode_SKU").' '.$db->Row("Nama_Produk")." ".$db->Row("Nama_Satuan").' - Rp. '.rupiah($db->Row("Harga_Jual")), 'data'=>$db->Row("Data2"), 'bc'=>0];
}
}
} else if ($data == "detail-produk") {
$id = Param::Get("ID", 0); $atabel = ['ID'=>$id, 'InvID'=>Param::Get("InvID",0), 'SatuanID'=>Param::Get("SatuanID",0)];
if ($id > 0) {
$db->Query("SELECT * FROM tmp_inv_po_detail WHERE No_PO='".$nomor."' AND ID='".$id."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
if ($atabel['InvID']>0 && $atabel['SatuanID']>0) {
$db->Query("SELECT Nama_Produk,Nama_Satuan FROM vi_inv_produk WHERE InvID='".$atabel['InvID']."' AND SatuanID='".$atabel['SatuanID']."' LIMIT 1");
if ($db->Next()) $atabel = array_merge($atabel, $db->AllRow());
}
$form = new Form($db);
$tnama = $form->textauto("_", "Nama_Produk", ['value'=>$atabel['InvID'],'text'=>$atabel['Nama_Produk']], true, true, "ketik nama produk");
$tqty = $form->textbox("_", "Qty", $atabel['Qty'], true, true, "double");
$tstok = $form->textbox("_", "Stok", $atabel['Stok'], false, false, "double");
$tbeli = $form->textbox("_", "Harga_Beli", $atabel['Harga_Beli'], true, true, "double");
$ttot = $form->textbox("_", "Jumlah", 0, false, false, "double");
$tsat1 = $form->textbox("_", "Nama_Satuan1", $atabel['Nama_Satuan'], false, false, "text");
$tsat2 = $form->textbox("_", "Nama_Satuan2", $atabel['Nama_Satuan'], false, false, "text");
$ajson['html'] = '
'.$tnama.'
'.$tqty.$tsat1.'
Stok'.$tstok.$tsat2.'
'.$tbeli.'
'.$ttot.'
';
} else if ( $data == "detail-item" ) {
$ajson['data'] = "kosong";
$db->Query("SELECT InvID,SUM(Stok) Stok FROM inv_detail WHERE InvID='".Param::Get("InvID")."'");
if ($db->Next()) $ajson = $db->AllRow();
} else if ( $data == "default") {
echo '