Store time ranges for index sites.

This commit is contained in:
2025-02-06 11:53:40 +01:00
parent 4c43bf2193
commit 3884a54539
9 changed files with 61 additions and 9 deletions

View File

@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Models\Incoming; use App\Models\Incoming;
use App\Models\Incomingitem; use App\Models\Incomingitem;
use App\Models\Incomingtax; use App\Models\Incomingtax;
use App\Models\Option;
use App\Models\Supplier; use App\Models\Supplier;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
@@ -17,6 +18,9 @@ class IncomingController extends Controller
*/ */
public function index($from = null, $end = null): JsonResponse public function index($from = null, $end = null): JsonResponse
{ {
Option::updateOrCreate(['name' => 'incoming_from'], ['value' => $from]);
Option::updateOrCreate(['name' => 'incoming_end'], ['value' => $end]);
return response()->json(Incoming::whereBetween('issue_date', [$from, $end])->with(['supplier'])->orderBy('issue_date', 'desc')->get()); return response()->json(Incoming::whereBetween('issue_date', [$from, $end])->with(['supplier'])->orderBy('issue_date', 'desc')->get());
} }

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api;
use App\Enum\InvoiceTypeCode; use App\Enum\InvoiceTypeCode;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Invoice; use App\Models\Invoice;
use App\Models\Option;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
@@ -16,6 +17,9 @@ class InvoiceController extends Controller
*/ */
public function index($from = null, $end = null): JsonResponse public function index($from = null, $end = null): JsonResponse
{ {
Option::updateOrCreate(['name' => 'invoice_from'], ['value' => $from]);
Option::updateOrCreate(['name' => 'invoice_end'], ['value' => $end]);
$from = $from . ' 00:00:00'; $from = $from . ' 00:00:00';
$end = $end . ' 23:59:59'; $end = $end . ' 23:59:59';
return response()->json(Invoice::whereBetween('created_at', [$from, $end])->with(['address', 'customer'])->orderBy('created_at', 'desc')->get()); return response()->json(Invoice::whereBetween('created_at', [$from, $end])->with(['address', 'customer'])->orderBy('created_at', 'desc')->get());

View File

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Invoice; use App\Models\Invoice;
use App\Models\Option;
use App\Models\Payment; use App\Models\Payment;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -15,6 +16,9 @@ class PaymentController extends Controller
*/ */
public function indexFilter($from = null, $end = null): JsonResponse public function indexFilter($from = null, $end = null): JsonResponse
{ {
Option::updateOrCreate(['name' => 'payment_from'], ['value' => $from]);
Option::updateOrCreate(['name' => 'payment_end'], ['value' => $end]);
return response()->json(Payment::whereBetween('payment_date', [$from, $end])->with(['invoice'])->orderBy('payment_date', 'desc')->get()); return response()->json(Payment::whereBetween('payment_date', [$from, $end])->with(['invoice'])->orderBy('payment_date', 'desc')->get());
} }

View File

@@ -3,7 +3,9 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Incoming; use App\Models\Incoming;
use App\Models\Option;
use Illuminate\Contracts\View\View; use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Date;
class IncomingController extends Controller class IncomingController extends Controller
{ {
@@ -12,7 +14,19 @@ class IncomingController extends Controller
*/ */
public function index(): View public function index(): View
{ {
return view('incoming.index'); if (Option::where('name', '=', 'incoming_from')->count() > 0) {
$first = Option::where('name', '=', 'incoming_from')->first()->value;
} else {
$first = Date::now()->firstOfMonth()->format('Y-m-d');
}
if (Option::where('name', '=', 'incoming_end')->count() > 0) {
$last = Option::where('name', '=', 'incoming_end')->first()->value;
} else {
$last = Date::now()->format('Y-m-d');
}
return view('incoming.index', ['first' => $first, 'last' => $last]);
} }
/** /**

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Http\Option; use App\Http\Option;
use App\Models\Invoice; use App\Models\Invoice;
use Illuminate\Contracts\View\View; use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Date;
class InvoiceController extends Controller class InvoiceController extends Controller
{ {
@@ -13,7 +14,19 @@ class InvoiceController extends Controller
*/ */
public function index(): View public function index(): View
{ {
return view('invoice.index'); if (\App\Models\Option::where('name', '=', 'invoice_from')->count() > 0) {
$first = \App\Models\Option::where('name', '=', 'invoice_from')->first()->value;
} else {
$first = Date::now()->firstOfMonth()->format('Y-m-d');
}
if (\App\Models\Option::where('name', '=', 'invoice_end')->count() > 0) {
$last = \App\Models\Option::where('name', '=', 'invoice_end')->first()->value;
} else {
$last = Date::now()->format('Y-m-d');
}
return view('invoice.index', ['first' => $first, 'last' => $last]);
} }
/** /**

View File

@@ -2,8 +2,10 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Option;
use App\Models\Payment; use App\Models\Payment;
use Illuminate\Contracts\View\View; use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Date;
class PaymentController extends Controller class PaymentController extends Controller
{ {
@@ -12,7 +14,18 @@ class PaymentController extends Controller
*/ */
public function index(): View public function index(): View
{ {
return view('payment.index'); if (Option::where('name', '=', 'payment_from')->count() > 0) {
$first = Option::where('name', '=', 'payment_from')->first()->value;
} else {
$first = Date::now()->firstOfMonth()->format('Y-m-d');
}
if (Option::where('name', '=', 'payment_end')->count() > 0) {
$last = Option::where('name', '=', 'payment_end')->first()->value;
} else {
$last = Date::now()->format('Y-m-d');
}
return view('payment.index', ['first' => $first, 'last' => $last]);
} }
/** /**

View File

@@ -104,8 +104,8 @@
net: 0, net: 0,
gross: 0, gross: 0,
tax: 0, tax: 0,
from: "{{ \Illuminate\Support\Facades\Date::now()->firstOfMonth()->format('Y-m-d') }}", from: "{{ $first }}",
end: "{{ \Illuminate\Support\Facades\Date::now()->format('Y-m-d') }}", end: "{{ $last }}",
invoices: [], invoices: [],
init() { init() {

View File

@@ -89,8 +89,8 @@
<script> <script>
function invoiceForm() { function invoiceForm() {
return { return {
from: "{{ \Illuminate\Support\Facades\Date::now()->firstOfMonth()->format('Y-m-d') }}", from: "{{ $first }}",
end: "{{ \Illuminate\Support\Facades\Date::now()->format('Y-m-d') }}", end: "{{ $last }}",
invoices: [], invoices: [],
sum: 0, sum: 0,
tax: 0, tax: 0,

View File

@@ -83,8 +83,8 @@
<script> <script>
function paymentForm() { function paymentForm() {
return { return {
from: "{{ \Illuminate\Support\Facades\Date::now()->firstOfMonth()->format('Y-m-d') }}", from: "{{ $first }}",
end: "{{ \Illuminate\Support\Facades\Date::now()->format('Y-m-d') }}", end: "{{ $last }}",
payments: [], payments: [],
sum: 0, sum: 0,
tax: 0, tax: 0,