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