finishing to dev
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m41s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 42s
Build, Push and Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-05-14 22:50:44 +07:00
parent 2fabdf8fc9
commit 8307b9e66d
212 changed files with 2451 additions and 4493 deletions

View File

@@ -1,91 +1,62 @@
@if ($filter_from_date && $filter_to_date)
<div class="mb-2 text-center fw-bold duration-display">
<strong>{{ __('Duration:') }}</strong>
@if ($duration === 'today')
{{ Carbon\Carbon::parse($filter_from_date)->format('d-m-Y') }}
@elseif ($duration === 'yesterday')
{{ Carbon\Carbon::parse($filter_from_date)->format('d-m-Y') }}
@else
{{ Carbon\Carbon::parse($filter_from_date)->format('d-m-Y') }}
{{ __('to') }}
{{ Carbon\Carbon::parse($filter_to_date)->format('d-m-Y') }}
@endif
</div>
@endif
<table class="table table-bordered">
<thead>
<tr>
<th class="text-start income-type">{{ __('Income Types') }}</th>
<th class="text-start d-print-none">{{ __('Date') }}</th>
<th class="text-start">{{ __('Sale') }}</th>
<th class="text-end">{{ __('Income') }}</th>
<th class="text-start expense-type">{{ __('Expenses Types') }}</th>
<th class="text-start d-print-none">{{ __('Date') }}</th>
<th class="text-end">{{ __('Expense') }}</th>
</tr>
</thead>
<tbody>
@php
$maxRowCount = max($mergedIncomeSaleData->count(), $mergedExpenseData->count());
@endphp
@php
$maxRowCount = max($mergedIncomeSaleData->count(), $mergedExpenseData->count());
@endphp
@for ($i = 0; $i < $maxRowCount; $i++)
@php
$incomeSaleRow = $mergedIncomeSaleData[$i] ?? null;
$expenseRow = $mergedExpenseData[$i] ?? null;
@endphp
<tr>
{{-- Sale / Income Column --}}
<td class="text-start loss-profit-tbody">
{{ $incomeSaleRow ? $incomeSaleRow->type : '' }}
</td>
<td class="text-start loss-profit-tbody d-print-none">
{{ $incomeSaleRow ? formatted_date($incomeSaleRow->date) : '' }}
</td>
<td class="text-start loss-profit-tbody ">
{{ $incomeSaleRow && isset($incomeSaleRow->total_sales) ? currency_format($incomeSaleRow->total_sales, 'icon', 2, business_currency()) : '' }}
</td>
<td class="text-end loss-profit-tbody ">
{{ $incomeSaleRow && isset($incomeSaleRow->total_incomes) ? currency_format($incomeSaleRow->total_incomes, 'icon', 2, business_currency()) : '' }}
</td>
@for ($i = 0; $i < $maxRowCount; $i++)
@php
$incomeSaleRow = $mergedIncomeSaleData[$i] ?? null;
$expenseRow = $mergedExpenseData[$i] ?? null;
@endphp
<tr>
{{-- Sale / Income Column --}}
<td class="text-start loss-profit-tbody">
{{ $incomeSaleRow ? $incomeSaleRow->type : '' }}
</td>
<td class="text-start loss-profit-tbody d-print-none">
{{ $incomeSaleRow ? formatted_date($incomeSaleRow->date) : '' }}
</td>
<td class="text-start loss-profit-tbody ">
{{ $incomeSaleRow && isset($incomeSaleRow->total_sales) ? currency_format($incomeSaleRow->total_sales, 'icon', 2, business_currency()) : '' }}
</td>
<td class="text-end loss-profit-tbody ">
{{ $incomeSaleRow && isset($incomeSaleRow->total_incomes) ? currency_format($incomeSaleRow->total_incomes, 'icon', 2, business_currency()) : '' }}
</td>
{{-- Expense Column --}}
<td class="text-start loss-profit-tbody expense-type">
{{ $expenseRow ? $expenseRow->type : '' }}
</td>
<td class="text-start loss-profit-tbody d-print-none">
{{ $expenseRow ? formatted_date($expenseRow->date) : '' }}
</td>
<td class="text-end loss-profit-tbody">
{{ $expenseRow ? currency_format($expenseRow->total_expenses ?? 0, 'icon', 2, business_currency()) : '' }}
</td>
</tr>
@endfor
{{-- Expense Column --}}
<td class="text-start loss-profit-tbody expense-type">
{{ $expenseRow ? $expenseRow->type : '' }}
</td>
<td class="text-start loss-profit-tbody d-print-none">
{{ $expenseRow ? formatted_date($expenseRow->date) : '' }}
</td>
<td class="text-end loss-profit-tbody">
{{ $expenseRow ? currency_format($expenseRow->total_expenses ?? 0, 'icon', 2, business_currency()) : '' }}
</td>
</tr>
@endfor
{{-- Summary Rows --}}
<tr class="fw-bold">
<td class="text-start bottom-profit-expense">{{ __('Gross Profit') }}</td>
<td class="d-print-none bottom-profit-expense"></td>
<td class="text-start bottom-profit-expense">
{{ currency_format($grossSaleProfit, 'icon', 2, business_currency()) }}
</td>
<td class="text-end bottom-profit-expense">
{{ currency_format($grossIncomeProfit, 'icon', 2, business_currency()) }}
</td>
<td class="text-start bottom-profit-expense expense-type">{{ __('Total Expenses') }}</td>
<td class="d-print-none bottom-profit-expense"></td>
<td class="text-end bottom-profit-expense">
{{ currency_format($totalExpenses, 'icon', 2, business_currency()) }}
</td>
</tr>
{{-- Summary Rows --}}
<tr class="fw-bold">
<td class="text-start bottom-profit-expense">{{ __('Gross Profit') }}</td>
<td class="d-print-none bottom-profit-expense"></td>
<td class="text-start bottom-profit-expense">
{{ currency_format($grossSaleProfit, 'icon', 2, business_currency()) }}
</td>
<td class="text-end bottom-profit-expense">
{{ currency_format($grossIncomeProfit, 'icon', 2, business_currency()) }}
</td>
<td class="text-start bottom-profit-expense expense-type">{{ __('Total Expenses') }}</td>
<td class="d-print-none bottom-profit-expense"></td>
<td class="text-end bottom-profit-expense">
{{ currency_format($totalExpenses, 'icon', 2, business_currency()) }}
</td>
</tr>
<tr class="fw-bold text-center bg-light">
<td class="bottom-net-profit" colspan="7">
{{ __('Net Profit (Income - Expense) =') }}
<span class="{{ $netProfit >= 0 ? 'profit-ammount' : 'expense-ammount' }}">
{{ currency_format($netProfit, 'icon', 2, business_currency()) }}
</span>
</td>
</tr>
</tbody>
</table>
<tr class="fw-bold text-center bg-light">
<td class="bottom-net-profit" colspan="7">
{{ __('Net Profit (Income - Expense) =') }}
<span class="{{ $netProfit >= 0 ? 'profit-ammount' : 'expense-ammount' }}">
{{ currency_format($netProfit, 'icon', 2, business_currency()) }}
</span>
</td>
</tr>

View File

@@ -9,22 +9,22 @@
<div class="container-fluid">
<div class="card">
<div class="card-bodys">
<div class="row p-2 d-print-none" id="loss-profit-summery">
<div class="row p-2 d-print-none">
<div class="col-lg-2 col-md-12">
<div class="loss-card p-3 m-2 text-white">
<p class="stat-value">{{ currency_format($grossIncomeProfit, currency: business_currency()) }}</p>
<p class="stat-value">{{ currency_format($cardGrossProfit, currency: business_currency()) }}</p>
<p class="stat-title">{{ __('Gross Profit') }}</p>
</div>
</div>
<div class="col-lg-2 col-md-6">
<div class="profit-card p-3 m-2 text-white">
<p class="stat-value">{{ currency_format($totalExpenses, currency: business_currency()) }}</p>
<p class="stat-value">{{ currency_format($totalCardExpenses, currency: business_currency()) }}</p>
<p class="stat-title">{{ __('Expenses') }}</p>
</div>
</div>
<div class="col-lg-2 col-md-6">
<div class="sales-card p-3 m-2 text-white">
<p class="stat-value">{{ currency_format($netProfit, currency: business_currency()) }}</p>
<p class="stat-value">{{ currency_format($cardNetProfit, currency: business_currency()) }}</p>
<p class="stat-title">{{ __('Net Profit') }}</p>
</div>
</div>
@@ -45,16 +45,6 @@
<div class="d-flex align-items-center gap-3 flex-wrap table-top-left">
<div class="m-0 p-0 d-print-none">
<div class="date-filters-container">
<div class="gpt-up-down-arrow position-relative">
<select name="per_page" class="form-control">
<option @selected(request('per_page') == 20) value="20">{{ __('Show 20') }}</option>
<option @selected(request('per_page') == 50) value="50">{{ __('Show 50') }}</option>
<option @selected(request('per_page') == 100) value="100">{{ __('Show 100') }}</option>
<option @selected(request('per_page') == 500) value="500">{{ __('Show 500') }}</option>
</select>
<span></span>
</div>
<div class="input-wrapper align-items-center date-filters d-none">
<label class="header-label">{{ __('From Date') }}</label>
<input type="date" name="from_date" value="{{ now()->format('Y-m-d') }}" class="form-control filter-field filter-from-date">
@@ -91,17 +81,17 @@
<div class="table-top-btn-group d-print-none p-2">
<ul>
<li>
<a class="loss-profit-export-btn" href="{{ route('business.loss-profit-history.csv') }}">
<a href="{{ route('business.loss-profit-history.csv') }}">
<img src="{{ asset('assets/images/logo/csv.svg') }}" alt="">
</a>
</li>
<li>
<a class="loss-profit-export-btn" href="{{ route('business.loss-profit-history.excel') }}">
<a href="{{ route('business.loss-profit-history.excel') }}">
<img src="{{ asset('assets/images/logo/excel.svg') }}" alt="">
</a>
</li>
<li>
<a class="loss-profit-export-btn" target="_blank" href="{{ route('business.loss-profit-history.pdf') }}">
<a target="blank" href="{{ route('business.loss-profit-history.pdf') }}">
<img src="{{ asset('assets/images/logo/pdf.svg') }}" alt="">
</a>
</li>
@@ -116,9 +106,22 @@
</div>
</div>
<div class="responsive-table m-0">
<div id="loss-profit-history-data">
@include('business::loss-profit-histories.datas')
</div>
<table class="table table-bordered">
<thead>
<tr>
<th class="text-start income-type">{{ __('Income Types') }}</th>
<th class="text-start d-print-none">{{ __('Date') }}</th>
<th class="text-start">{{ __('Sale') }}</th>
<th class="text-end">{{ __('Income') }}</th>
<th class="text-start expense-type">{{ __('Expenses Types') }}</th>
<th class="text-start d-print-none">{{ __('Date') }}</th>
<th class="text-end">{{ __('Expense') }}</th>
</tr>
</thead>
<tbody id="loss-profit-history-data">
@include('business::loss-profit-histories.datas')
</tbody>
</table>
</div>
</div>

View File

@@ -4,19 +4,6 @@
<div class="table-header justify-content-center border-0 d-none d-block d-print-block text-center">
@include('business::print.header')
<h4 style="text-align: center; margin: 0; padding: 0; font-size: 16px;">{{ __('Loss Profit History List') }}</h4>
@if ($filter_from_date && $filter_to_date)
<p style="text-align: center; margin: 0; padding: 0; font-weight: 400; font-size: 14px;" class="">{{ __('Duration:') }}
@if ($duration === 'today')
{{ Carbon\Carbon::parse($filter_from_date)->format('d-m-Y') }}
@elseif ($duration === 'yesterday')
{{ Carbon\Carbon::parse($filter_from_date)->format('d-m-Y') }}
@else
{{ Carbon\Carbon::parse($filter_from_date)->format('d-m-Y') }}
{{ __('to') }}
{{ Carbon\Carbon::parse($filter_to_date)->format('d-m-Y') }}
@endif
</p>
@endif
</div>
@endsection