<?php
namespace App\Http\Controllers;
use App\Exports\kwitansiExport;
use App\Exports\transaksiExport;
use App\Helpers\helpers;
use App\Imports\transaksiImport;
use App\Models\Anggaran;
use App\Models\Ekuitas;
use App\Models\HistoryTransaksi;
use App\Models\Kas;
use App\Models\KodeRekening;
use App\Models\Rekening;
use App\Models\Role;
use App\Models\SubKegiatan;
use App\Models\TahunRekening;
use App\Models\Transaksi;
use Barryvdh\DomPDF\Facade\Pdf;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
use Maatwebsite\Excel\Facades\Excel;
class TransaksiController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index(Request $request)
{
if(!helpers::hakAkses('Transaksi','view')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
if(Request('type')) {
return Excel::download(new transaksiExport, 'Transaksi_'.date("d-m-Y").'.xlsx');
}
$data['grup_user'] = Role::get();
$post = new Transaksi;
$tableName = $post->getTable();
$column = Schema::getColumnListing($tableName);
//dd($column);
if($request->get('cari')) {
$cari = $request->get('cari');
if(Auth::user()->role_id == 2) {
$data['transaksi'] = Transaksi::where('staf_id', Auth::user()->id)->orderBy('created_at','DESC');
} else {
$data['transaksi'] = Transaksi::orderBy('created_at','DESC');
}
// $data['KodeRekening'] = KodeRekening::orderBy('created_at','ASC');
foreach($column as $a => $value) {
// echo $value;
if($a == 0) {
$data['transaksi'] = $data['transaksi']->where($value,'like',"%".$request->get('cari')."%");
} else if($a == 1) {
$data['transaksi'] = $data['transaksi']->orWhereHas('kode_rekening', function($kode) use($cari) {
$kode->Where('kode','like',"%".$cari."%");
});
} else if($a == 5) {
$data['transaksi'] = $data['transaksi']->orWhereHas('tahun_rekening', function($tahun) use($cari) {
$tahun->Where('tahun','like',"%".$cari."%");
});
}else {
$data['transaksi'] = $data['transaksi']->orWhere($value,'like',"%".$request->get('cari')."%");
}
}
$data['transaksi'] = $data['transaksi']->paginate();
} else {
if(Auth::user()->role_id == 2) {
$data['transaksi'] = Transaksi::where('staf_id', Auth::user()->id)->orderBy('created_at','DESC');
} else {
$data['transaksi'] = Transaksi::orderBy('created_at','DESC');
}
$data['transaksi'] = $data['transaksi']->paginate();
}
$data['title'] = "Data Transaksi";
return view('transaksi.index', $data);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
if(!helpers::hakAkses('Transaksi','create')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
if(Request('type')) {
$data['title'] = "Import Transaksi";
return view('transaksi.import', $data);
} else {
// dd(date('m'));
$statement = DB::select("SHOW TABLE STATUS LIKE 'transaksis'");
// $data['nextId'] = $statement[0]->Auto_increment;
$data['nextId'] = Transaksi::count();
$data['bulan'] = helpers::getBulanRomawi(date('m'));
$data['rekening'] = Rekening::all();
$data['kas'] = Kas::orderBy('aktiva', 'ASC')->get();
$data['ekuitas'] = Ekuitas::orderBy('type', 'ASC')->get();
$data['tahun'] = TahunRekening::orderBy('tahun', 'DESC')->get();
$data['title'] = "Tambah Transaksi";
return view('transaksi.tambah', $data);
}
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
// $rules = [
// // 'username' => 'required|unique:users|unique:korcams|unique:korlabs|unique:kortps',
// 'kode' => 'required',
// 'tanggal' => 'required',
// 'rekening' => 'required',
// 'uraian' => 'required',
// 'no_bku' => 'required',
// 'type' => 'required',
// ];
// $validate = $request->validate($rules, [
// 'kode.required' => 'Nama Wajib Di Isi.',
// 'tanggal.required' => 'Nama Wajib Di Isi.',
// 'rekening.required' => 'Nama Wajib Di Isi.',
// 'uraian.required' => 'Nama Wajib Di Isi.',
// 'no_bku.required' => 'Nama Wajib Di Isi.',
// 'type.required' => 'Nama Wajib Di Isi.',
// ]);
// Excel::import(new transaksiImport, $request->file('import'));
try {
if(!helpers::hakAkses('Transaksi','create')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
if(Request('types')) {
$transaksi = new transaksiImport;
Excel::import($transaksi, $request->file('import'));
if($transaksi->getStatusData() == false) {
return redirect('/transaksi/create?type=import')->with('error', "Mohon maaf terjadi kesalahan karena beberapa data dibagian colom kode, kegiatan, dan sub kegiatan datanya tidak tersedia!");
}
} else {
$data = Transaksi::create([
'rekening_id' => $request->kode,
'sub_kegiatan_id' => $request->sub,
'tanggal' => $request->tanggal,
'rekening' => $request->rekening,
'uraian' => $request->uraian,
'no_bku' => $request->no_bku,
// 'tahun_rekening_id' => $request->tahun,
'type' => $request->type,
'ka_id' => $request->uang_muka,
'nominal_uang_muka' => $request->nominal_uang_muka,
'ekuitas_id' => $request->ekuitas,
'staf_id' => Auth::user()->id,
]);
$id = $data->id;
$grandTotal = 0;
foreach($request->item as $index => $value) {
$anggaran = Anggaran::create([
'transaksi_id' => $id,
'item' => $request->item[$index],
'value_volume_1' => $request->kali[$index],
'nama_volume_1' => $request->nama_volume_1[$index],
// 'value_volume_2' => $request->unit[$index],
// 'nama_volume_2' => $request->nama_volume_2[$index],
'harga_satuan' => str_replace(',','',$request->harga_satuan[$index]) ,
'sub_total' => str_replace(',','',$request->sub_total[$index]) ,
'sisa_anggaran' => str_replace(',','',$request->sub_total[$index]),
'type' => $request->anggaran[$index]
]);
$grandTotal = $grandTotal + str_replace(',','',$request->sub_total[$index]);
}
// if(!$request->uang_muka) {
// $sub_kegiatan = SubKegiatan::find($request->sub);
// if($request->type == 1) {
// $sub_kegiatan->sisa = $sub_kegiatan->sisa - $grandTotal;
// } else {
// $sub_kegiatan->jumlah = $sub_kegiatan->jumlah + $grandTotal;
// $sub_kegiatan->sisa = $sub_kegiatan->sisa + $grandTotal;
// }
// $sub_kegiatan->save();
// $jumlah = SubKegiatan::where('rekening_id', $request->kode)->sum('jumlah');
// $sisa = SubKegiatan::where('rekening_id', $request->kode)->sum('sisa');
// $rek = Rekening::find($request->kode);
// $rek->jumlah = $jumlah;
// $rek->sisa = $sisa;
// $rek->save();
// }
}
return redirect('/transaksi')->with('success', "Berhasil menambah Data Transaksi ");
} catch (\Throwable $th) {
return redirect()->back()->with('error', 'Terjadi kesalahan!');
}
}
/**
* Display the specified resource.
*/
public function show(string $id, Request $request)
{
if(!helpers::hakAkses('Transaksi','realisasi')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$data['transaksi'] = Transaksi::find($id);
$data['title'] = "Realisasi Transaksi";
if($request->get('realisasi')) {
$item = Anggaran::find($request->get('realisasi'));
return response()->json([
'item' => $item,
]);
} else {
return view('transaksi.realisasi', $data);
}
}
public function approve(string $id, Request $request)
{
if(!helpers::hakAkses('Transaksi','approve')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$data['transaksi'] = Transaksi::find($id);
$data['title'] = "Persetujuan Transaksi";
$data['grup_user'] = Role::get();
// dd($data['grup_user'][2]->limit_nominal);
return view('transaksi.approve', $data);
}
public function setuju(Request $request, $id) {
try {
if(!helpers::hakAkses('Transaksi','approve')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$grup_user = Role::get();
$data = Transaksi::find($id);
if(Request('muka')) {
$data->uang_muka = 'false';
$grandTotal = 0;
foreach($data->anggaran as $index) {
$grandTotal = $grandTotal + $index->sub_total;
}
$rekening = SubKegiatan::find($data->sub_kegiatan_id);
if($data->type == 1) {
$rekening->sisa = $rekening->sisa - $grandTotal;
} else {
// $rekening->jumlah = $rekening->jumlah + $grandTotal;
$rekening->sisa = $rekening->sisa + $grandTotal;
}
$rekening->save();
$jumlah = SubKegiatan::where('rekening_id', $data->rekening_id)->sum('jumlah');
$sisa = SubKegiatan::where('rekening_id', $data->rekening_id)->sum('sisa');
$rek = Rekening::find($data->rekening_id);
$rek->jumlah = $jumlah;
$rek->sisa = $sisa;
$rek->save();
$data->save();
$history = HistoryTransaksi::where('transaksi_id', $data->id)->update([
'tanggal' => $data->tanggal,
'saldo_sisa' => $rekening->sisa,
'status' => $data->uang_muka,
]);
return redirect()->back()->with('success', "Uang Muka telah Lunas! ");
// return view('transaksi.approve', $data)->with('success', "Uang Muka sudah lunas!");
} else {
if($request->get('staf')) {
$data->staf_id = $request->get('staf');
}
if($request->get('bendahara')) {
$data->bendahara_id = $request->get('bendahara');
$data->tanggal_bendahara = date("Y-m-d H:i:s");
$data->setuju_bendahara = $request->get('approve') == 'true' ? 1 : 0;
if($request->get('approve') == 'true') {
if($data->rekening <= $grup_user[2]->limit_nominal) {
$grandTotal = 0;
$data->tanggal_bayar = date('Y-m-d');
foreach($data->anggaran as $index) {
$grandTotal = $grandTotal + $index->sub_total;
}
$rekening = SubKegiatan::find($data->sub_kegiatan_id);
if($data->type == 1) {
$rekening->sisa = $rekening->sisa - $grandTotal;
} else {
// $rekening->jumlah = $rekening->jumlah + $grandTotal;
$rekening->sisa = $rekening->sisa + $grandTotal;
}
$rekening->save();
$jumlah = SubKegiatan::where('rekening_id', $data->rekening_id)->sum('jumlah');
$sisa = SubKegiatan::where('rekening_id', $data->rekening_id)->sum('sisa');
$rek = Rekening::find($data->rekening_id);
$rek->jumlah = $jumlah;
$rek->sisa = $sisa;
$rek->save();
$history = HistoryTransaksi::create([
'rekening_id' => $rekening->rekening_id,
'sub_kegiatan_id' => $data->sub_kegiatan_id,
'transaksi_id' => $data->id,
'tanggal' => $data->tanggal,
'saldo_sisa' => $rekening->sisa,
'status' => $data->uang_muka,
]);
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 1) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_january' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 2) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_february' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 3) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_march' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 4) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_april' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 5) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_may' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 6) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_june' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 7) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_july' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 8) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_august' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 9) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_september' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 10) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_october' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 11) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_november' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 12) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_december' => $a->sub_total,
]);
}
}
}
}
}
if($request->get('kepala')) {
$data->kepala_id = $request->get('kepala');
$data->tanggal_kepala = date("Y-m-d H:i:s");
// dd($request->get('approve'));
$data->setuju_kepala = $request->get('approve') == 'true' ? 1 : 0;
if($request->get('approve') == 'true') {
if($data->rekening > $grup_user[2]->limit_nominal) {
$grandTotal = 0;
$data->tanggal_bayar = date('Y-m-d');
foreach($data->anggaran as $index) {
$grandTotal = $grandTotal + $index->sub_total;
}
$rekening = SubKegiatan::find($data->sub_kegiatan_id);
// if($data->uang_muka == "false") {
// }
if($data->type == 1) {
$rekening->sisa = $rekening->sisa - $grandTotal;
} else {
// $rekening->jumlah = $rekening->jumlah + $grandTotal;
$rekening->sisa = $rekening->sisa + $grandTotal;
}
$rekening->save();
$jumlah = SubKegiatan::where('rekening_id', $data->rekening_id)->sum('jumlah');
$sisa = SubKegiatan::where('rekening_id', $data->rekening_id)->sum('sisa');
$rek = Rekening::find($data->rekening_id);
$rek->jumlah = $jumlah;
$rek->sisa = $sisa;
$rek->save();
$history = HistoryTransaksi::create([
'rekening_id' => $rekening->rekening_id,
'sub_kegiatan_id' => $data->sub_kegiatan_id,
'transaksi_id' => $data->id,
'tanggal' => $data->tanggal,
'saldo_sisa' => $rekening->sisa,
'status' => $data->uang_muka,
]);
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 1) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_january' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 2) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_february' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 3) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_march' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 4) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_april' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 5) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_may' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 6) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_june' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 7) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_july' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 8) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_august' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 9) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_september' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 10) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_october' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 11) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_november' => $a->sub_total,
]);
}
}
if(date('m', strtotime(date("Y-m-d H:i:s"))) == 12) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
foreach($anggaran as $a) {
$as = Anggaran::where('id', $a->id)->update([
'realisasi_december' => $a->sub_total,
]);
}
}
}
}
}
$data->save();
return redirect('/transaksi')->with('success', "Data telah berhasil disetujui! ");
}
} catch (\Throwable $th) {
return redirect()->back()->with('error', 'Terjadi kesalahan!');
}
}
public function realisasi($id, Request $request) {
try {
if(!helpers::hakAkses('Transaksi','realisasi')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$realisasiMonth = ["realisasi_january", "realisasi_february", "realisasi_march", "realisasi_april", "realisasi_may", "realisasi_june", "realisasi_july", "realisasi_august", "realisasi_september", "realisasi_october", "realisasi_november", "realisasi_december"];
for($i = 0; $i < count($realisasiMonth); $i++) {
if($request->input($realisasiMonth[$i])) {
$data = Anggaran::where('id', $id)->update([
$realisasiMonth[$i] => $request->input($realisasiMonth[$i]),
]);
}
}
$datas = Anggaran::find($id);
$sum = 0;
for($i = 0; $i < count($realisasiMonth); $i++) {
$sum = $sum + $datas->{$realisasiMonth[$i]};
}
$updateSISA = Anggaran::where('id', $id)->update([
'sisa_anggaran' => $datas->sub_total - $sum,
]);
$datas = Anggaran::find($id);
return response()->json([
'item' => $datas,
'message' => 'berhasil mengisi realisasi!',
]);
} catch (\Throwable $th) {
return response()->json([
'message' => 'Terjadi Kesalahan!',
]);
}
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
if(!helpers::hakAkses('Transaksi','update')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$data['rekening'] = Rekening::all();
$data['tahun'] = TahunRekening::orderBy('tahun', 'DESC')->get();
$data['transaksi'] = Transaksi::find($id);
$data['sub'] = SubKegiatan::where('rekening_id', $data['transaksi']->rekening_id)->get();
$data['kas'] = Kas::orderBy('aktiva', 'ASC')->get();
$data['ekuitas'] = Ekuitas::orderBy('type', 'ASC')->get();
$data['title'] = "Edit Transaksi";
return view('transaksi.edit', $data);
}
public function kwitansi(string $id) {
if(!helpers::hakAkses('Transaksi','view')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
// return Excel::download(new kwitansiExport($id), 'Kwitansi_Transaksi_'.date("d-m-Y").'.xlsx');
$data['transaksi'] = Transaksi::find($id);
$data['title'] = "Kwitansi";
$data['grup_user'] = Role::get();
$pdf = Pdf::loadview('transaksi.kwitansi', $data)->setPaper('A4', 'potrait');
// return $pdf->download('laporan-pegawai.pdf');
return $pdf->stream("dompdf_out.pdf", array("Attachment" => false));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
// $rules = [
// // 'username' => 'required|unique:users|unique:korcams|unique:korlabs|unique:kortps',
// 'kode' => 'required',
// 'tanggal' => 'required',
// 'rekening' => 'required',
// 'uraian' => 'required',
// 'no_bku' => 'required',
// 'type' => 'required',
// ];
// $validate = $request->validate($rules, [
// 'kode.required' => 'Nama Wajib Di Isi.',
// 'tanggal.required' => 'Nama Wajib Di Isi.',
// 'rekening.required' => 'Nama Wajib Di Isi.',
// 'uraian.required' => 'Nama Wajib Di Isi.',
// 'no_bku.required' => 'Nama Wajib Di Isi.',
// 'type.required' => 'Nama Wajib Di Isi.',
// ]);
if(!helpers::hakAkses('Transaksi','update')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$check = Transaksi::find($id);
if($check->sub_kegiatan_id == $request->sub) {
$anggaran = Anggaran::where('transaksi_id', $id)->get();
// $rekening = SubKegiatan::find($request->sub);
// $subtotal = 0;
// foreach($anggaran as $a) {
// $subtotal = $subtotal + $a->sub_total;
// }
// if($check->type == 0) {
// $rekening->jumlah = $rekening->jumlah - $subtotal;
// $rekening->sisa = $rekening->sisa - $subtotal;
// } else {
// $rekening->sisa = $rekening->sisa + $subtotal;
// }
// if($request->uang_muka == null) {
// } else {
// if($check->type == 1) {
// $rekening->sisa = $rekening->sisa + $subtotal;
// } else {
// $rekening->jumlah = $rekening->jumlah - $subtotal;
// $rekening->sisa = $rekening->sisa - $subtotal;
// }
// }
// $rekening->save();
// dd($rekening);
}
$data = Transaksi::where('id', $id)->update([
'rekening_id' => $request->kode,
'sub_kegiatan_id' => $request->sub,
'tanggal' => $request->tanggal,
'rekening' => $request->rekening,
'uraian' => $request->uraian,
'no_bku' => $request->no_bku,
// 'tahun_rekening_id' => $request->tahun,
'type' => $request->type,
'ka_id' => $request->uang_muka,
'ekuitas_id' => $request->ekuitas,
'nominal_uang_muka' => $request->nominal_uang_muka,
]);
//dd($anggaran);
$dataAvailable = [];
$grandTotal = 0;
if(isset($request->ids)) {
foreach($request->ids as $index => $value) {
$dataAvailable[] = $request->ids[$index];
}
$anggaran = Anggaran::where('transaksi_id', $id)->whereNotIn('id', $dataAvailable)->get();
foreach($anggaran as $a) {
$a->delete();
}
foreach($request->ids as $index => $value) {
$anggaran = Anggaran::where('id', $request->ids[$index])->update([
'item' => $request->items[$index],
'value_volume_1' => $request->kalis[$index],
'nama_volume_1' => $request->nama_volume_1s[$index],
// 'value_volume_2' => $request->units[$index],
// 'nama_volume_2' => $request->nama_volume_2s[$index],
'harga_satuan' => str_replace(',','',$request->harga_satuans[$index]),
'sub_total' => str_replace(',','',$request->sub_totals[$index]),
'sisa_anggaran' => str_replace(',','',$request->sub_totals[$index]),
'type' => $request->anggaran[$index],
]);
$grandTotal = $grandTotal + str_replace(',','',$request->sub_totals[$index]);
}
}
if(isset($request->item)) {
foreach($request->item as $index => $value) {
$anggaran = Anggaran::create([
'transaksi_id' => $id,
'item' => $request->item[$index],
'value_volume_1' => $request->kali[$index],
'nama_volume_1' => $request->nama_volume_1[$index],
// 'value_volume_2' => $request->unit[$index],
// 'nama_volume_2' => $request->nama_volume_2[$index],
'harga_satuan' => str_replace(',','',$request->harga_satuan[$index]),
'sub_total' => str_replace(',','',$request->sub_total[$index]),
'sisa_anggaran' => str_replace(',','',$request->sub_total[$index]),
'type' => $request->anggaran[$index],
]);
$grandTotal = $grandTotal + str_replace(',','',$request->sub_total[$index]);
}
}
// if($request->uang_muka == null) {
// $sub_kegiatan = SubKegiatan::find($request->sub);
// if($request->type == 1) {
// $sub_kegiatan->sisa = $sub_kegiatan->sisa - $grandTotal;
// } else {
// $sub_kegiatan->jumlah = $sub_kegiatan->jumlah + $grandTotal;
// $sub_kegiatan->sisa = $sub_kegiatan->sisa + $grandTotal;
// }
// $sub_kegiatan->save();
// }
// $jumlah = SubKegiatan::where('rekening_id', $request->kode)->sum('jumlah');
// $sisa = SubKegiatan::where('rekening_id', $request->kode)->sum('sisa');
// $rek = Rekening::find($request->kode);
// $rek->jumlah = $jumlah;
// $rek->sisa = $sisa;
// $rek->save();
return redirect('/transaksi')->with('success', "Berhasil merubah Data Transaksi ");
try {
} catch (\Throwable $th) {
return redirect()->back()->with('error', 'Terjadi kesalahan!');
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
try {
if(!helpers::hakAkses('Transaksi','delete')){
return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$data = Transaksi::find($id);
// $rekening = Rekening::find($data->rekening_id);
// if($data->uang_muka == "false") {
// if($data->type == 1) {
// $rekening->sisa = $rekening->sisa + $data->rekening;
// } else {
// $rekening->jumlah = $rekening->jumlah - $data->rekening;
// $rekening->sisa = $rekening->sisa - $data->rekening;
// }
// }
// $rekening->save();
$data->delete();
return redirect('/transaksi')->with('success', "Berhasil menghapus Data Transaksi ");
} catch (\Throwable $th) {
return redirect()->back()->with('error', 'Terjadi kesalahan!');
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]