]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-122 Поправить открытие/закрытие смен на Южном бульваре bug_zozirova_erp-122_fix_closing
authormarina <m.zozirova@gmail.com>
Tue, 23 Jul 2024 09:15:12 +0000 (12:15 +0300)
committermarina <m.zozirova@gmail.com>
Tue, 23 Jul 2024 09:15:12 +0000 (12:15 +0300)
erp24/actions/timetable/StartShiftStepTwoAction.php
erp24/api3/modules/v1/controllers/timetable/FactController.php
erp24/forms/timetable/StartForm.php

index 7d998e842ab0d795b113b69ccd01455a66f2498c..b75180bf3990153d36a3a744864340ba316077f5 100755 (executable)
@@ -82,20 +82,6 @@ class StartShiftStepTwoAction extends Action
              return AdminCheckin::TYPE_START;
         })();
 
-        /** @var TimetablePlan[] $planSlots */
-        $planSlots = TimetablePlan::find()
-            ->andWhere(
-                ($device->isFixedStore() && !$userModel->adminGroup->isRoaming()) ?
-                    ['store_id' => $model->store_id] :
-                    ['admin_id' => $model->admin_id]
-            )
-            ->andWhere(['OR',
-                ['BETWEEN', 'datetime_start', date('Y-m-d H:i:s'), date('Y-m-d H:i:s', strtotime('+6 hour'))],
-                ['BETWEEN', 'datetime_end', date('Y-m-d H:i:s', strtotime('-6 hour')), date('Y-m-d H:i:s')],
-                ['AND', ['<', 'datetime_start', date('Y-m-d H:i:s')], ['>', 'datetime_end', date('Y-m-d H:i:s')]]
-            ])
-            ->all();
-
         $model->shift_id = $request->getBodyParam('shift_id');
         $model->store_id = $request->getBodyParam('store_id');
 
@@ -110,6 +96,18 @@ class StartShiftStepTwoAction extends Action
             $model->store_id = $fact->store_id;
         }
 
+        /** @var TimetablePlan[] $planSlots */
+        $planSlots = TimetablePlan::find()
+            ->andWhere(['store_id' => $model->store_id])
+            ->andWhere(['admin_id' => $model->admin_id])
+            ->andWhere(['OR',
+                ['BETWEEN', 'datetime_start', date('Y-m-d H:i:s'), date('Y-m-d H:i:s', strtotime('+6 hour'))],
+                ['BETWEEN', 'datetime_end', date('Y-m-d H:i:s', strtotime('-6 hour')), date('Y-m-d H:i:s')],
+                ['AND', ['<', 'datetime_start', date('Y-m-d H:i:s')], ['>', 'datetime_end', date('Y-m-d H:i:s')]]
+            ])
+            ->all();
+
+
         if ($fact) {
             $model->plan_id = $fact->plan_id;
             $model->replaced_admin_id = $fact->admin_id_add;
index bdbf881e0b22109b39cbe93d170fd1171f6f9a6c..6585682a869f5bbca7d8f1030d6d74622c21d9ee 100644 (file)
@@ -8,8 +8,6 @@ use yii_app\api3\core\services\TimetableService;
 use yii_app\api3\core\traits\ServiceTrait;
 use yii_app\api3\modules\v1\requests\timetable\Fact;
 
-///test
-/// test
 /**
  * @property TimetableService $timetableService
  */
index 501aac7eaf09783a8fb3a0137725ff67a7b2b912..fb9be7a2ef92723aa4866d73fb7078d197d0f7bb 100755 (executable)
@@ -173,7 +173,7 @@ class StartForm extends Model
                 if ($this->date != $plan->date) {
                     $this->addError('date', 'Дата открытия не совпадает с планом');
                 }
-                $targetAdminId = $this->replaced_admin_id ?: $this->admin_id;
+                $targetAdminId = $this->admin_id ?: $this->replaced_admin_id;
                 if ($targetAdminId != $plan->admin_id) {
                     $this->addError($this->replaced_admin_id ? 'replaced_admin_id' : 'admin_id', 'Выбран неправильный пользователь в плане');
                 }