You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

216 lines
9.6 KiB
PHP

<?php
include "../func_lib.php";
session_start();
if($_SESSION['validUser'] !== TRUE)
{
header("location: ./index.php");
exit();
}
echo "<style type='text/css'>";
echo "div#divprint{width:1100px; border:1px solid #000; padding:20px 0; margin-bottom:25px;}";
echo "table.tbl {width:1000px;border-width:0 0 1px 1px;border-spacing:0;border-collapse:collapse;font-size:9pt;text-align:center;}";
echo "table.tbl,table.tbl td {border-color:#000;border-style:solid;}";
echo "table.tbl td {margin:0;padding:2px;border-width:1px 1px 0 0;}";
echo "body {font-size:9pt;}";
echo "div.luar{text-align:left;margin-left:150px;}";
echo ".header{font-weight:bold;text-align:center;}";
echo ".isi{text-align:left;}";
echo ".warnaBarisStrip{font-weight : bold; background-color : #FFFF33;}";
echo ".warnaBarisKategori{font-weight : bold; background-color: #FFCC00;}";
echo ".warnaKolPisah{font-weight : bold; background-color: #595454;}"; //#413839
echo ".master{text-align:left;}";
echo "</style>";
$startDate = decTgl($_POST['startDate']);
$endDate = decTgl($_POST['endDate']);
$curdate = date('Y-m-d');
$supp = $_POST['kdsupp'];
$lini = $_POST['lini'];
if(bukaKoneksi()){
global $conn;
print("<center><div id=\"divprint\" >");
print("<h2>Rekap Barang Fast Moving (B.2)</h2><br/><br/>");
print("<div class=\"luar\">TOKO ".$_SESSION['namatoko']."<br/>");
print("Periode Pembelian : ".encTgl($startDate) ." s/d ".encTgl($endDate)."<br/>");
print("DICETAK TANGGAL : ".date('d-m-Y [H:i]')."</div><br/><br/>");
print("<table border=\"1\" class=\"tbl\">");
print("<tr class=\"header\"><td>Kode Supp.</td><td>Nama Supplier</td><td>Lini Produk</td><td>Kd.barang</td><td>Nama Barang</td><td>Jml Beli</td><td>Jml Jual</td><td>Stok Akhir</td><td>HJ Satuan</td></tr>");
$kelJenis[0] = 'MURAH';
$kelJenis[1] = 'SEDANG';
$kelJenis[2] = 'MAHAL';
$queryclear1 ="DROP TABLE IF EXISTS vLaporan1";
$queryclear2 ="DROP TABLE IF EXISTS vLaporan2";
$queryclear3 ="DROP TABLE IF EXISTS vLaporan3";
runQuery($queryclear1);
runQuery($queryclear2);
runQuery($queryclear3);
$qry_filter1 = "CREATE TABLE vLaporan1 AS
SELECT m.kd_supplier,s.nama_supplier,d.kode_barang,d.nm_brg,sum(d.jum_fisik) jmlbeli
FROM d_pembelian d,m_pembelian m,supplier s
WHERE d.no_faktur = m.no_faktur
AND left(m.no_faktur,4) <> 'RVB-'
AND m.kd_supplier = s.kd_supplier
AND date(m.tgl_masuk) between '$startDate' and '$endDate'
GROUP BY d.kode_barang ";
$qry_filter2 = "CREATE TABLE vLaporan2 AS
SELECT
CASE
WHEN nb.harga_jual >= st.murah1 AND nb.harga_jual <= st.murah2 THEN 'MURAH'
WHEN nb.harga_jual >= st.sedang1 AND nb.harga_jual <= st.sedang2 THEN 'SEDANG'
WHEN nb.harga_jual >= st.mahal1 AND nb.harga_jual <= st.mahal2 THEN 'MAHAL' ELSE 'UNKNOWN' END as komposisi,
b.kode_barang, sum(nb.stok) stokakh, nb.harga_jual hj, b.kode_strip
FROM barang b,no_barang nb,strip st
WHERE
b.id_gabungan = nb.id_gabungan
AND st.kd_strip = b.kode_strip
AND b.kode_barang IN
(select distinct d.kode_barang
from d_pembelian d,m_pembelian m
where d.no_faktur = m.no_faktur
AND left(m.no_faktur,4) <> 'RVB-'
and date(m.tgl_masuk) between '$startDate' and '$endDate')
GROUP BY b.kode_barang ";
$qry_filter3 = "CREATE TABLE vLaporan3 AS
SELECT vJual.kd_barang,sum(vJual.jumlah) jmljual
FROM
(SELECT d.kd_barang kd_barang,sum(d.jumlah) jumlah
FROM d_nota_tunai d,m_nota_tunai m
WHERE d.no_nota = m.no_nota
AND m.status_nota = 'S'
AND d.kd_barang IN
(select distinct d.kode_barang
from d_pembelian d,m_pembelian m
where d.no_faktur = m.no_faktur
AND left(m.no_faktur,4) <> 'RVB-'
and date(m.tgl_masuk) between '$startDate' and '$endDate')
AND date(m.tgl_nota) BETWEEN '$startDate' AND '$curdate'
GROUP BY d.kd_barang
UNION ALL
SELECT d.kd_brg kd_barang,sum(d.jumlah) jumlah
FROM d_bon d,m_bon m
WHERE d.no_bon = m.no_bon
AND d.kd_brg IN
(select distinct d.kode_barang
from d_pembelian d,m_pembelian m
where d.no_faktur = m.no_faktur
AND left(m.no_faktur,4) <> 'RVB-'
and date(m.tgl_masuk) between '$startDate' and '$endDate')
AND date(m.tgl_bon) BETWEEN '$startDate' AND '$curdate'
GROUP BY d.kd_brg
UNION ALL
SELECT d.kd_barang kd_barang,(-1*sum(d.jumlah)) jumlah
FROM d_nota_retur d,m_nota_retur m
WHERE d.no_nota = m.no_nota
AND d.kd_barang IN
(select distinct d.kode_barang
from d_pembelian d,m_pembelian m
where d.no_faktur = m.no_faktur
AND left(m.no_faktur,4) <> 'RVB-'
and date(m.tgl_masuk) between '$startDate' and '$endDate')
AND date(m.tgl_nota) BETWEEN '$startDate' AND '$curdate'
GROUP BY d.kd_barang) vJual
GROUP BY vJual.kd_barang ";
$qry_index1 = "ALTER TABLE vLaporan1 ADD INDEX brg_supp ( kd_supplier , kode_barang )";
$qry_index2 = "ALTER TABLE vLaporan2 ADD INDEX kdbrg ( kode_barang )";
$qry_index3 = "ALTER TABLE vLaporan3 ADD INDEX kdbrg( kd_barang )";
runQuery($qry_filter1);
runQuery($qry_index1);
runQuery($qry_filter2);
runQuery($qry_index2);
runQuery($qry_filter3);
runQuery($qry_index3);
for ($n = 0; $n < 3; $n++){
$queryclear ="DROP TABLE IF EXISTS vLaporan";
runQuery($queryclear);
$qry_filter = "CREATE TABLE vLaporan AS
SELECT v1.kd_supplier,v1.nama_supplier,v1.kode_barang,v1.nm_brg,v1.jmlbeli,v3.jmljual,v2.stokakh,v2.hj,v2.kode_strip
FROM vLaporan1 v1
INNER JOIN vLaporan2 v2
ON v1.kode_barang = v2.kode_barang
INNER JOIN vLaporan3 v3
ON v1.kode_barang = v3.kd_barang
WHERE v2.komposisi = '$kelJenis[$n]'
ORDER BY v1.kd_supplier,v1.kode_barang";
runQuery($qry_filter);
$qry_index = "ALTER TABLE vLaporan ADD INDEX brg_supp ( kd_supplier , kode_barang )";
runQuery($qry_index);
if($supp!= "" AND $lini != "" AND $startDate!= ""){
$query = "SELECT v.kd_supplier,v.nama_supplier,v.kode_barang,v.nm_brg,v.jmlbeli,v.jmljual,v.stokakh,v.hj,v.kode_strip
FROM vLaporan v
WHERE v.kd_supplier = '$supp'
AND v.kode_strip = '$lini'";
}else if($supp!= "" AND $startDate!= ""){
$query = "SELECT v.kd_supplier,v.nama_supplier,v.kode_barang,v.nm_brg,v.jmlbeli,v.jmljual,v.stokakh,v.hj,v.kode_strip
FROM vLaporan v
WHERE v.kd_supplier = '$supp'";
}else if($lini!= "" AND $startDate!= ""){
$query = "SELECT v.kd_supplier,v.nama_supplier,v.kode_barang,v.nm_brg,v.jmlbeli,v.jmljual,v.stokakh,v.hj,v.kode_strip
FROM vLaporan v
WHERE v.kode_strip = '$lini'";
}else{
$query = "SELECT v.kd_supplier,v.nama_supplier,v.kode_barang,v.nm_brg,v.jmlbeli,v.jmljual,v.stokakh,v.hj,v.kode_strip
FROM vLaporan v";
}
if($stmt = mysqli_prepare($conn,$query)){
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
$cek = mysqli_stmt_num_rows($stmt);
if($cek > 0){
mysqli_stmt_bind_result($stmt,$kdSup,$nmSup,$kdbrg,$nmbrg,$jmlbeli,$jmljual,$stok,$hj,$kdstrip);
echo "<tr class='header'><td align = 'left' colspan = '9'><br/>$kelJenis[$n]</td></tr>";
$stripPrev = "";
$awal = TRUE;
while(mysqli_stmt_fetch($stmt)){
$tmpshow = 0.10 * $jmlbeli;
$show = round($tmpshow);
if($jmljual>=$show){
echo "<tr>";
if ($awal){
$stripPrev = $kdSup;
}
if ($stripPrev == $kdSup){
if ($awal){
echo "<tr><td align = 'left'>" .$kdSup. "</td><td align = 'left'>" .$nmSup. "</td>";
}else{
echo "<tr><td align = 'left'></td><td></td>";
}
}else{
echo "<tr><td align = 'left'>" .$kdSup. "</td><td align = 'left'>" .$nmSup. "</td>";
}
$awal = FALSE;
$stripPrev = $kdSup;
print("<td>".$kdstrip."</td><td>".$kdbrg."</td><td align='left'>".$nmbrg."</td><td>".$jmlbeli."</td><td>".$jmljual."</td><td>".$stok."</td><td align='right'>".number_format($hj, 0, ",", ".")."</td></tr>");
}
}
}
}
}
print("</table><br/>");
print("</div></center>");
}
?>