From 44735c19d1a6fbb271c4e8ef66e58c19708666b5 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Fri, 5 Jul 2024 15:09:28 +0300 Subject: [PATCH] =?utf8?q?=D0=98=D1=81=D1=80=D0=BF=D0=B0=D0=B2=D0=BB=D0=B5?= =?utf8?q?=D0=BD=D0=B8=D0=B5=20=D0=B2=D1=8C=D1=8E=D1=88=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/TimetableFactController.php | 8 ++- erp24/views/timetable-fact/index.php | 60 +++++++++++++------ 2 files changed, 49 insertions(+), 19 deletions(-) diff --git a/erp24/controllers/TimetableFactController.php b/erp24/controllers/TimetableFactController.php index d0b46cb2..4a73b709 100644 --- a/erp24/controllers/TimetableFactController.php +++ b/erp24/controllers/TimetableFactController.php @@ -2,6 +2,7 @@ namespace app\controllers; +use http\Exception; use Yii; use yii\base\DynamicModel; use yii\db\Expression; @@ -54,15 +55,18 @@ class TimetableFactController extends Controller [['store_id', 'date_start', 'date_end', 'group_id', 'admin_id', 'autoclosed', 'sort'], 'safe'] ]); $model->load(Yii::$app->request->get()); + if ($model->date_start && $model->date_end && $model->date_end < $model->date_start) { + Yii::$app->session->setFlash('info', "Дата окончания не может быть раньше даты начала"); + } $timetableFactModelQuery = TimetableFactModel::find(); if ($model->store_id && $model->store_id > 0) { $timetableFactModelQuery->andWhere(['store_id' => $model->store_id]); } if ($model->date_start) { - $timetableFactModelQuery->andWhere(['>=', new Expression('CONCAT(date_end, \' \', time_end)'), $model->date_start]); + $timetableFactModelQuery->andWhere(['>=', 'date_shift', date('Y-m-d 00:00:00', strtotime($model->date_start))]); } if ($model->date_end) { - $timetableFactModelQuery->andWhere(['<=', new Expression('CONCAT(date_start, \' \', time_start)'), $model->date_end]); + $timetableFactModelQuery->andWhere(['<=', 'date_shift', date('Y-m-d 23:59:59', strtotime($model->date_end))]); } if ($model->group_id && $model->group_id > 0) { $timetableFactModelQuery->andWhere(['d_id' => $model->group_id]); diff --git a/erp24/views/timetable-fact/index.php b/erp24/views/timetable-fact/index.php index 75ba0fe6..d5bac023 100644 --- a/erp24/views/timetable-fact/index.php +++ b/erp24/views/timetable-fact/index.php @@ -21,11 +21,20 @@ $this->params['breadcrumbs'][] = $this->title;

title) ?>

+ session->hasFlash('info')): ?> +
+ + session->getFlash('info') ?> +
+ + 'GET']) ?>
-
-
Магазин:
field($model, 'store_id')->widget(Select2::class, [ +
+
+
Магазин:
+
field($model, 'store_id')->widget(Select2::class, [ 'data' => $stores, 'language' => 'ru', 'options' => ['placeholder' => 'Магазин...'], @@ -33,25 +42,34 @@ $this->params['breadcrumbs'][] = $this->title; 'allowClear' => true ], ])->label(false) ?>
-
Дата до:
field($model, 'date_start')->widget(DateTimePicker::class, [ +
+
+
Дата смены от:
+
field($model, 'date_start')->widget(DateTimePicker::class, [ 'language' => 'ru', 'template' => '{input}', 'clientOptions' => [ 'autoclose' => true, - 'format' => 'Y-m-d H:i:s', + 'format' => 'Y-m-d', 'todayBtn' => true ], ])->label(false) ?>
-
после:
field($model, 'date_end')->widget(DateTimePicker::class, [ +
+
+
до:
+
field($model, 'date_end')->widget(DateTimePicker::class, [ 'language' => 'ru', 'template' => '{input}', 'clientOptions' => [ 'autoclose' => true, - 'format' => 'Y-m-d H:i:s', + 'format' => 'Y-m-d', 'todayBtn' => true ], ])->label(false) ?>
-
Группа:
field($model, 'group_id')->widget(Select2::class, [ +
+
+
Группа:
+
field($model, 'group_id')->widget(Select2::class, [ 'data' => $adminGroups, 'language' => 'ru', 'options' => ['placeholder' => 'Должность...'], @@ -59,16 +77,24 @@ $this->params['breadcrumbs'][] = $this->title; 'allowClear' => true ], ])->label(false) ?>
-
Сотрудник:
field($model, 'admin_id')->widget(Select2::class, [ - 'data' => $admins, - 'language' => 'ru', - 'options' => ['placeholder' => 'Сотрудник...'], - 'pluginOptions' => [ - 'allowClear' => true - ], - ])->label(false) ?>
-
Авт. закр.:
field($model, 'autoclosed')->checkbox([0 => 'unchecked', 1 => 'checked'], [])->label(false) ?>
-
'btn btn-secondary btn-sm'])?>
+
+
+
Сотрудник:
+
field($model, 'admin_id')->widget(Select2::class, [ + 'data' => $admins, + 'language' => 'ru', + 'options' => ['placeholder' => 'Сотрудник...'], + 'pluginOptions' => [ + 'allowClear' => true + ], + ])->label(false) ?>
+
+
+
Авт. закр.:
+
field($model, 'autoclosed')->checkbox([0 => 'unchecked', 1 => 'checked'], [])->label(false) ?>
+
+
'btn btn-secondary btn-sm'])?>
+
'btn btn-link btn-sm'])?>
-- 2.39.5