'.$tnormal.Form_Info("Ukuran satuan yang dipergunakan dalam transaksi normal dan laporan.").'
'.$tsmin.'
'.$tpajak.'
'.$thpp.'
'.$thadiah.'
';
} else if ( $data == "save" ) {
if ($mode == "cancel") {
if (Param::Get("mode_before")=="add") {
$db->Query("DELETE FROM inv_produk_kemasan WHERE InvID='".$id_inv."'");
$db->Query("DELETE FROM inv_produk_harga WHERE InvID='".$id_inv."'");
$db->Query("DELETE FROM inv_produk_varian WHERE InvID='".$id_inv."'");
$db->Query("DELETE FROM inv_produk WHERE InvID='".$id_inv."'");
} else {
Produk_Restore($id_inv);
}
} else {
$sql = new SQL($db);
$sql->set_table("inv_produk");
$sql->add_param("Grup_InvID");
$sql->add_param("Kode_Produk");
$sql->add_param("Nama_Produk");
$sql->add_param("Kode_FP");
$sql->add_param("StokID");
$sql->add_param("NormalID");
$sql->add_param("Harga_Pokok");
$sql->add_param("Stok_Min");
$sql->add_param("Pajak");
$sql->add_param("Hadiah");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("InvID");
if (in_array($mode, ["add","edit"])) {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
$db->Query("DELETE FROM inv_produk_kemasan WHERE InvID='".$id_inv."'");
$db->Query("DELETE FROM inv_produk_harga WHERE InvID='".$id_inv."'");
$db->Query("DELETE FROM inv_produk_varian WHERE InvID='".$id_inv."'");
}
if ($mode <> "del") {
Produk_Backup($id_inv);
}
}
$ajson['status'] = true;
} else if ( $data == "tabel-produk" ) {
$tcari = trim(Param::Get("Cari_Produk"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(Kode_Produk,Nama_Produk) LIKE '%".$tcari."%'";
$tsql .= ($i_filt==0) ? "" : " AND Grup_InvID='".$i_filt."'";
if (strlen($tsql)>0) $tsql = " WHERE ".substr($tsql, 4);
$obj = new Table($db);
$obj->set_query("SELECT * FROM vi_inv_produk".$tsql);
$obj->add_field("InvID", "ID", "hid");
$obj->add_field("Kode_Produk", "Kode", "l");
$obj->add_field("Nama_Produk", "Nama Produk", "awr");
$obj->add_field("Satuan_Stok", "Satuan Stok");
$obj->add_field("Harga_Pokok", "Harga Pokok", "r", "rupiah");
$obj->add_field("Stok_Min", "Stok Min", "r", "rupiah");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("Kode_Produk", "A");
$obj->add_row_btn("clipboard", "Ubah", "ProdukJS.produk_ubah");
if (user_level(2)) $obj->add_row_btn("arrow-counterclockwise", "Restore", "ProdukJS.produk_restore");
$obj->add_row_btn("trash", "Hapus", "ProdukJS.produk_hapus");
$obj->set_func_navi("ProdukJS.data_query('tabel-produk')");
$obj->set_func_btn("ProdukJS.produk_tambah", "+ Produk");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "tabel-varian" ) {
if (in_array($mode_detail, ["update","delete"])) {
$sql = new SQL($db);
$sql->set_table("inv_produk_varian");
$sql->add_param("RasaID");
$sql->add_param_userid();
$sql->add_where("InvVarianID", $id_varian);
if ($mode_detail=="update") {
if ($id_varian == 0) {
$sql->add_param("InvID");
$sql->InsertDB();
} else {
$sql->UpdateDB();
}
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$obj = new Table($db);
$obj->set_query("SELECT S.*,T.Kode_Rasa,T.Nama_Rasa FROM (SELECT * FROM inv_produk_varian WHERE InvID='".$id_inv."') S LEFT JOIN para_rasa T ON (S.RasaID=T.RasaID)");
$obj->add_field("InvVarianID", "ID", "hid");
$obj->add_field("Kode_Rasa", "Kode", "l");
$obj->add_field("Nama_Rasa", "Varian / Rasa", "awr");
$obj->set_field_order("Kode_Rasa", "A");
$obj->add_row_form("pencil-square", "Detail", "ProdukJS.varian_form");
$obj->add_row_btn("trash", "Hapus", "ProdukJS.varian_del");
$obj->set_func_btn("ProdukJS.varian_add", "+ Varian / Rasa");
$ajson[] = $obj->json_table("divVarian");
} else if ( $data == "detail-varian" ) {
$arec = ['InvVarianID'=>0,'RasaID'=>0];
if ($id_varian > 0) {
$db->Query("SELECT * FROM inv_produk_varian WHERE InvVarianID='".$id_varian."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
}
$form = new Form($db);
$trasa = $form->option_que("_", "RasaID", $arec['RasaID'], true, false, "SELECT * FROM para_rasa WHERE Aktif=1 AND RasaID NOT IN (SELECT RasaID FROM inv_produk_varian WHERE InvID='".$id_inv."' AND InvVarianID<>'".$id_varian."') ORDER BY Nama_Rasa", ["RasaID","Nama_Rasa"]);
$ajson['html'] = '
'.$trasa.'
';
} else if ( $data == "tabel-kemasan" ) {
if (in_array($mode_detail, ["update","delete"])) {
$sql = new SQL($db);
$sql->set_table("inv_produk_kemasan");
$sql->add_param("SatuanID");
$sql->add_param("Qty");
$sql->add_param_userid();
$sql->add_where("InvKemasanID", $id_kemasan);
if ($mode_detail=="update") {
if ($id_kemasan == 0) {
$sql->add_param("InvID");
$sql->InsertDB();
} else {
$sql->UpdateDB();
if (Param::Get("SatuanID")<>Param::Get("SatuanLamaID")) {
$db->Query("UPDATE inv_produk_harga SET SatuanID='".Param::Get("SatuanID")."' WHERE InvID='".$id_inv."' AND SatuanID='".Param::Get("SatuanLamaID")."'");
}
}
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
$db->Query("DELETE FROM inv_produk_harga WHERE InvID='".Param::Get("InvID")."' AND SatuanID='".Param::Get("SatuanLamaID")."'");
}
}
$obj = new Table($db);
$obj->set_query("SELECT S.*,T.Nama_Satuan FROM (SELECT * FROM inv_produk_kemasan WHERE InvID='".$id_inv."') S LEFT JOIN para_satuan T ON (S.SatuanID=T.SatuanID)");
$obj->add_field("InvKemasanID", "ID", "hid");
$obj->add_field("Nama_Satuan", "Nama Kemasan");
$obj->add_field("Qty", "Qty", "r", "rupiah");
$obj->set_field_order("Nama_Satuan", "A");
$obj->add_row_form("pencil-square", "Detail", "ProdukJS.kemasan_form");
$obj->add_row_btn("trash", "Hapus", "ProdukJS.kemasan_del");
$obj->set_func_btn("ProdukJS.kemasan_add", "+ Kemasan");
$ajson[] = $obj->json_table("divKemasan");
} else if ( $data == "detail-kemasan" ) {
$arec = ['InvKemasanID'=>0,'SatuanID'=>0,'Qty'=>0];
if ($id_kemasan > 0) {
$db->Query("SELECT * FROM inv_produk_kemasan WHERE InvKemasanID='".$id_kemasan."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
}
$form = new Form($db);
$tsatuan = $form->option_db("_", "SatuanID", $arec['SatuanID'], true, false, "para_satuan", ["SatuanID","Nama_Satuan"], "Aktif=1 ORDER BY Nama_Satuan");
$tqty = $form->textbox("_", "Qty", $arec['Qty'], true, true, "number", "qty");
$ajson['html'] = '
'.$tsatuan.'
'.$tqty.'
';
} else if ( $data == "check-kemasan") {
$ajson['ada'] = false;
$db->Query("SELECT COUNT(*) Jumlah FROM inv_produk_kemasan WHERE InvID='".$id_inv."' AND SatuanID='".Param::Get("SatuanID")."'");
if ($db->Next() && $db->Row("Jumlah",0)>0) $ajson['ada'] = true;
} else if ( $data == "tabel-harga" ) {
if (in_array($mode_detail, ["update","delete"])) {
$sql = new SQL($db);
$sql->set_table("inv_produk_harga");
$sql->add_param("SatuanID");
$sql->add_param("Grup_OutletID");
$sql->add_param_date("Tanggal");
$sql->add_param("Harga_Jual");
$sql->add_param_userid();
$sql->add_where("InvHargaID", $id_harga);
if ($mode_detail=="update") {
if ($id_harga == 0) {
$sql->add_param("InvID");
$sql->InsertDB();
} else {
$sql->UpdateDB();
}
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$obj = new Table($db);
$obj->set_query("SELECT H.*,S.Nama_Satuan,G.Nama_Grup FROM inv_produk_harga H LEFT JOIN para_satuan S ON (H.SatuanID=S.SatuanID) LEFT JOIN para_outlet_grup G ON (H.Grup_OutletID=G.Grup_OutletID) WHERE H.InvID='".$id_inv."'");
$obj->add_field("InvHargaID", "ID", "hid");
$obj->add_field("Nama_Satuan", "Nama Kemasan");
$obj->add_field("Nama_Grup", "Grup Outlet");
$obj->add_field("Tanggal", "Tanggal", "c", "sqltgl", "", "val-tgl");
$obj->add_field("Harga_Jual", "Harga Jual", "r", "rupiah");
$obj->set_field_order("Nama_Satuan", "A");
$obj->add_row_form("pencil-square", "Detail", "ProdukJS.harga_form");
$obj->add_row_btn("trash", "Hapus", "ProdukJS.harga_del");
$obj->set_func_btn("ProdukJS.harga_add", "+ Harga Jual");
$ajson[] = $obj->json_table("divHarga");
} else if ( $data == "detail-harga" ) {
$arec = ['InvHargaID'=>0,'SatuanID'=>0,'Grup_OutletID'=>0,'Tanggal'=>tgl_ymd(),'Harga_Jual'=>0];
if ($id_harga > 0) {
$db->Query("SELECT * FROM inv_produk_harga WHERE InvHargaID='".$id_harga."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
}
$form = new Form($db);
$tsatuan = $form->option_que("_", "SatuanID", $arec['SatuanID'], true, true, "SELECT * FROM para_satuan WHERE Aktif=1 AND SatuanID IN (SELECT SatuanID FROM inv_produk_kemasan WHERE InvID='".$id_inv."') ORDER BY Nama_Satuan", ["SatuanID","Nama_Satuan"]);
$tqty = $form->textbox("_", "Qty", $arec['Qty'], true, true, "number", "qty");
$tgrup = $form->option_db("_", "Grup_OutletID", $arec['Grup_OutletID'], true, true, "para_outlet_grup", ["Grup_OutletID","Nama_Grup"], "Aktif=1 ORDER BY Nama_Grup");
$ttgl = $form->datebox("_", "Tanggal", $arec['Tanggal'], true, true);
$tharga = $form->textbox("_", "Harga_Jual", $arec['Harga_Jual'], true, true, "double", "harga jual");
$ajson['html'] = '
'.$tsatuan.'
'.$tgrup.'
'.$ttgl.'
'.$tharga.'
';
} else if ( $data == "check-harga") {
$ajson['ada'] = false;
$db->Query("SELECT COUNT(*) Jumlah FROM inv_produk_harga WHERE InvID='".$id_inv."' AND SatuanID='".Param::Get("SatuanID")."' AND Grup_OutletID='".Param::Get("Grup_OutletID")."' AND Tanggal='".tgl_sql2str(Param::Get("Tanggal"))."'");
if ($db->Next() && $db->Row("Jumlah",0)>0) $ajson['ada'] = true;
} else if ($data == "detail-filter") {
$form = new Form($db);
$tfilter = $form->option_db("_", "Fi_Produk", Param::Get("Filter_Produk",0), true, false, "inv_produk_grup", ["Grup_InvID","Nama_Grup"], "Aktif=1 ORDER BY Nama_Grup", [0,"SEMUA GRUP PRODUK"]);
echo '
Tampilan Berdasarkan :
'.$tfilter.'
';
} else if ( $data == "restore-detail" ) {
$atabel = ['InvID'=>$id_inv];
if ($id_inv > 0) {
$db->Query("SELECT * FROM inv_produk WHERE InvID='".$id_inv."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$tnama = $form->textbox("_", "Nama_Produk", $atabel['Nama_Produk'], false, false, "text");
$ajson['html'] = '