Files
kulakpos_web/app/Http/Controllers/Api/AcnooInvoiceController.php

65 lines
2.1 KiB
PHP
Raw Normal View History

2026-03-15 17:08:23 +07:00
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\DueCollect;
use App\Models\Party;
use App\Models\Purchase;
use App\Models\Sale;
use App\Models\SaleReturn;
use Illuminate\Http\Request;
class AcnooInvoiceController extends Controller
{
public function index(Request $request)
{
$request->validate([
'party_id' => 'required|exists:parties,id'
]);
$party = Party::select('id', 'due', 'name', 'type')->find(request('party_id'));
if ($party->type == 'Supplier')
{
$data = $party->load('purchases_dues:id,party_id,dueAmount,paidAmount,totalAmount,invoiceNumber');
} else {
$data = $party->load('sales_dues:id,party_id,dueAmount,paidAmount,totalAmount,invoiceNumber');
}
return response()->json([
'message' => __('Data fetched successfully.'),
'data' => $data,
]);
}
public function newInvoice(Request $request)
{
$request->validate([
'platform' => 'required|in:sales,purchases,due_collects,sales_return,purchases_return'
]);
if ($request->platform == 'sales') {
$prefix = 'S-';
$id = Sale::where('business_id', auth()->user()->business_id)->count();
} elseif ($request->platform == 'purchases') {
$prefix = 'P-';
$id = Purchase::where('business_id', auth()->user()->business_id)->count();
} elseif ($request->platform == 'sales_return') {
$prefix = 'SR-';
$id = SaleReturn::where('business_id', auth()->user()->business_id)->count();
} elseif ($request->platform == 'purchases_return') {
// $prefix = 'PR-';
// $id = Purchase::where('business_id', auth()->user()->business_id)->count();
}
else {
$prefix = 'D-';
$id = DueCollect::where('business_id', auth()->user()->business_id)->count();
}
$invoice = $prefix . str_pad($id + 1, 5, '0', STR_PAD_LEFT);
return response()->json($invoice);
}
}