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.

276 lines
14 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:850px; border:1px solid #000; padding:20px 0; margin-bottom:25px;}";
echo "table.tbl {width:700px;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 ".master{text-align:left;}";
echo "</style>";
$startDate = decTgl($_POST['startDate']);
$endDate = decTgl($_POST['endDate']);
$tanggal = encTgl($startDate);
$bulan = substr($tanggal,3,2);
$tmpbulan = left($bulan,1);
if($tmpbulan == '0'){
$bln = right($bulan,1);
}else{
$bln = $bulan;
}
$thn = substr($tanggal,6,4);
if(bukaKoneksi()){
global $conn;
$qry_tmp = "CREATE TABLE tmp_lapjualperkat AS
select s.kel_jns, s.nama_strip, k.ked_produk, sum(juml) vol, sum(hjbruto) HJbruto, sum(disc) Disc, sum(tot) totHJ,sum(hp) totHP,(sum(tot)-sum(hp))/sum(tot)*100 nettprofit
from (
select b.kode_strip lini,sum(jumlah) juml,
sum(d.harga_jual * d.jumlah) hjbruto,
sum(d.harga_jual * d.jumlah * d.diskon / 100) disc,
sum((d.harga_jual * d.jumlah) - (d.harga_jual * d.jumlah * d.diskon / 100)) tot,
sum(d.jumlah*REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(d.harga_pokok,'B','1'),'R','2'),'A','3'),'W','4'),'N','5'),'F','6'),'O','7'),'X','8'),'E','9'),'S','0')) hp
from d_nota_tunai d,m_nota_tunai m, barang b
where d.no_nota = m.no_nota
AND d.kd_barang = b.kode_barang
and d.harga_pokok IS NOT NULL
and m.status_nota = 'S'
and date(tgl_nota) between '$startDate' and '$endDate'
group by b.kode_strip
UNION ALL
select b.kode_strip lini,sum(jumlah) juml,
sum(d.hrg_satuan * d.jumlah) hjbruto,
sum(d.hrg_satuan * d.jumlah * d.diskon / 100) disc,
sum((d.hrg_satuan * d.jumlah) - (d.hrg_satuan * d.jumlah * d.diskon / 100)) tot,
sum(d.jumlah*REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(d.harga_pokok,'B','1'),'R','2'),'A','3'),'W','4'),'N','5'),'F','6'),'O','7'),'X','8'),'E','9'),'S','0')) hp
from d_bon d,m_bon m,barang b
where d.no_bon = m.no_bon
and d.kd_brg = b.kode_barang
and d.harga_pokok IS NOT NULL
and date(tgl_bon) between '$startDate' and '$endDate'
group by b.kode_strip
UNION ALL
select b.kode_strip lini,(-1*sum(jumlah)) juml,
(-1*sum(d.harga_jual * d.jumlah)) hjbruto,
(-1*sum(d.harga_jual * d.jumlah * d.diskon / 100)) disc,
(-1*sum((d.harga_jual * d.jumlah) - (d.harga_jual * d.jumlah * d.diskon / 100))) tot,
(-1*sum(d.jumlah*REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(d.harga_pokok,'B','1'),'R','2'),'A','3'),'W','4'),'N','5'),'F','6'),'O','7'),'X','8'),'E','9'),'S','0'))) hp
from d_nota_retur d,m_nota_retur m,barang b
where d.no_nota = m.no_nota
and d.kd_barang = b.kode_barang
and d.harga_pokok IS NOT NULL
and date(tgl_nota) between '$startDate' and '$endDate'
group by b.kode_strip
) vlini,strip s
where s.kd_strip = lini
group by kd_strip";
runQuery($qry_tmp);
$query = "select s.kel_jns, s.nama_strip, sum(juml) vol, sum(hjbruto) HJbruto, sum(disc) Disc, sum(tot) totHJ,sum(hp) totHP,(sum(tot)-sum(hp))/sum(tot)*100 nettprofit
from (
select b.kode_strip lini,sum(jumlah) juml,
sum(d.harga_jual * d.jumlah) hjbruto,
sum(d.harga_jual * d.jumlah * d.diskon / 100) disc,
sum((d.harga_jual * d.jumlah) - (d.harga_jual * d.jumlah * d.diskon / 100)) tot,
sum(d.jumlah*REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(d.harga_pokok,'B','1'),'R','2'),'A','3'),'W','4'),'N','5'),'F','6'),'O','7'),'X','8'),'E','9'),'S','0')) hp
from d_nota_tunai d,m_nota_tunai m,barang b
where d.no_nota = m.no_nota
and d.kd_barang = b.kode_barang
and d.harga_pokok IS NOT NULL
and m.status_nota = 'S'
and date(tgl_nota) between '$startDate' and '$endDate'
group by b.kode_strip
UNION ALL
select b.kode_strip lini,sum(jumlah) juml,
sum(d.hrg_satuan * d.jumlah) hjbruto,
sum(d.hrg_satuan * d.jumlah * d.diskon / 100) disc,
sum((d.hrg_satuan * d.jumlah) - (d.hrg_satuan * d.jumlah * d.diskon / 100)) tot,
sum(d.jumlah*REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(d.harga_pokok,'B','1'),'R','2'),'A','3'),'W','4'),'N','5'),'F','6'),'O','7'),'X','8'),'E','9'),'S','0')) hp
from d_bon d,m_bon m,barang b
where d.no_bon = m.no_bon
and d.kd_brg = b.kode_barang
and d.harga_pokok IS NOT NULL
and date(tgl_bon) between '$startDate' and '$endDate'
group by b.kode_strip
UNION ALL
select b.kode_strip lini,(-1*sum(jumlah)) juml,
(-1*sum(d.harga_jual * d.jumlah)) hjbruto,
(-1*sum(d.harga_jual * d.jumlah * d.diskon / 100)) disc,
(-1*sum((d.harga_jual * d.jumlah) - (d.harga_jual * d.jumlah * d.diskon / 100))) tot,
(-1*sum(d.jumlah*REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(d.harga_pokok,'B','1'),'R','2'),'A','3'),'W','4'),'N','5'),'F','6'),'O','7'),'X','8'),'E','9'),'S','0'))) hp
from d_nota_retur d,m_nota_retur m,barang b
where d.no_nota = m.no_nota
and d.kd_barang = b.kode_barang
and d.harga_pokok IS NOT NULL
and date(tgl_nota) between '$startDate' and '$endDate'
group by b.kode_strip
) vlini,strip s
where s.kd_strip = lini
group by s.kd_strip ";
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,$kelJns,$strip,$jmlBeli,$HJBrut,$discount,$rpBeli,$hrgPokok,$nettprofit);
$ttJmlBeli = array();
$ttJmlBeli['pria']['jml'] = 0;
$ttJmlBeli['pria']['rp'] = 0;
$ttJmlBeli['pria']['hp'] = 0;
$ttJmlBeli['pria']['HJbruto'] = 0;
$ttJmlBeli['pria']['disc'] = 0;
$ttJmlBeli['wanita']['jml'] = 0;
$ttJmlBeli['wanita']['rp'] = 0;
$ttJmlBeli['wanita']['hp'] = 0;
$ttJmlBeli['wanita']['HJbruto'] = 0;
$ttJmlBeli['wanita']['disc'] = 0;
$ttJmlBeli['anak']['jml'] = 0;
$ttJmlBeli['anak']['rp'] = 0;
$ttJmlBeli['anak']['hp'] = 0;
$ttJmlBeli['anak']['HJbruto'] = 0;
$ttJmlBeli['anak']['disc'] = 0;
$ttJmlBeli['sepatu']['jml'] = 0;
$ttJmlBeli['sepatu']['rp'] = 0;
$ttJmlBeli['sepatu']['hp'] = 0;
$ttJmlBeli['sepatu']['HJbruto'] = 0;
$ttJmlBeli['sepatu']['disc'] = 0;
print("<center><div id=\"divprint\" >");
print("<h2>Laporan Penjualan Per Kelompok Kategori</h2><br/><br/>");
print("<div class=\"luar\">TOKO ".$_SESSION['namatoko']."<br/>");
print("PADA TANGGAL : ".encTgl($startDate) ." s/d ".encTgl($endDate)."<br/>");
print("DICETAK TANGGAL : ".date('d-m-Y [H:i]')."</div><br/><br/>");
?>
<?php
$pria = 0;
$wanita = 0;
$anak = 0;
$sepatu = 0;
$str = array();
$jmlB = array();
$rpB = array();
$HP = array();
while(mysqli_stmt_fetch($stmt)){
if($jmlRetur == ''){
$jmlRetur = 0;
}
if($rpRetur == ''){
$rpRetur = 0;
}
if($kelJns == "P"){
$kelJns = "Pria";
$ttJmlBeli['pria']['jml'] += $jmlBeli;
$ttJmlBeli['pria']['HJbruto'] += $HJBrut;
$ttJmlBeli['pria']['disc'] += $discount;
$ttJmlBeli['pria']['rp'] += $rpBeli;
$ttJmlBeli['pria']['hp'] += $hrgPokok;
$str[$pria]['pria'] = $strip;
$jmlB[$pria]['pria'] = $jmlBeli;
$rpB[$pria]['pria'] = $rpBeli;
$HP[$pria]['pria'] = $hrgPokok;
$HJb[$pria]['pria'] = $HJBrut;
$disc[$pria]['pria'] = $discount;
$pria++;
}elseif($kelJns == "W"){
$kelJns = "Wanita";
$ttJmlBeli['wanita']['jml'] += $jmlBeli;
$ttJmlBeli['wanita']['HJbruto'] += $HJBrut;
$ttJmlBeli['wanita']['disc'] += $discount;
$ttJmlBeli['wanita']['rp'] += $rpBeli;
$ttJmlBeli['wanita']['hp'] += $hrgPokok;
$str[$wanita]['wanita'] = $strip;
$jmlB[$wanita]['wanita'] = $jmlBeli;
$rpB[$wanita]['wanita'] = $rpBeli;
$HP[$wanita]['wanita'] = $hrgPokok;
$HJb[$wanita]['wanita'] = $HJBrut;
$disc[$wanita]['wanita'] = $discount;
$wanita++;
}elseif($kelJns == "A"){
$kelJns = "Anak";
$ttJmlBeli['anak']['jml'] += $jmlBeli;
$ttJmlBeli['anak']['HJbruto'] += $HJBrut;
$ttJmlBeli['anak']['disc'] += $discount;
$ttJmlBeli['anak']['rp'] += $rpBeli;
$ttJmlBeli['anak']['hp'] += $hrgPokok;
$str[$anak]['anak'] = $strip;
$jmlB[$anak]['anak'] = $jmlBeli;
$rpB[$anak]['anak'] = $rpBeli;
$HP[$anak]['anak'] = $hrgPokok;
$HJb[$anak]['anak'] = $HJBrut;
$disc[$anak]['anak'] = $discount;
$anak++;
}else{
$kelJns = "Sepatu";
$ttJmlBeli['sepatu']['jml'] += $jmlBeli;
$ttJmlBeli['sepatu']['HJbruto'] += $HJBrut;
$ttJmlBeli['sepatu']['disc'] += $discount;
$ttJmlBeli['sepatu']['rp'] += $rpBeli;
$ttJmlBeli['sepatu']['hp'] += $hrgPokok;
$str[$sepatu]['sepatu'] = $strip;
$jmlB[$sepatu]['sepatu'] = $jmlBeli;
$rpB[$sepatu]['sepatu'] = $rpBeli;
$HP[$sepatu]['sepatu'] = $hrgPokok;
$HJb[$sepatu]['sepatu'] = $HJBrut;
$disc[$sepatu]['sepatu'] = $discount;
$sepatu++;
}
}
print("<table border=\"1\" class=\"tbl\">");
print("<tr class=\"header\"><td>Lini Produk</td><td>Volume</td><td>Tot HJ Bruto</td><td>Tot Disc</td><td>Tot HJ</td><td>Tot HP</td><td>NettProfit(%)</td><td>Profit Bruto(%)</td></tr>");
print("<div class=\"luar\">");
// SEPATU -------------------------------------------------------------------------
$jmlkatsepatu = $ttJmlBeli['sepatu']['jml'];
$rpkatsepatu = $ttJmlBeli['sepatu']['rp'];
$hpkatsepatu = $ttJmlBeli['sepatu']['hp'];
$hjbrutsepatu = $ttJmlBeli['sepatu']['HJbruto'];
$discsepatu = $ttJmlBeli['sepatu']['disc'];
if($ttJmlBeli['sepatu']['jml']!=0){
print("<tr class=\"master\"><td colspan=\"8\"></td></tr>");
for($i=0;$i<$sepatu;$i++){
print("<tr class=\"isi\"><td>".$str[$i]['sepatu']."</td><td align=\"right\">".number_format($jmlB[$i]['sepatu'], 0, ",", ".")."</td><td align=\"right\">".number_format($HJb[$i]['sepatu'], 0, ",", ".")."</td><td align=\"right\">".number_format($disc[$i]['sepatu'], 0, ",", ".")."</td><td align=\"right\">".number_format($rpB[$i]['sepatu'], 0, ",", ".")."</td><td align=\"right\">".number_format($HP[$i]['sepatu'], 0, ",", ".")."</td><td align=\"right\">".number_format( (($rpB[$i]['sepatu']-$HP[$i]['sepatu'])/$rpB[$i]['sepatu']*100),2)."</td><td align=\"right\">".number_format( (($HJb[$i]['sepatu']-$HP[$i]['sepatu'])/$HJb[$i]['sepatu']*100),2)."</td></tr>");
}
print("<tr class=\"isi\"><tr class=\"isi\"><td colspan=\"1\" align=\"center\">Sub Total</td><td align=\"right\">".number_format($jmlkatsepatu, 0, ",", ".")."</td><td align=\"right\">".number_format($hjbrutsepatu, 0, ",", ".")."</td><td align=\"right\">".number_format($discsepatu, 0, ",", ".")."</td><td align=\"right\">".number_format($rpkatsepatu, 0, ",", ".")."</td><td align=\"right\">".number_format($hpkatsepatu, 0, ",", ".")."</td><td align=\"right\">".number_format(($rpkatsepatu-$hpkatsepatu)/$rpkatsepatu*100, 2)."</td><td align=\"right\">".number_format(($hjbrutsepatu-$hpkatsepatu)/$hjbrutsepatu*100, 2)."</td></tr>");
}
//----------------------------------------------------------------------------------
$ttjml = $jmlkatpria + $jmlkatwanita + $jmlkatanak + $jmlkatsepatu;
$ttrp = $rpkatpria + $rpkatwanita + $rpkatanak + $rpkatsepatu;
$tthp = $hpkatpria + $hpkatwanita + $hpkatanak + $hpkatsepatu;
$ttHJb = $hjbrutpria + $hjbrutwanita + $hjbrutanak + $hjbrutsepatu;
$ttdisc = $discpria + $discwanita + $discanak + $discsepatu;
print("<tr class=\"isi\"><td colspan=\"1\" align=\"center\">T O T A L : </td>
<td align=\"right\">".number_format($ttjml, 0, ",", ".")."</td>
<td align=\"right\">".number_format($ttHJb, 0, ",", ".")."</td>
<td align=\"right\">".number_format($ttdisc, 0, ",", ".")."</td>
<td align=\"right\">".number_format($ttrp, 0, ",", ".")."</td>
<td align=\"right\">".number_format($tthp, 0, ",", ".")."</td>
<td align=\"right\">".number_format(($ttrp-$tthp)/$ttrp*100, 2)."</td>
<td align=\"right\">".number_format(($ttHJb-$tthp)/$ttHJb*100, 2)."</td></tr>");
print("</table><br/>");
}else{
echo "Belum ada data penjualan untuk tanggal tersebut!";
}
}
}
?>