From: marina Date: Tue, 9 Jul 2024 13:16:11 +0000 (+0300) Subject: ERP-77 Поправить ошибку с открытием смен X-Git-Tag: 1.4~83^2 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=bccd8e7c228dce841ca2ecc43da56b4e6cf03dee;p=erp24_rep%2Fyii-erp24%2F.git ERP-77 Поправить ошибку с открытием смен --- 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();