Masuksini-Real-Estate/app/Http/Controllers/laporan.php
2024-09-07 08:16:49 +07:00

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