]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-77 Поправить ошибку с открытием смен origin/feauture_zozirova_erp-77_fix_opening
authormarina <m.zozirova@gmail.com>
Tue, 9 Jul 2024 13:16:11 +0000 (16:16 +0300)
committermarina <m.zozirova@gmail.com>
Tue, 9 Jul 2024 13:16:11 +0000 (16:16 +0300)
erp24/actions/timetable/StartShiftStepTwoAction.php
erp24/records/TimetableFactModel.php

index 6b4e1369ea689f9e19638cceff3622f69071d2db..161b91950dbed50c705d4fa3cdb65358cd7cf8e2 100755 (executable)
@@ -133,9 +133,10 @@ class StartShiftStepTwoAction extends Action
                 $model->checkin_id = $model->checkinModel->id;
                 $model->id = $model->checkinModel->id;
 
-                $is_start = $model->d_id == AdminGroup::GROUP_ADMINISTRATORS ?
-                    count($dayCheckins) % 2 == 0 ?  true : false :
-                    $model->status = AdminCheckin::TYPE_START ? true : false;
+                $is_start = ($model->d_id == AdminGroup::GROUP_ADMINISTRATORS) ?
+                    (count($dayCheckins) % 2 == 0 ? true : false) :
+                    ($model->status == AdminCheckin::TYPE_START ? true : false);
+
                 TimetableFactModel::setValues($model, $is_start);
 
                 if ($this->controller->request->getHeaders()->get('Accept') == 'application/json') {
index 2557be75874328912de27ad4b17bf92884b762c1..734563ad0acc3a0431a5d9e8a90148c7e5e20bba 100644 (file)
@@ -112,11 +112,9 @@ class TimetableFactModel extends ActiveRecord
         if ($model = self::find()
             ->where(['admin_id' => $adminCheckin->admin_id, 'is_opening' => true])
             ->andWhere(['between', 'date_shift', date('Y-m-d', strtotime($adminCheckin->date . ' -1 day')), date('Y-m-d', strtotime($adminCheckin->date))])
-            ->andWhere(['status' => AdminCheckin::TYPE_START])
+            ->andWhere(['status' => array(AdminCheckin::TYPE_START, AdminCheckin::TYPE_APPEAR)])
             ->one()) {
 
-            $model->is_opening = false;
-            $model->is_close = true;
             $model->date_end = date("Y-m-d", strtotime($adminCheckin->time));
             $model->time_end = date("H:i:s", strtotime($adminCheckin->time));
             $model->work_time = min(abs(strtotime($model->date_end . $model->time_end) + 600 - strtotime($model->date_start . $model->time_start)) / 3600, self::WORK_HOURS_TIME);
@@ -124,8 +122,6 @@ class TimetableFactModel extends ActiveRecord
             $model->checkin_end_id = $adminCheckin->id;
         } else {
             $model = new TimetableFactModel();
-            $model->is_opening = true;
-            $model->is_close = false;
             $model->date_end = null;
             $model->date_start = date("Y-m-d", strtotime($adminCheckin->time));
             $model->time_start = date("H:i:s", strtotime($adminCheckin->time));
@@ -161,6 +157,7 @@ class TimetableFactModel extends ActiveRecord
         }
 
         $model->is_opening = $is_start;
+        $model->is_close = !$is_start;
 
         if ($model->validate()) {
             $model->save();