]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Поправил изменения относительно создания полной смены, либо только начала
authorAlexander Smirnov <fredeom@mail.ru>
Tue, 25 Jun 2024 14:02:05 +0000 (17:02 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Tue, 25 Jun 2024 14:02:05 +0000 (17:02 +0300)
erp24/actions/timetable/AddFactHandAction.php

index 294f2ebf9ecb6d52a8b406f61a7104ad6861cc00..779701775ba116f9c013960b0bf2a3e6387996c8 100644 (file)
@@ -78,24 +78,30 @@ class AddFactHandAction extends Action
                         $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];
@@ -104,6 +110,13 @@ class AddFactHandAction extends Action
                     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()) {