From: marina Date: Fri, 19 Jul 2024 09:41:17 +0000 (+0300) Subject: ERP-115 Переработать открытие/закрытие смен у администраторов X-Git-Tag: 1.4~70^2 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=ab21253e920dd064b33393a0dd5a4c919eacf79b;p=erp24_rep%2Fyii-erp24%2F.git ERP-115 Переработать открытие/закрытие смен у администраторов мелко правки по плану --- diff --git a/erp24/actions/timetable/StartShiftStepOneAction.php b/erp24/actions/timetable/StartShiftStepOneAction.php index 9e1f5b69..5a6f14ec 100755 --- a/erp24/actions/timetable/StartShiftStepOneAction.php +++ b/erp24/actions/timetable/StartShiftStepOneAction.php @@ -30,7 +30,7 @@ class StartShiftStepOneAction extends Action return $this->controller->redirect('/'); } - $fact = TimetableFactModel::getOpening($userModel->id, date('Y-m-d')); + $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d')); $plan = Timetable::find() ->andWhere(['admin_id' => $userModel->id]) ->andWhere(['date' => date('Y-m-d')]) diff --git a/erp24/actions/timetable/StartShiftStepThreeAction.php b/erp24/actions/timetable/StartShiftStepThreeAction.php index 204b4700..133de72d 100755 --- a/erp24/actions/timetable/StartShiftStepThreeAction.php +++ b/erp24/actions/timetable/StartShiftStepThreeAction.php @@ -37,16 +37,10 @@ class StartShiftStepThreeAction extends Action ->one(); //отрабатывает только для открытия - $fact = TimetableFactModel::getOpening($userModel->id, date('Y-m-d')); + $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d')); - //делается для того что при закрытии нужны дата и время фактического закрытия if (!$fact) { - $fact = TimetableFactModel::find() - ->andWhere(['admin_id' => $userModel->id]) - ->andWhere(['date_shift' => date('Y-m-d')]) - ->andWhere(['is_close' => true]) - ->orderBy('id desc') - ->one(); + $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d'), false); } if ($request->isAjax diff --git a/erp24/actions/timetable/StartShiftStepTwoAction.php b/erp24/actions/timetable/StartShiftStepTwoAction.php index afc62b78..7d998e84 100755 --- a/erp24/actions/timetable/StartShiftStepTwoAction.php +++ b/erp24/actions/timetable/StartShiftStepTwoAction.php @@ -52,7 +52,7 @@ class StartShiftStepTwoAction extends Action ->andWhere(['tabel' => 0]) ->orderBy('id desc') ->one(); - $fact = TimetableFactModel::getOpening($userModel->id, date('Y-m-d')); + $fact = TimetableFactModel::getLast($userModel->id, date('Y-m-d')); $adminStoreId = null; diff --git a/erp24/records/TimetableFactModel.php b/erp24/records/TimetableFactModel.php index a6aa68df..0b5a646d 100644 --- a/erp24/records/TimetableFactModel.php +++ b/erp24/records/TimetableFactModel.php @@ -112,7 +112,7 @@ class TimetableFactModel extends ActiveRecord */ public static function setValues($adminCheckin, $is_start = true) { - $model = self::getOpening($adminCheckin->admin_id, $adminCheckin->date); + $model = self::getLast($adminCheckin->admin_id, $adminCheckin->date); /** @var $model TimetableFactModel */ if ($model) { @@ -175,15 +175,18 @@ class TimetableFactModel extends ActiveRecord * @param $date * @return array|ActiveRecord|null */ - public static function getOpening(int $adminId, $date) { - return self::find() - ->andWhere(['admin_id' => $adminId]) - ->andWhere(['is_opening' => true]) - ->andWhere([ + public static function getLast(int $adminId, $date, $opening = true) + { + $fact = self::find() + ->andWhere(['admin_id' => $adminId])->andWhere([ 'OR', ['date_shift' => $date], ['date_shift' => date('Y-m-d', strtotime('-1 day'))], - ]) + ]); + + $opening ? $fact->andWhere(['is_opening' => true]) : $fact->andWhere(['is_close' => true]); + + return $fact ->orderBy('id desc') ->one(); }