KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  /var/www/erp.theinteractive.co.in/app/Models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/erp.theinteractive.co.in/app/Models/Goal.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Goal extends Model
{
    protected $fillable = [
        'name',
        'type',
        'from',
        'to',
        'amount',
        'is_display',
        'created_by',
    ];

    public static $goalType = [
        'Invoice',
        'Bill',
        'Revenue',
        'Payment',
    ];

    // public function target($type, $from, $to, $amount)
    // {
    //     $total    = 0;
    //     //$fromDate = $from . '-01';
    //     //$toDate   = $to . '-01';
    //     $fromDate = $from . '-00'; // Changed by Wagner Aquino at 03/03/2023 - 13:46 hrs (GMT -3)
    //     $toDate   = $to . '-00'; // Changed by Wagner Aquino at 03/03/2023 - 13:46 hrs (GMT -3)

    //     if(\App\Models\Goal::$goalType[$type] == 'Invoice')
    //     {
    //         $invoices = Invoice:: select('*')->where('created_by', \Auth::user()->creatorId())->where('issue_date', '>=', $fromDate)->where('issue_date', '<=', $toDate)->get();
    //         $total    = 0;
    //         foreach($invoices as $invoice)
    //         {
    //             $total += $invoice->getTotal();
    //         }
    //     }
    //     elseif(\App\Models\Goal::$goalType[$type] == 'Bill')
    //     {
    //         $bills = Bill:: select('*')->where('created_by', \Auth::user()->creatorId())->where('bill_date', '>=', $fromDate)->where('bill_date', '<=', $toDate)->get();
    //         $total = 0;
    //         foreach($bills as $bill)
    //         {
    //             $total += $bill->getTotal();
    //         }
    //     }
    //     elseif(\App\Models\Goal::$goalType[$type] == 'Revenue')
    //     {

    //         $revenues = Revenue:: select('*')->where('created_by', \Auth::user()->creatorId())->where('date', '>=', $fromDate)->where('date', '<=', $toDate)->get();

    //         $total    = 0;

    //         foreach($revenues as $revenue)
    //         {
    //             $total += $revenue->amount;
    //         }
    //     }
    //     elseif(\App\Models\Goal::$goalType[$type] == 'Payment')
    //     {
    //         $payments = Payment:: select('*')->where('created_by', \Auth::user()->creatorId())->where('date', '>=', $fromDate)->where('date', '<=', $toDate)->get();
    //         $total    = 0;

    //         foreach($payments as $payment)
    //         {
    //             $total += $payment->amount;
    //         }

    //     }

    //     $data['percentage'] = ($total * 100) / $amount;
    //     $data['total']      = $total;

    //     return $data;
    // }

    public function target($type, $from, $to, $amount)
    {
        $total    = 0;
        $fromDate = $from . '-00'; // Changed by Wagner Aquino at 03/03/2023 - 13:46 hrs (GMT -3)
        $toDate   = $to . '-00'; // Changed by Wagner Aquino at 03/03/2023 - 13:46 hrs (GMT -3)
        
        if(\App\Models\Goal::$goalType[$type] == 'Invoice')
        {
            $total        = Utility::getInvoiceProductsData($fromDate , $toDate);
        }
        elseif(\App\Models\Goal::$goalType[$type] == 'Bill')
        {
            $total           = Utility::getBillProductsData($fromDate , $toDate);
        }

        elseif(\App\Models\Goal::$goalType[$type] == 'Revenue')
        {
            $total           = self::getRevenueData($fromDate , $toDate);
        }
        elseif(\App\Models\Goal::$goalType[$type] == 'Payment')
        {
            $total           = self::getPaymentData($fromDate , $toDate);
        }

        $data['percentage'] = ($total * 100) / $amount;
        $data['total']      = $total;

        return $data;
    }

    public static $revenuesData = null;
    public static $paymentsData = null;

    public static function getRevenueData($fromDate, $toDate)
    {
        if (self::$revenuesData === null) {
            $total = Revenue::where('created_by', \Auth::user()->creatorId())->where('date', '>=', $fromDate)->where('date', '<=', $toDate)->sum('amount');

            self::$revenuesData = $total;
        }

        return self::$revenuesData;
    }

    public static function getPaymentData($fromDate, $toDate)
    {
        if (self::$paymentsData === null) {
            $total = Payment::where('created_by', \Auth::user()->creatorId())->where('date', '>=', $fromDate)->where('date', '<=', $toDate)->sum('amount');

            self::$paymentsData = $total;
        }

        return self::$paymentsData;
    }

}

Anon7 - 2021