67 lines
2.4 KiB
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')]);
|
|
}
|
|
}
|