]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-115 Переработать открытие/закрытие смен у администраторов fix_zozirova_erp-115_change_admin_appear_and_opening_button origin/fix_zozirova_erp-115_change_admin_appear_and_opening_button
authormarina <m.zozirova@gmail.com>
Fri, 19 Jul 2024 09:41:17 +0000 (12:41 +0300)
committermarina <m.zozirova@gmail.com>
Fri, 19 Jul 2024 09:41:17 +0000 (12:41 +0300)
мелко правки по плану

erp24/actions/timetable/StartShiftStepOneAction.php
erp24/actions/timetable/StartShiftStepThreeAction.php
erp24/actions/timetable/StartShiftStepTwoAction.php
erp24/records/TimetableFactModel.php

index 9e1f5b693d532452a0c80826521c1f9b738ed5b0..5a6f14ec1e567ee7c02f4abf37ce30c21184ee33 100755 (executable)
@@ -30,7 +30,7 @@ class StartShiftStepOneAction extends Action
             return $this->controller->redirect('/');
         }
 
-        $fact = TimetableFactModel::getOpening($userModel->id, date('Y-m-d'));
+        $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d'));
         $plan = Timetable::find()
             ->andWhere(['admin_id' => $userModel->id])
             ->andWhere(['date' => date('Y-m-d')])
index 204b470009643db48127a0e63c7aef088332ddee..133de72d5e27d1d47b853fc49271dd8adebc08ef 100755 (executable)
@@ -37,16 +37,10 @@ class StartShiftStepThreeAction extends Action
             ->one();
 
         //отрабатывает только для открытия
-        $fact = TimetableFactModel::getOpening($userModel->id, date('Y-m-d'));
+        $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d'));
 
-        //делается для того что при закрытии нужны дата и время фактического закрытия
         if (!$fact) {
-            $fact = TimetableFactModel::find()
-                ->andWhere(['admin_id' => $userModel->id])
-                ->andWhere(['date_shift' => date('Y-m-d')])
-                ->andWhere(['is_close' => true])
-                ->orderBy('id desc')
-                ->one();
+            $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d'), false);
         }
 
         if ($request->isAjax
index afc62b7883950b414f32e2900931598de57e1433..7d998e842ab0d795b113b69ccd01455a66f2498c 100755 (executable)
@@ -52,7 +52,7 @@ class StartShiftStepTwoAction extends Action
             ->andWhere(['tabel' => 0])
             ->orderBy('id desc')
             ->one();
-        $fact = TimetableFactModel::getOpening($userModel->id, date('Y-m-d'));
+        $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d'));
 
         $adminStoreId = null;
 
index a6aa68dff77dcb95bf66a622e558e952cdd61af5..0b5a646d025964b773f708d8f3a26aaae54daaae 100644 (file)
@@ -112,7 +112,7 @@ class TimetableFactModel extends ActiveRecord
      */
     public static function setValues($adminCheckin, $is_start = true)
     {
-        $model = self::getOpening($adminCheckin->admin_id, $adminCheckin->date);
+        $model = self::getLast($adminCheckin->admin_id, $adminCheckin->date);
 
         /** @var $model TimetableFactModel */
         if ($model) {
@@ -175,15 +175,18 @@ class TimetableFactModel extends ActiveRecord
      * @param $date
      * @return array|ActiveRecord|null
      */
-    public static function getOpening(int $adminId, $date) {
-        return self::find()
-            ->andWhere(['admin_id' => $adminId])
-            ->andWhere(['is_opening' => true])
-            ->andWhere([
+    public static function getLast(int $adminId, $date, $opening = true)
+    {
+        $fact = self::find()
+            ->andWhere(['admin_id' => $adminId])->andWhere([
                 'OR',
                 ['date_shift' => $date],
                 ['date_shift' => date('Y-m-d', strtotime('-1 day'))],
-            ])
+            ]);
+
+        $opening ? $fact->andWhere(['is_opening' => true]) : $fact->andWhere(['is_close' => true]);
+
+        return $fact
             ->orderBy('id desc')
             ->one();
     }