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
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>");
|
|
|
|
}
|
|
?>
|