ultimatepos/Modules/Accounting/Http/Controllers/ReconcileController.php

67 lines
2.4 KiB
PHP

<?php
namespace Modules\Accounting\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\Accounting\Services\BankReconciliationService;
use Modules\Accounting\Entities\AccountingBankReconciliation;
class ReconcileController extends Controller
{
public function index()
{
return redirect()->action([HoldingAccountingController::class, 'reconciliations']);
}
public function create()
{
return redirect()->action([HoldingAccountingController::class, 'reconciliations']);
}
public function store(Request $request, BankReconciliationService $service)
{
$business_id = request()->session()->get('user.business_id');
$user_id = request()->session()->get('user.id');
$service->create($business_id, $request->all(), $user_id);
return redirect()->action([HoldingAccountingController::class, 'reconciliations'])
->with('status', ['success' => 1, 'msg' => __('lang_v1.added_success')]);
}
public function show($id)
{
$business_id = request()->session()->get('user.business_id');
$reconciliation = AccountingBankReconciliation::with('items')
->where('business_id', $business_id)
->findOrFail($id);
return view('accounting::holding.reconciliation_show', compact('reconciliation'));
}
public function edit($id)
{
return redirect()->action([HoldingAccountingController::class, 'reconciliations']);
}
public function update(Request $request, $id, BankReconciliationService $service)
{
$business_id = request()->session()->get('user.business_id');
$reconciliation = AccountingBankReconciliation::where('business_id', $business_id)->findOrFail($id);
$service->complete($reconciliation, $request->input('matched_items', []));
return redirect()->action([HoldingAccountingController::class, 'reconciliations'])
->with('status', ['success' => 1, 'msg' => __('accounting::lang.reconciliation_completed')]);
}
public function destroy($id)
{
$business_id = request()->session()->get('user.business_id');
AccountingBankReconciliation::where('business_id', $business_id)->where('id', $id)->delete();
return redirect()->action([HoldingAccountingController::class, 'reconciliations'])
->with('status', ['success' => 1, 'msg' => __('lang_v1.deleted_success')]);
}
}