Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/demo-keuangan-sekolah.aplikasipos.info/resources/views/
Upload File :
Current File : /home/aplikasiposinfo/www/demo-keuangan-sekolah.aplikasipos.info/resources/views/home.blade.php

@extends('layouts.main')

@push('scripts')
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js"></script>
    <script>
        var randomChartData = function randomChartData(n) {
            var data = [];

            for (var i = 0; i < n; i++) {
                data.push(Math.round(Math.random() * 200));
            }

            return data;
        };

        //random color
        var randomColor = function randomColor() {
            return '#' + Math.random().toString(16).slice(2, 8);
        };

        var chartColors = {
            "default": {
                primary: '#00D1B2',
                info: '#209CEE',
                danger: '#FF3860'
            }
        };

        const grafikBulanan = {!! json_encode($grafikBulanan) !!};
        const grafikHarian = {!! json_encode($grafikHarian) !!};
       
        const jenjang = {!! json_encode($jj) !!};
        let dataGrafikBulanan = [];
        let dataGrafikHarian = [];
        // for (let i = 0; i < grafikBulanan.length; i++) {
        //     const gb = grafikBulanan[i];

        // }

        for (const i in jenjang) {
            const j = jenjang[i];
            const color = randomColor();
            let d = {
                label: j,
                fill: false,
                borderColor: color,
                borderWidth: 2,
                borderDash: [],
                borderDashOffset: 0.0,
                pointBackgroundColor: color,
                pointBorderColor: 'rgba(255,255,255,0)',
                pointHoverBackgroundColor: color,
                pointBorderWidth: 20,
                pointHoverRadius: 4,
                pointHoverBorderWidth: 15,
                pointRadius: 4,
                data: []
            }

            let d2 = {
                label: j,
                fill: false,
                borderColor: color,
                borderWidth: 2,
                borderDash: [],
                borderDashOffset: 0.0,
                pointBackgroundColor: color,
                pointBorderColor: 'rgba(255,255,255,0)',
                pointHoverBackgroundColor: color,
                pointBorderWidth: 20,
                pointHoverRadius: 4,
                pointHoverBorderWidth: 15,
                pointRadius: 4,
                data: []
            }

            for (const kgb in grafikBulanan) {
                const gb = grafikBulanan[kgb];
                d.data.push(gb[j]);
            }

            console.log(grafikHarian);
            for (const kgh in grafikHarian) {
                const gh = grafikHarian[kgh];
                // console.log(kgh,gh);
                d2.data.push(gh[j]);
            }
            dataGrafikBulanan.push(d);
            dataGrafikHarian.push(d2);
        }

        // console.log(dataGrafikHarian);



        var ctx = document.getElementById('grafik-bulanan').getContext('2d');
        new Chart(ctx, {
            type: 'line',
            data: {
                labels: {!! json_encode($labelBulanan) !!},
                datasets: dataGrafikBulanan,
                // labels: ['01', '02', '03', '04', '05', '06', '07', '08', '09']
            },
            options: {
                maintainAspectRatio: false,
                legend: {
                    display: false
                },
                responsive: true,
                tooltips: {
                    backgroundColor: '#f5f5f5',
                    titleFontColor: '#333',
                    bodyFontColor: '#666',
                    bodySpacing: 4,
                    xPadding: 12,
                    mode: 'nearest',
                    intersect: 0,
                    position: 'nearest'
                },
                scales: {
                    yAxes: [{
                        barPercentage: 1.6,
                        gridLines: {
                            drawBorder: false,
                            color: 'rgba(29,140,248,0.0)',
                            zeroLineColor: 'transparent'
                        },
                        ticks: {
                            padding: 20,
                            fontColor: '#9a9a9a'
                        }
                    }],
                    xAxes: [{
                        barPercentage: 1.6,
                        gridLines: {
                            drawBorder: false,
                            color: 'rgba(225,78,202,0.1)',
                            zeroLineColor: 'transparent'
                        },
                        ticks: {
                            padding: 20,
                            fontColor: '#9a9a9a'
                        }
                    }]
                }
            }
        });

        var ctx2 = document.getElementById('grafik-harian').getContext('2d');
        new Chart(ctx2, {
            type: 'line',
            data: {
                labels: {!! json_encode($labelHarian) !!},
                datasets: dataGrafikHarian,
            },
            options: {
                maintainAspectRatio: false,
                legend: {
                    display: false
                },
                responsive: true,
                tooltips: {
                    backgroundColor: '#f5f5f5',
                    titleFontColor: '#333',
                    bodyFontColor: '#666',
                    bodySpacing: 4,
                    xPadding: 12,
                    mode: 'nearest',
                    intersect: 0,
                    position: 'nearest'
                },
                scales: {
                    yAxes: [{
                        barPercentage: 1.6,
                        gridLines: {
                            drawBorder: false,
                            color: 'rgba(29,140,248,0.0)',
                            zeroLineColor: 'transparent'
                        },
                        ticks: {
                            padding: 20,
                            fontColor: '#9a9a9a'
                        }
                    }],
                    xAxes: [{
                        barPercentage: 1.6,
                        gridLines: {
                            drawBorder: false,
                            color: 'rgba(225,78,202,0.1)',
                            zeroLineColor: 'transparent'
                        },
                        ticks: {
                            padding: 20,
                            fontColor: '#9a9a9a'
                        }
                    }]
                }
            }
        });
    </script>
@endpush

@section('content')
    <div class="grid gap-6 grid-cols-1 md:grid-cols-3 mb-6">
        <div class="card">
            <div class="card-content">
                <div class="flex items-center justify-between">
                    <div class="widget-label">
                        <h3>
                            Siswa
                        </h3>
                        <h1>
                            {{ $jumlahSiswa }}
                        </h1>
                    </div>
                    <span class="icon widget-icon text-green-500"><i class="mdi mdi-account-multiple mdi-48px"></i></span>
                </div>
            </div>
        </div>
        <div class="card">
            <div class="card-content">
                <div class="flex items-center justify-between">
                    <div class="widget-label">
                        <h3>
                            Penerimaan Hari Ini
                        </h3>
                        <h1>
                            Rp {{ number_format($pembayaranHariIni) }}
                        </h1>
                    </div>
                    <span class="icon widget-icon text-blue-500"><i class="mdi mdi-cart-outline mdi-48px"></i></span>
                </div>
            </div>
        </div>

        <div class="card">
            <div class="card-content">
                <div class="flex items-center justify-between">
                    <div class="widget-label">
                        <h3>
                            Belum Bayar
                        </h3>
                        <h1>
                            {{ $belumBayarBulanIni }}
                        </h1>
                    </div>
                    <span class="icon widget-icon text-red-500"><i class="mdi mdi-finance mdi-48px"></i></span>
                </div>
            </div>
        </div>
    </div>

    <div class="card has-table mb-6">
        <header class="card-header">
            <p class="card-header-title">
                <span class="icon"><i class="mdi mdi-account-multiple"></i></span>
                Progres Pembayaran Siswa
            </p>
            <a href="#" class="card-header-icon">
                <span class="icon"><i class="mdi mdi-reload"></i></span>
            </a>
        </header>
        <div class="card-content">
            <table>
                <thead>
                    <tr>
                        <th></th>
                        <th>Kelas</th>
                        <th>L</th>
                        <th>P</th>
                        <th>Jumlah Siswa</th>
                        <th>Non Aktif</th>
                        <th>Tagihan</th>
                        <th>Terbayar</th>
                        <th>Kurang</th>
                    </tr>
                </thead>
                <tbody>
                    @foreach ($kelases as $item)
                        <tr>
                            <td>
                                {{ $loop->iteration }}
                            </td>
                            <td>
                                {{ $item->jenjang->nama_jenjang . ' / ' . $item->nama_kelas }}
                            </td>
                            <td>
                                {{ $item->male_siswas }}
                            </td>
                            <td>
                                {{ $item->female_siswas }}
                            </td>
                            <td>
                                {{ $item->siswas_count }}
                            </td>
                            <td>
                                {{ $item->siswas_tidak_aktif }}
                            </td>
                            <td>
                                @php
                                    $totalTagihan = $item->jenis_pembayarans->sum('jenis_pembayaran_siswas_sum_nominal');

                                    foreach ($item->jenis_pembayarans as $jenis_pembayaran) {
                                        foreach ($jenis_pembayaran->jenis_pembayaran_siswas as $jenis_pembayaran_siswa) {
                                           
                                            $totalTagihan -= ($jenis_pembayaran_siswa->nominal * $jenis_pembayaran_siswa->tagihans->filter(function($t)use($item){
                                                return $t->siswa->kelas_id == $item->id;
                                            })->count()) + $jenis_pembayaran_siswa->tagihans->filter(function($t)use($item){
                                                return $t->siswa->kelas_id == $item->id;
                                            })->sum('total_tagihan');
                                        }
                                    }
                                @endphp
                                {{number_format($totalTagihan,0,',','.')}}
                            </td>
                            <td>
                                {{ number_format($item->pembayarans_sum_total_pembayaran,0,',','.') }}
                            </td>
                            <td>
                                {{ number_format($item->jenis_pembayarans->sum('jenis_pembayaran_siswas_sum_nominal') - $item->pembayarans_sum_total_pembayaran,0,',','.') }}
                            </td>
                        </tr>
                    @endforeach
                </tbody>
            </table>

        </div>
    </div>

    <div class="grid grid-cols-1 md:grid-cols-2 gap-2 mb-6">
        <div>
            <div class="card ">
                <header class="card-header">
                    <p class="card-header-title">
                        <span class="icon"><i class="mdi mdi-finance"></i></span>
                        Grafik Bulanan
                    </p>
                    <a href="#" class="card-header-icon">
                        <span class="icon"><i class="mdi mdi-reload"></i></span>
                    </a>
                </header>
                <div class="card-content">
                    <div class="chart-area">
                        <div class="h-full">
                            <div class="chartjs-size-monitor">
                                <div class="chartjs-size-monitor-expand">
                                    <div></div>
                                </div>
                                <div class="chartjs-size-monitor-shrink">
                                    <div></div>
                                </div>
                            </div>
                            <canvas id="grafik-bulanan" width="2992" height="1000" class="chartjs-render-monitor block"
                                style="height: 400px; width: 1197px;"></canvas>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div>
            <div class="card ">
                <header class="card-header">
                    <p class="card-header-title">
                        <span class="icon"><i class="mdi mdi-finance"></i></span>
                        Grafik Harian
                    </p>
                    <a href="#" class="card-header-icon">
                        <span class="icon"><i class="mdi mdi-reload"></i></span>
                    </a>
                </header>
                <div class="card-content">
                    <div class="chart-area">
                        <div class="h-full">
                            <div class="chartjs-size-monitor">
                                <div class="chartjs-size-monitor-expand">
                                    <div></div>
                                </div>
                                <div class="chartjs-size-monitor-shrink">
                                    <div></div>
                                </div>
                            </div>
                            <canvas id="grafik-harian" width="2992" height="1000" class="chartjs-render-monitor block"
                                style="height: 400px; width: 1197px;"></canvas>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="card has-table mb-6">
        <header class="card-header">
            <p class="card-header-title">
                <span class="icon"><i class="mdi mdi-account-multiple"></i></span>
                Rekapitulasi Transaksi
            </p>
            <a href="#" class="card-header-icon">
                <span class="icon"><i class="mdi mdi-reload"></i></span>
            </a>
        </header>
        <div class="card-content">
            <table>
                <thead>
                    <tr>
                        <th>#</th>
                        <th>Jenis Pembayaran</th>
                        <th>Kelas</th>
                        <th>Bulanan</th>
                        <th>Record</th>
                        <th>Tanggugan</th>
                        <th>Terbayar</th>
                        <th>Kurang</th>
                        <th>Progres</th>
                        <th>Persen</th>
                    </tr>
                </thead>
                <tbody>
                    @foreach ($kelases as $kelas)
                        <tr>
                            <td>
                                <b>#</b>
                            </td>
                            <td colspan="9">
                                <b>{{ $kelas->jenjang->nama_jenjang }}/{{ $kelas->nama_kelas }}</b>
                            </td>
                            {{-- @php
                                $pembayarans = $kelas->pembayarans->where('kelas_id',$kelas->id)->pluck('total','jenis_pembayaran_id')->toArray();
                            @endphp --}}
                        </tr>
                        @foreach ($kelas->jenis_pembayarans as $item)
                            <tr>
                                <td>

                                </td>
                                <td>
                                    {{ $item->kode_jenis_pembayaran }}/{{ $item->nama_jenis_pembayaran }}
                                </td>
                                <td>
                                    {{ $kelas->nama_kelas }}
                                </td>
                                <td>
                                    {{ $item->sifat_pembayaran == 'bulanan' ? 'YA' : 'TIDAK' }}
                                </td>
                                <td>
                                    {{ $kelas->pembayarans->where('kelas_id', $kelas->id)->where('jenis_pembayaran_id', $item->id)->count() }}
                                </td>
                                <td>
                                    @php
                                        $totalTagihan = $item->jenis_pembayaran_siswas_sum_nominal;

                                        foreach ($item->jenis_pembayaran_siswas as $jenis_pembayaran_siswa) {
                                            $totalTagihan -= ($jenis_pembayaran_siswa->nominal * $jenis_pembayaran_siswa->tagihans->filter(function($t)use($kelas){
                                                return $t->siswa->kelas_id == $kelas->id;
                                            })->count()) + $jenis_pembayaran_siswa->tagihans->filter(function($t)use($kelas){
                                                return $t->siswa->kelas_id == $kelas->id;
                                            })->sum('total_tagihan');
                                        }
                                    @endphp
                                    {{ number_format($totalTagihan,0,',','.') }}
                                </td>
                                <td>
                                    @php
                                        $bayar = 0;
                                        $pembayarans = $kelas->pembayarans
                                            ->where('kelas_id', $kelas->id)
                                            ->filter(function($w)use($item){
                                                return $w->detail_pembayarans->filter(function($w)use($item){
                                                    return $w->tagihan->jenis_pembayaran_siswa->jenis_pembayaran_id == $item->id;
                                                })->count();
                                            });
                                        $bayar = $pembayarans->sum(function($w){
                                            return $w->detail_pembayarans->sum('nominal_pembayaran');
                                        });
                                        $setoran = 0;
                                        foreach ($pembayarans as $pembayaran) {
                                            if (count($pembayaran->setor_details) > 0) {
                                                $setoran += $pembayaran->total_pembayaran;
                                            }
                                        }
                                    @endphp
                                    {{ number_format($bayar,0,',','.') }}
                                </td>
                                <td>
                                    {{ number_format($item->jenis_pembayaran_siswas_sum_nominal - $bayar,0,',','.') }}
                                </td>

                                <td>
                                    <div class="w-full bg-gray-200 rounded-full h-2.5">
                                        <div class="bg-blue-600 h-2.5 rounded-full"
                                            style="width: {{ $bayar > 0 ? min((($bayar / $item->jenis_pembayaran_siswas_sum_nominal) * 100),100) : 0 }}%">
                                        </div>
                                    </div>
                                </td>
                                <td>
                                    {{ $bayar > 0 ? number_format((($bayar / $item->jenis_pembayaran_siswas_sum_nominal) * 100),0,',','.') : 0 }} %
                                </td>
                            </tr>
                        @endforeach
                    @endforeach
                </tbody>
            </table>

        </div>
    </div>

    {{-- <div class="card mb-6">
        <header class="card-header">
            <p class="card-header-title">
                <span class="icon"><i class="mdi mdi-finance"></i></span>
                Penerimaan Minggu Ini
            </p>
            <a href="#" class="card-header-icon">
                <span class="icon"><i class="mdi mdi-reload"></i></span>
            </a>
        </header>
        <div class="card-content">
            <div class="chart-area">
                <div class="h-full">
                    <div class="chartjs-size-monitor">
                        <div class="chartjs-size-monitor-expand">
                            <div></div>
                        </div>
                        <div class="chartjs-size-monitor-shrink">
                            <div></div>
                        </div>
                    </div>
                    <canvas id="big-line-chart" width="2992" height="1000" class="chartjs-render-monitor block"
                        style="height: 400px; width: 1197px;"></canvas>
                </div>
            </div>
        </div>
    </div> --}}
@endsection

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