Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Imports/
Upload File :
Current File : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Imports/transaksiImport.php

<?php

namespace App\Imports;

use App\Models\Anggaran;
use App\Models\Rekening;
use App\Models\SubKegiatan;
use App\Models\Transaksi;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class transaksiImport implements ToCollection, WithHeadingRow
{
    private $status_data = false;

    public function collection(Collection $rows)
    {
        $kode = null;
        $kegiatan = null;
        $sub = null;
        $tanggal = null;
        $uraian = null;
        $no_bku = null;
        $debit = null;
        $kredit = null;
        $uang_muka = null;
        $id_transaksi = null;
        $id_rekening = null;

        foreach ($rows as $row) {
            $kodex = Rekening::where('kode', $row['kode'])->count();
            if($kodex != 0) {
                $kegiatanK = Rekening::where('nama', $row['kegiatan'])->count();
                if($kegiatanK != 0) {
                    $subK = SubKegiatan::where('nama', $row['sub_kegiatan'])->count();
                    if($subK != 0) {
                        $this->status_data = true;
                    } else {
                        $this->status_data = false;
                        break;
                    }
                } else {
                    $this->status_data = false;
                    break;
                }
            } else {
                $this->status_data = false;
                break;
            }
        }

        if($this->status_data == true) {
            foreach ($rows as $row)
            {
                if($kode != $row['kode'] || $kegiatan != $row['kegiatan'] ||  $sub != $row['sub_kegiatan'] || $uraian != $row['uraian'] || $tanggal != $row['tanggal'] || $no_bku != $row['no_bku'] || $debit != $row['debit'] || $kredit != $row['kredit'] || $uang_muka != $row['uang_muka']) {
                    $kode = $row['kode'];
                    $kegiatan = $row['kegiatan'];
                    $sub = $row['sub_kegiatan'];
                    $tanggal = $row['tanggal'];
                    $uraian = $row['uraian'];
                    $no_bku = $row['no_bku'];
                    $debit = $row['debit'];
                    $kredit = $row['kredit'];
                    $uang_muka = $row['uang_muka'];
                    // dd(  \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row[2]) );
                    $kodex = Rekening::where('kode', $row['kode'])->first();
                    $kegiatanX = Rekening::where('nama', $row['kegiatan'])->first();
                    $subKegiatanX = SubKegiatan::where('nama', $row['sub_kegiatan'])->first();

                    $data = Transaksi::create([
                        'rekening_id' => $kegiatanX->id,
                        'sub_kegiatan_id' => $subKegiatanX->id,
                        'tanggal' =>  \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['tanggal']),
                        'rekening' => $row['debit'] == null ? $row['kredit'] : $row['debit'],
                        'uraian' => $row['uraian'],
                        'no_bku' => $row['no_bku'],
                        // 'tahun_rekening_id' => $request->tahun,
                        'type' => $row['debit'] == null ? 1 : 0,
                        'staf_id' => Auth::user()->id,
                        'uang_muka' => $row['uang_muka'] == "TRUE" ? 'true' : 'false',
                    ]);

                    $id_transaksi = $data->id;
                    // $id_rekening = $kodex->id;
                }

                $anggaran = Anggaran::create([
                    'transaksi_id' => $id_transaksi,
                    'item' => $row['item_pengeluaran'],
                    'value_volume_1' => $row['volume'],
                    'nama_volume_1' => $row['satuan'],
                    // 'value_volume_2' => $request->unit[$index],
                    // 'nama_volume_2' => $request->nama_volume_2[$index],
                    'harga_satuan' => $row['harga_satuan'] ,
                    'sub_total' =>  $row['sub_total'],
                    'sisa_anggaran' => $row['sub_total'],
                ]);

                // $grandTotal = $grandTotal + $row['SUB TOTAL'];
                // $rekening = Rekening::find($id_rekening);
                // $rekening->sisa = $rekening->sisa - $row['sub_total'];
                // $rekening->save();

            }
        }
    }

    public function getStatusData(): bool
    {
        return $this->status_data;
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]