namespace app\controllers;
+ use Yii;
+ use yii_app\records\TimetableFactModel;
use yii\data\ActiveDataProvider;
+use yii\db\Query;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
- use yii_app\records\TimetableFactModel;
+use yii_app\records\Admin;
+use yii_app\records\AdminCheckin;
+use yii_app\records\Timetable;
/**
* TimetableFactController implements the CRUD actions for TimetableFactModel model.
$model->status = AdminCheckin::TYPE_START;
$model->checkin_start_id = $adminCheckin->id;
- $timetable = Timetable::findOne(['plan_id' => $adminCheckin->plan_id]);
-
+ $timetable = !empty($adminCheckin->plan_id) ? Timetable::findOne(['plan_id' => $adminCheckin->plan_id]) : null;
if (!empty($timetable)) {
- $model->tabel = $timetable->id;
+ $model->tabel = 1;
$model->plan_id = $timetable->plan_id;
+ $model->shift_id = $timetable->shift_id;
$model->admin_id_add = $timetable->admin_id_add;
$model->comment = $timetable->comment;
$model->date_add = $timetable->date_add;
- $model->salary_shift = $timetable->salary_shift;
- $model->price_hour = $model->salary_shift / ($model->d_id == AdminGroup::GROUP_ADMINISTRATORS ? 8 : 12);
-
+ $model->salary_shift = $timetable->salary_shift ?? null;
+ $model->price_hour = !empty($model->salary_shift) ? round($model->salary_shift / ($model->d_id == AdminGroup::GROUP_ADMINISTRATORS ? 8 : 12), 2) : null;
} else {
- $model->tabel = 1;
+ $model->tabel = 0;
$model->plan_id = null;
$model->admin_id_add = null;
$model->comment = null;
$model->date_add = null;
+ $model->salary_shift = null;
+ $model->price_hour = null;
+ $model->shift_id = $adminCheckin->shift_id;
}
$model->admin_id = $adminCheckin->admin_id;
$model->d_id = $adminCheckin->d_id;
$model->store_id = $adminCheckin->store_id;
$model->date_shift = $adminCheckin->date;
- $model->shift_id = $adminCheckin->shift_id;
++ $model->salary_shift = !empty($salary = EmployeePayment::findOne(['admin_id' => $adminCheckin->admin_id])) ? $salary->daily_payment : null;
++ $model->price_hour = $model->salary_shift / ($model->d_id == AdminGroup::GROUP_ADMINISTRATORS ? 8 : 12);
}
+ $model->is_opening = $is_start;
+
if ($model->validate()) {
$model->save();
- } else {
- var_dump($model->getErrors());
- die();
+ }
+
+ if ($model->getErrors()) {
+ throw new \Exception($model->getErrors());
}
}