fixed reconciliation actions

This commit is contained in:
Denis Duliçi
2020-08-20 12:55:59 +03:00
parent 9b0d5604ba
commit 95f5c8cd73
6 changed files with 49 additions and 41 deletions

View File

@ -11,14 +11,14 @@ class Reconciliations extends BulkAction
public $model = Reconciliation::class;
public $actions = [
'enable' => [
'name' => 'general.enable',
'message' => 'bulk_actions.message.enable',
'reconcile' => [
'name' => 'reconciliations.reconcile',
'message' => 'bulk_actions.message.reconcile',
'permission' => 'update-banking-reconciliations',
],
'disable' => [
'name' => 'general.disable',
'message' => 'bulk_actions.message.disable',
'unreconcile' => [
'name' => 'reconciliations.unreconcile',
'message' => 'bulk_actions.message.unreconcile',
'permission' => 'update-banking-reconciliations',
],
'delete' => [
@ -28,37 +28,41 @@ class Reconciliations extends BulkAction
],
];
public function enable($request)
public function reconcile($request)
{
$reconciliations = $this->getSelectedRecords($request);
foreach ($reconciliations as $reconciliation) {
$reconciliation->enabled = 1;
$reconciliation->save();
\DB::transaction(function () use ($reconciliation) {
$reconciliation->reconciled = 1;
$reconciliation->save();
Transaction::where('account_id', $reconciliation->account_id)
->reconciled()
->whereBetween('paid_at', [$reconciliation->started_at, $reconciliation->ended_at])->each(function ($item) {
$item->reconciled = 1;
$item->save();
});
Transaction::where('account_id', $reconciliation->account_id)
->isNotReconciled()
->whereBetween('paid_at', [$reconciliation->started_at, $reconciliation->ended_at])->each(function ($item) {
$item->reconciled = 1;
$item->save();
});
});
}
}
public function disable($request)
public function unreconcile($request)
{
$reconciliations = $this->getSelectedRecords($request);
foreach ($reconciliations as $reconciliation) {
$reconciliation->enabled = 0;
$reconciliation->save();
\DB::transaction(function () use ($reconciliation) {
$reconciliation->reconciled = 0;
$reconciliation->save();
Transaction::where('account_id', $reconciliation->account_id)
->reconciled()
->whereBetween('paid_at', [$reconciliation->started_at, $reconciliation->ended_at])->each(function ($item) {
$item->reconciled = 0;
$item->save();
});
Transaction::where('account_id', $reconciliation->account_id)
->isReconciled()
->whereBetween('paid_at', [$reconciliation->started_at, $reconciliation->ended_at])->each(function ($item) {
$item->reconciled = 0;
$item->save();
});
});
}
}
@ -67,14 +71,16 @@ class Reconciliations extends BulkAction
$reconciliations = $this->getSelectedRecords($request);
foreach ($reconciliations as $reconciliation) {
$reconciliation->delete();
\DB::transaction(function () use ($reconciliation) {
$reconciliation->delete();
Transaction::where('account_id', $reconciliation->account_id)
->reconciled()
->whereBetween('paid_at', [$reconciliation->started_at, $reconciliation->ended_at])->each(function ($item) {
$item->reconciled = 0;
$item->save();
});
Transaction::where('account_id', $reconciliation->account_id)
->isReconciled()
->whereBetween('paid_at', [$reconciliation->started_at, $reconciliation->ended_at])->each(function ($item) {
$item->reconciled = 0;
$item->save();
});
});
}
}
}

View File

@ -30,7 +30,7 @@ class DeleteReconciliation extends Job
$this->reconciliation->delete();
Transaction::where('account_id', $this->reconciliation->account_id)
->reconciled()
->isReconciled()
->whereBetween('paid_at', [$this->reconciliation->started_at, $this->reconciliation->ended_at])->each(function ($transaction) {
$transaction->reconciled = 0;
$transaction->save();

View File

@ -4,7 +4,6 @@ namespace App\Models\Banking;
use App\Abstracts\Model;
use App\Models\Setting\Category;
use App\Models\Setting\Currency;
use App\Traits\Currencies;
use App\Traits\DateTime;
use App\Traits\Media;