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/peoplebee.in/___accounts-admin/app/Helpers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/peoplebee.in/___accounts-admin/app/Helpers/ReportHelper.php
<?php
namespace App\Helpers;

use Postal;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Request;
// use App\Models\LogActivity as LogActivityModel;
use carbon\carbon;
use App\Models\accounting\{
   AccountInvoice,
   AccountItem,
   AccountPurchaseBill,
   AccountExpenseDetail,
   AccountCreditNote,
   AccountDebitNote,
   AccountPaymentReceive,
   AccountAdvancePayment
};

class ReportHelper
{
      
      public static function openingStock($start_date, $end_date, $admin_id)
      {
         $total_item_value = 0;
         $items = AccountItem::where("admin_id",$admin_id)->get();
         if($items->count() != 0)
         {
            foreach($items as $item)
            {
               $item_quantity = $item->quantity - $item->sold;
               $total_item_value += $item_quantity * $item->sales_unit_price;
            }
            return $total_item_value;
         }
         return 0;
         
      }
      public static function cash($sdate=null,$edate=null,$admin_id)
    {
       
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;

         $received_cash = AccountPaymentReceive::where('admin_id',$admin_id)
         ->where("payment_method","=","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where("type","received")->sum('amount');

        $payment_cash = AccountPaymentReceive::where('admin_id',$admin_id)
         ->where("payment_method","=","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where("type","payment")->sum('amount');
        
       

        $receive_ad = AccountAdvancePayment::where("admin_id",$admin_id)
         ->where("payment_method","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where('type','received')
         ->sum('amount');

        $pay_ad = AccountAdvancePayment::where("admin_id",$admin_id)
         ->where("payment_method","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where('type','payment')
         ->sum('amount');

        $receive = $received_cash + $receive_ad;
        $payment =  $payment_cash + $pay_ad;
    

        if($receive>=$payment)
        {
            $data["cash"] = $receive - $payment;
            $data["cash_type"] = "dr";
            return $data;
        }
        else
        {
            $data["cash"] = $payment - $receive;
            $data["cash_type"] = "cr";
            return $data;
        }
    }
    
    public static function bank($sdate=null,$edate=null,$admin_id)
    {
       
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;

         $received_cash = AccountPaymentReceive::where('admin_id',$admin_id)
         ->where("payment_method","!=","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where("type","received")->sum('amount');

        $payment_cash = AccountPaymentReceive::where('admin_id',$admin_id)
         ->where("payment_method","!=","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where("type","payment")->sum('amount');
        
       

        $receive_ad = AccountAdvancePayment::where("admin_id",$admin_id)
         ->where("payment_method","!=","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where('type','received')
         ->sum('amount');

        $pay_ad = AccountAdvancePayment::where("admin_id",$admin_id)
         ->where("payment_method","!=","cash")
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)
         ->where('type','payment')
         ->sum('amount');

        $receive = $received_cash + $receive_ad;
        $payment =  $payment_cash + $pay_ad;
    

        if($receive>=$payment)
        {
            $data["bank"] = $receive - $payment;
            $data["bank_type"] = "dr";
            return $data;
        }
        else
        {
            $data["bank"] = $payment - $receive;
            $data["bank_type"] = "cr";
            return $data;
        }
    }
     public static function client($sdate=null,$edate=null,$admin_id)
    {
       
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = request('start_date', $currentMonthStart);
        $end_date = request('end_date', $currentMonthEnd);

        $invoice_total = AccountInvoice::where("admin_id",$admin_id)
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('.created_at','<=',$end_date)->sum("grand_total");  

         $payment_received = AccountPaymentReceive::where('admin_id',$admin_id)
         ->where("type","received")       
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('.created_at','<=',$end_date)->sum("amount");          
            
         $advance_received = AccountAdvancePayment::where("admin_id",$admin_id)
         ->where('type','received')
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)->sum("amount");

         $debtor = $invoice_total - ($payment_received + $advance_received);
         return $debtor;
            
    }
 
    public static function vendor($sdate=null,$edate=null,$admin_id)
    {
       
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = request('start_date', $currentMonthStart);
        $end_date = request('end_date', $currentMonthEnd);

        $total_bill = AccountPurchaseBill::where("admin_id",$admin_id)
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('.created_at','<=',$end_date)->sum("grand_total");

         $payment_received = AccountPaymentReceive::where('admin_id',$admin_id)
         ->where("type","payment")       
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('.created_at','<=',$end_date)->sum("amount");          
            
         $advance_received = AccountAdvancePayment::where("admin_id",$admin_id)
         ->where('type','payment')
         ->whereDate('created_at','>=',$start_date)
         ->whereDate('created_at','<=',$end_date)->sum("amount");

         $creditor = $total_bill - ($payment_received + $advance_received);
         return  $creditor;
            
    }

    public static function sales($sdate=null,$edate=null,$admin_id)
    {
        
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;
             
        $sales = AccountInvoice::where('admin_id',$admin_id)
               ->whereDate('created_at','>=',$start_date)
               ->whereDate('created_at','<=',$end_date)->sum('grand_total');
         return $sales;
    }
     
    public static function salesReturn($sdate=null,$edate=null,$admin_id)
    {
        
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;
             
        $sales = AccountCreditNote::where('admin_id',$admin_id)
               ->whereDate('created_at','>=',$start_date)
               ->whereDate('created_at','<=',$end_date)->sum('grand_total');
         return $sales;
    }

    public static function purchaseReturn($sdate=null,$edate=null,$admin_id)
    {
        
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;
             
        $p_return = AccountDebitNote::where('admin_id',$admin_id)
               ->whereDate('created_at','>=',$start_date)
               ->whereDate('created_at','<=',$end_date)->sum('grand_total');
         return $p_return;
    }

    public static function purchase($sdate=null,$edate=null,$admin_id)
    {
       
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;
        

             
        $purchase = AccountPurchaseBill::where('admin_id',$admin_id)       
        ->whereDate('created_at','>=',$start_date)
        ->whereDate('created_at','<=',$end_date)->sum('grand_total');            
        
         return $purchase;
    }

    public static function expenses($sdate=null,$edate=null,$admin_id)
    {
        
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;
 
         $expense = AccountExpenseDetail::where('admin_id',$admin_id)
         ->whereDate('date','>=',$start_date)
         ->whereDate('date','<=',$end_date)
         ->sum("grand_total");  
         
         return $expense;
            
        
    }

    public static function net_profit($sdate=null,$edate=null,$admin_id)
    {
        
       $currentMonthStart = date('Y-m-01');
        $currentMonthEnd = date('Y-m-t');

        $start_date = $sdate ? $sdate : $currentMonthStart;
        $end_date = $edate ? $edate : $currentMonthEnd;
 
        
        $purchase = self::purchase($start_date,$end_date,$admin_id);
        $expenses = self::expenses($start_date,$end_date,$admin_id);
        $sales = self::sales($start_date,$end_date,$admin_id);
        $credit_note = self::salesReturn($start_date,$end_date,$admin_id);
        $debit_note = self::purchaseReturn($start_date,$end_date,$admin_id);

        $net_profit = ($sales+$debit_note) - ($purchase + $credit_note + $expenses); 
         
        return $net_profit;
            
        
    }

    
}

Anon7 - 2021