$timetableFactModel->d_id = $model->admin_group_id;
$timetableFactModel->date_shift = date('Y-m-d', strtotime($model->shift_start));
$timetableFactModel->date_start = $timetableFactModel->date_shift;
- $timetableFactModel->date_end = date('Y-m-d', strtotime($model->shift_end));
- $timetableFactModel->is_opening = false;
- $timetableFactModel->is_close = true;
+ if ($action == 'createFact') {
+ $timetableFactModel->date_end = date('Y-m-d', strtotime($model->shift_end));
+ $timetableFactModel->is_opening = false;
+ $timetableFactModel->is_close = true;
+ } else {
+ $timetableFactModel->is_opening = true;
+ $timetableFactModel->is_close = false;
+ }
if (!empty($model->tabel)) {
$timetableFactModel->tabel = $model->tabel;
}
$timetableFactModel->shift_id = $model->shift_id;
$timetableFactModel->admin_id_add = Yii::$app->user->id;
$timetableFactModel->time_start = date("H:i:s", strtotime($model->shift_start));
- $timetableFactModel->time_end = date("H:i:s", strtotime($model->shift_end));
- $timetableFactModel->work_time = min(abs(strtotime($timetableFactModel->date_end
- . $timetableFactModel->time_end) + 600 - strtotime($timetableFactModel->date_start
- . $timetableFactModel->time_start)) / 3600, TimetableFactModel::WORK_HOURS_TIME);
-
+ if ($action == 'createFact') {
+ $timetableFactModel->time_end = date("H:i:s", strtotime($model->shift_end));
+ $timetableFactModel->work_time = min(abs(strtotime($timetableFactModel->date_end
+ . $timetableFactModel->time_end) + 600 - strtotime($timetableFactModel->date_start
+ . $timetableFactModel->time_start)) / 3600, TimetableFactModel::WORK_HOURS_TIME);
+ }
$timetableFactModel->salary_shift = !empty($salary = EmployeePayment::findOne(['admin_id' => $model->admin_id])) ? $salary->daily_payment : null;
$timetableFactModel->price_hour = $timetableFactModel->salary_shift / ($timetableFactModel->d_id == AdminGroup::GROUP_ADMINISTRATORS ? 8 : 12);
$timetableFactModel->date_add = date('Y-m-d H:i:s');
- $timetableFactModel->status = AdminCheckin::TYPE_END;
+ $timetableFactModel->status = $action == 'createFact' ? AdminCheckin::TYPE_END : AdminCheckin::TYPE_START;
$timetableFactModel->checkin_start_id = $checkInIds[0];
if ($action == 'createFact') {
$timetableFactModel->checkin_end_id = $checkInIds[1];
if ($action == 'createFactCloseShift') {
$timetableFactModel = TimetableFactModel::findOne($model->timetable_fact_id);
$timetableFactModel->checkin_end_id = $checkInIds[1];
+ $timetableFactModel->is_opening = false;
+ $timetableFactModel->is_close = true;
+ $timetableFactModel->date_end = date('Y-m-d', strtotime($model->shift_end));
+ $timetableFactModel->time_end = date("H:i:s", strtotime($model->shift_end));
+ $timetableFactModel->work_time = min(abs(strtotime($timetableFactModel->date_end
+ . $timetableFactModel->time_end) + 600 - strtotime($timetableFactModel->date_start
+ . $timetableFactModel->time_start)) / 3600, TimetableFactModel::WORK_HOURS_TIME);
}
$timetableFactModel->save();
if ($timetableFactModel->getErrors()) {