From 5b1c774259f94454b39e6c8484d2f844475c9186 Mon Sep 17 00:00:00 2001 From: miroman-afk <74014189+miroman-afk@users.noreply.github.com> Date: Tue, 1 Feb 2022 02:47:25 +0300 Subject: [PATCH] v.2.13 -Add delete reports --- commands/GETReports.php | 35 ++++++++++++++++++++++++++++++ commands/GETSettings.php | 1 - commands/POSTDeleteData.php | 42 ++++++++++++++++++++++-------------- composer.json | 2 +- module.ini | 4 ++-- web/controllers/reports.js | 30 +++++++++++++++++++++++--- web/controllers/shifts.js | 4 +++- web/views/reports/index.html | 13 ++++++++++- 8 files changed, 106 insertions(+), 25 deletions(-) create mode 100644 commands/GETReports.php diff --git a/commands/GETReports.php b/commands/GETReports.php new file mode 100644 index 0000000..085d064 --- /dev/null +++ b/commands/GETReports.php @@ -0,0 +1,35 @@ + $report) { + $data[] = array( + 'id' => $report['id'], + 'name' => $report['name'], + 'type' => $report['report_type'], + 'start_date' => date('d.m.Y', strtotime($report['start_date'])), + 'end_date' => date('d.m.Y', strtotime($report['end_date'])), + ); + } + return [ + 'status' => 'success', + 'reports' => $data, + ]; + } else { + return [ + 'status' => 'success', + 'reports' => [], + ]; + } + } +} \ No newline at end of file diff --git a/commands/GETSettings.php b/commands/GETSettings.php index e1fada4..66e8350 100644 --- a/commands/GETSettings.php +++ b/commands/GETSettings.php @@ -15,7 +15,6 @@ class GETSettings extends HRCCommand implements HRCCommandInterface { if ($setting) { return [ 'status' => 'success', - 'name' => $setting['name'], 'code' => $setting['code'], 'value' => $setting['value'], ]; diff --git a/commands/POSTDeleteData.php b/commands/POSTDeleteData.php index 6066cd0..1e263b1 100644 --- a/commands/POSTDeleteData.php +++ b/commands/POSTDeleteData.php @@ -7,6 +7,7 @@ use App\Component\Models\ExchangeDeleted; use App\Component\Models\ExchangeItems; use App\Component\Models\ExchangeOrders; use App\Component\Models\ExchangeShifts; +use App\Component\Models\Report; use App\Console\Commands\HRCCommand; use App\Console\Commands\HRCCommandInterface; @@ -26,28 +27,16 @@ class POSTDeleteData extends HRCCommand implements HRCCommandInterface { $exchange_shift->delete(); } if ($exchange_orders) { - foreach ($exchange_orders as $key => $exchange_order) { - $order = ExchangeOrders::find($exchange_order['id']); - $order->delete(); - } + $exchange_orders = ExchangeOrders::where('shift_id', '=', $input['shift_id'])->delete(); } if ($exchange_items) { - foreach ($exchange_items as $key => $exchange_item) { - $item = ExchangeItems::find($exchange_item['id']); - $item->delete(); - } + $exchange_items = ExchangeItems::where('shift_id', '=', $input['shift_id'])->delete(); } if ($exchange_actions) { - foreach ($exchange_actions as $key => $exchange_action) { - $action = ExchangeActions::find($exchange_action['id']); - $action->delete(); - } + $exchange_actions = ExchangeActions::where('shift_id', '=', $input['shift_id'])->delete(); } if ($exchange_deleted) { - foreach ($exchange_deleted as $key => $exchange_delete) { - $delete = ExchangeDeleted::find($exchange_delete['id']); - $delete->delete(); - } + $exchange_deleted = ExchangeDeleted::where('shift_id', '=', $input['shift_id'])->delete(); } function dirDel($dir) { $d = opendir($dir); @@ -76,6 +65,27 @@ class POSTDeleteData extends HRCCommand implements HRCCommandInterface { 'message' => 'Check input data', ]; } + } elseif ($input['value'] == 'delete_report') { + if ($input['report_id']) { + $report = Report::where('id', $input['report_id'])->first(); + if ($report) { + $report = Report::where('id', $input['report_id'])->delete(); + return [ + 'status' => 'success', + 'message' => 'Данные удалены', + ]; + } else { + return [ + 'status' => 'error', + 'message' => 'Report not found', + ]; + } + } else { + return [ + 'status' => 'error', + 'message' => 'Check input data', + ]; + } } else { return [ 'status' => 'error', diff --git a/composer.json b/composer.json index 66e956e..bb678f9 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "hrc-admin/hello-world", - "version": "2.12", + "version": "2.13", "require": { "horeca/admin-php-module-core": "dev-master" }, diff --git a/module.ini b/module.ini index 9cb601b..a65b0de 100644 --- a/module.ini +++ b/module.ini @@ -1,5 +1,5 @@ [info] name=V1 -version=2.12 +version=2.13 [build] -version=2.12 +version=2.13 diff --git a/web/controllers/reports.js b/web/controllers/reports.js index 80e67b2..6639409 100644 --- a/web/controllers/reports.js +++ b/web/controllers/reports.js @@ -4,8 +4,8 @@ .module('app') .controller('ReportsCtrl', ReportsCtrl); - ReportsCtrl.$inject = ['$scope', 'smartRequest']; - function ReportsCtrl($scope, smartRequest) { + ReportsCtrl.$inject = ['$scope', 'smartRequest', 'Notification']; + function ReportsCtrl($scope, smartRequest, Notification) { var date = new Date(); var formatted = ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + date.getFullYear(); @@ -25,9 +25,33 @@ $scope.printers = []; $scope.update = function() { - smartRequest.get('report/history', function(data) { + smartRequest.get('v1/reports', function(data) { $scope.history = data.reports; }); + smartRequest.get('v1/settings?code=11', function (data) { + $scope.delete_shift_value = data.value; + }); + }; + + $scope.deleteReport = function (report) { + Notification.primary('Дождитесь удаления! Страница обновится автоматически.'); + smartRequest.post('v1/deletedata', { + value: 'delete_report', + report_id: report.id + }, function (data) { + $scope.status = data.status; + $scope.message = data.message; + if (data.status == 'success') { + Notification.success(data.message); + setTimeout(function() { + //location.reload(); + $scope.update(); + }, 1000); + } + if ($scope.status == 'error') { + Notification.error(data.message); + } + }); }; $scope.reportDelete = function() { diff --git a/web/controllers/shifts.js b/web/controllers/shifts.js index 07c8c39..52c4dcb 100644 --- a/web/controllers/shifts.js +++ b/web/controllers/shifts.js @@ -65,7 +65,9 @@ if (data.status == 'success') { Notification.success(data.message); setTimeout(function() { - location.reload(); + //location.reload(); + $scope.update(); + $('#preload-modal').modal('hide'); }, 1000); } if ($scope.status == 'error') { diff --git a/web/views/reports/index.html b/web/views/reports/index.html index 938d7c5..74fcd5c 100644 --- a/web/views/reports/index.html +++ b/web/views/reports/index.html @@ -102,11 +102,22 @@ {{ report.name }} {{ report.start_date }} {{ report.end_date }} - + + + +