fix: profit loss report issue

This commit is contained in:
harshjagad20
2021-12-08 12:24:25 +05:30
parent e8b4339237
commit c0c5f42ba1
2 changed files with 18 additions and 5 deletions

View File

@ -7,7 +7,7 @@ use Crater\Http\Controllers\Controller;
use Crater\Models\Company; use Crater\Models\Company;
use Crater\Models\CompanySetting; use Crater\Models\CompanySetting;
use Crater\Models\Expense; use Crater\Models\Expense;
use Crater\Models\Invoice; use Crater\Models\Payment;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\App;
use PDF; use PDF;
@ -31,10 +31,9 @@ class ProfitLossReportController extends Controller
App::setLocale($locale); App::setLocale($locale);
$invoicesAmount = Invoice::whereCompanyId($company->id) $paymentsAmount = Payment::whereCompanyId($company->id)
->applyFilters($request->only(['from_date', 'to_date'])) ->applyFilters($request->only(['from_date', 'to_date']))
->wherePaidStatus(Invoice::STATUS_PAID) ->sum('base_amount');
->sum('base_total');
$expenseCategories = Expense::with('category') $expenseCategories = Expense::with('category')
->whereCompanyId($company->id) ->whereCompanyId($company->id)
@ -68,7 +67,7 @@ class ProfitLossReportController extends Controller
view()->share([ view()->share([
'company' => $company, 'company' => $company,
'income' => $invoicesAmount, 'income' => $paymentsAmount,
'expenseCategories' => $expenseCategories, 'expenseCategories' => $expenseCategories,
'totalExpense' => $totalAmount, 'totalExpense' => $totalAmount,
'colorSettings' => $colorSettings, 'colorSettings' => $colorSettings,

View File

@ -312,6 +312,12 @@ class Payment extends Model implements HasMedia
$query->whereCustomer($filters->get('customer_id')); $query->whereCustomer($filters->get('customer_id'));
} }
if ($filters->get('from_date') && $filters->get('to_date')) {
$start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));
$end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));
$query->paymentsBetween($start, $end);
}
if ($filters->get('orderByField') || $filters->get('orderBy')) { if ($filters->get('orderByField') || $filters->get('orderBy')) {
$field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number'; $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number';
$orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc'; $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc';
@ -319,6 +325,14 @@ class Payment extends Model implements HasMedia
} }
} }
public function scopePaymentsBetween($query, $start, $end)
{
return $query->whereBetween(
'payments.payment_date',
[$start->format('Y-m-d'), $end->format('Y-m-d')]
);
}
public function scopeWhereOrder($query, $orderByField, $orderBy) public function scopeWhereOrder($query, $orderByField, $orderBy)
{ {
$query->orderBy($orderByField, $orderBy); $query->orderBy($orderByField, $orderBy);