141 lines
5.8 KiB
PHP
141 lines
5.8 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace App\Http\Controllers;
|
||
|
|
||
|
use PDF;
|
||
|
|
||
|
use App\gugusDatatable;
|
||
|
use App\createDatatable;
|
||
|
use Illuminate\Support\Facades\DB;
|
||
|
use Illuminate\Http\Request;
|
||
|
use Illuminate\Support\Facades\Session;
|
||
|
|
||
|
class laporan extends Controller
|
||
|
{
|
||
|
public function index($laporan)
|
||
|
{
|
||
|
|
||
|
$dataAkun = DB::select('SELECT * FROM akun WHERE perusahaan = "'.Session::get("toko-user")['nama_perusahaan'].'"');
|
||
|
|
||
|
|
||
|
|
||
|
$hari_ini = date("Y-m-d");
|
||
|
$tgl_pertama = date('Y-m-01', strtotime($hari_ini));
|
||
|
$tgl_terakhir = date('Y-m-t', strtotime($hari_ini));
|
||
|
|
||
|
|
||
|
$mydata = [];
|
||
|
|
||
|
foreach($dataAkun as $key => $nilaiAkun){
|
||
|
$dataPembelian = [];
|
||
|
$dataPembelianBarang = DB::select('SELECT * FROM stock_barang WHERE perusahaan = "'.Session::get("toko-user")['nama_perusahaan'].'" AND (tanggal_beli BETWEEN "'.$tgl_pertama.'" AND "'.$tgl_terakhir.'") AND id_barang = "'.$nilaiAkun->id_akun.'"');
|
||
|
|
||
|
foreach($dataPembelianBarang as $keyBeli => $nilaiBeli){
|
||
|
$harga_satuan = str_replace("Rp ","",$nilaiBeli->harga_satuan);
|
||
|
$dataPembelian[] = [
|
||
|
"harga-satuan" => str_replace(".","",$harga_satuan)
|
||
|
,"total-barang" => $nilaiBeli->total_barang
|
||
|
];
|
||
|
}
|
||
|
|
||
|
$dataPenjualan = [];
|
||
|
$dataPembelianPenjualan = DB::select('SELECT * FROM data_transaksi WHERE perusahaan = "'.Session::get("toko-user")['nama_perusahaan'].'" AND ( DATE(created_at) BETWEEN "'.$tgl_pertama.'" AND "'.$tgl_terakhir.'") AND id_barang = "'.$nilaiAkun->id_akun.'"');
|
||
|
|
||
|
foreach($dataPembelianPenjualan as $keyJual => $nilaiJual){
|
||
|
$dataHargaJual = DB::select('SELECT * FROM harga_jual WHERE perusahaan = "'.Session::get("toko-user")['nama_perusahaan'].'" AND id_barang = "'.$nilaiJual->id_barang.'"')[0]->harga_per_satuan;
|
||
|
$dataHargaJual = str_replace("Rp ", "", $dataHargaJual);
|
||
|
$dataHargaJual = str_replace(".", "", $dataHargaJual);
|
||
|
$dataPenjualan[] = [
|
||
|
"barang-terjual" => $nilaiJual->banyak_barang
|
||
|
,"harga-jual" => $dataHargaJual
|
||
|
];
|
||
|
}
|
||
|
|
||
|
$dataPesanan = [];
|
||
|
$dataPembelianPesanan = DB::select('SELECT * FROM data_pesanan WHERE perusahaan = "'.Session::get("toko-user")['nama_perusahaan'].'" AND ( DATE(created_at) BETWEEN "'.$tgl_pertama.'" AND "'.$tgl_terakhir.'") AND id_barang = "'.$nilaiAkun->id_akun.'"');
|
||
|
|
||
|
foreach($dataPembelianPesanan as $keyJual => $nilaiPesanan){
|
||
|
$dataHargaJual = DB::select('SELECT * FROM harga_jual WHERE perusahaan = "'.Session::get("toko-user")['nama_perusahaan'].'" AND id_barang = "'.$nilaiPesanan->id_barang.'"')[0]->harga_per_satuan;
|
||
|
$dataHargaJual = str_replace("Rp ", "", $dataHargaJual);
|
||
|
$dataHargaJual = str_replace(".", "", $dataHargaJual);
|
||
|
$dataPesanan[] = [
|
||
|
"barang-pesanan" => $nilaiPesanan->banyak_barang
|
||
|
,"harga-jual" => $dataHargaJual
|
||
|
,"id-pesanan" => $nilaiPesanan->id_pesanan
|
||
|
];
|
||
|
}
|
||
|
|
||
|
$mydata[$nilaiAkun->id_akun] = array(
|
||
|
'nama' => $nilaiAkun->nama_akun
|
||
|
,'barang-tersedia' => $nilaiAkun->total_stock
|
||
|
,'pembelian' => $dataPembelian
|
||
|
,'penjualan' => $dataPenjualan
|
||
|
,'pesanan' => $dataPesanan
|
||
|
);
|
||
|
}
|
||
|
|
||
|
// dump($mydata);
|
||
|
|
||
|
$html = "";
|
||
|
|
||
|
foreach($mydata as $mykey => $mydata){
|
||
|
|
||
|
$totalawal = 0;
|
||
|
$hargabeli = 0;
|
||
|
|
||
|
if($mydata['pembelian'] != []){
|
||
|
foreach($mydata['pembelian'] as $key => $pembelian){
|
||
|
$totalawal += $pembelian['total-barang'];
|
||
|
$hargabeli = $pembelian['harga-satuan'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$totaljual = 0;
|
||
|
$hargajual = 0;
|
||
|
|
||
|
if($mydata['penjualan'] != []){
|
||
|
foreach($mydata['penjualan'] as $key => $penjualan){
|
||
|
$totaljual += $penjualan['barang-terjual'];
|
||
|
$hargajual = $penjualan['harga-jual'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$totalpesanan = 0;
|
||
|
$hargapesanan = 0;
|
||
|
|
||
|
if($mydata['pesanan'] != []){
|
||
|
foreach($mydata['pesanan'] as $key => $pesanan){
|
||
|
$totalpesanan += $pesanan['barang-pesanan'];
|
||
|
$hargapesanan = $pesanan['harga-jual'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$html .= '<tr>';
|
||
|
$html .= '<td class="center">'.$mykey.'</td>';
|
||
|
$html .= '<td>'.$mydata['nama'].'</td>';
|
||
|
$html .= '<td class="center">'.$mydata['barang-tersedia'].' biji </td>';
|
||
|
$html .= '<td class="center">'.$totalawal.' biji </td>';
|
||
|
$html .= '<td class="right">Rp '.number_format($hargabeli,2,',','.').'</td>';
|
||
|
$html .= '<td class="center">'.$totaljual.' biji </td>';
|
||
|
$html .= '<td class="right">Rp '.number_format($hargajual,2,',','.').'</td>';
|
||
|
$html .= '<td class="center">'.$totalpesanan.' biji </td>';
|
||
|
$html .= '<td class="right">Rp '.number_format($hargapesanan,2,',','.').'</td>';
|
||
|
$html .= '</td>';
|
||
|
}
|
||
|
|
||
|
// echo '<table>';
|
||
|
// echo $html;
|
||
|
// echo '</table>';
|
||
|
|
||
|
|
||
|
|
||
|
if($laporan == "show"){
|
||
|
return view('toko.laporan.index', ['laporan_persediaan'=> $html]);
|
||
|
}else{
|
||
|
$pdf = PDF::loadview('pdf.persediaan',['laporan_persediaan'=> $html])->setPaper('a4', 'landscape');
|
||
|
return $pdf->stream("laporan-persediaan.pdf", array("Attachment" => false));
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|