From bccd8e7c228dce841ca2ecc43da56b4e6cf03dee Mon Sep 17 00:00:00 2001 From: marina Date: Tue, 9 Jul 2024 16:16:11 +0300 Subject: [PATCH] =?utf8?q?ERP-77=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?utf8?q?=D0=B8=D1=82=D1=8C=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20?= =?utf8?q?=D1=81=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B5=D0=BC?= =?utf8?q?=20=D1=81=D0=BC=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/actions/timetable/StartShiftStepTwoAction.php | 7 ++++--- erp24/records/TimetableFactModel.php | 7 ++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/erp24/actions/timetable/StartShiftStepTwoAction.php b/erp24/actions/timetable/StartShiftStepTwoAction.php index 6b4e1369..161b9195 100755 --- a/erp24/actions/timetable/StartShiftStepTwoAction.php +++ b/erp24/actions/timetable/StartShiftStepTwoAction.php @@ -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') { diff --git a/erp24/records/TimetableFactModel.php b/erp24/records/TimetableFactModel.php index 2557be75..734563ad 100644 --- a/erp24/records/TimetableFactModel.php +++ b/erp24/records/TimetableFactModel.php @@ -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(); -- 2.39.5