]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-66 Добавить открытие смены без плана в воркботе origin/feature_zozirova_erp-66_add_fact_data
authormarina <m.zozirova@gmail.com>
Thu, 11 Jul 2024 07:32:13 +0000 (10:32 +0300)
committermarina <m.zozirova@gmail.com>
Thu, 11 Jul 2024 07:32:13 +0000 (10:32 +0300)
erp24/api3/modules/v1/models/Admin.php

index 8ad4d06931f3da39d6949e57e39c03da81df2407..9260af70bfe58bf3663b61df7de122d3c8f7fbb6 100644 (file)
@@ -6,6 +6,7 @@ use yii_app\api3\modules\v1\models\timetable\Timetable;
 use yii_app\records\AdminStores;
 use yii_app\records\CityStore;
 use yii_app\records\EmployeePayment;
+use yii_app\records\TimetableFactModel;
 use yii_app\records\TimetableV3;
 
 class Admin extends \yii_app\records\Admin
@@ -93,16 +94,36 @@ class Admin extends \yii_app\records\Admin
         return $this->hasOne(EmployeePayment::class, ['admin_id' => 'id'])->orderBy(['date' => SORT_DESC]);
     }
 
+
     // Получить текущую актуальную сменю
-    public function getCurrentTimetablePlan() {
-        return $this->hasOne(Timetable::class, ['admin_id' => 'id'])
+    public function getCurrentTimetablePlan()
+    {
+        $plan = $this->hasOne(Timetable::class, ['admin_id' => 'id'])
             ->andWhere(['>=', 'date', date('Y-m-d 00:00:00')])
             ->andWhere(['<=', 'date', date('Y-m-d 23:59:59')])
             ->andWhere(['tabel' => 0]);
+
+        $fact = $this->getFact();
+
+        return $plan ?? $fact;
     }
 
     // Достать магазин из плана
     public function getStoreFromPlan() {
         return $this->hasOne(CityStore::class, ['id' => 'store_id'])->via('currentTimetablePlan');
     }
+
+    public function getFact() {
+        return $this->hasOne(TimetableFactModel::class, ['admin_id' => 'id'])
+            ->andWhere(['>=', 'date', date('Y-m-d 00:00:00', strtotime("-1 day"))])
+            ->andWhere(['<=', 'date', date('Y-m-d 23:59:59')])
+            ->andWhere(['is_opening' => true])
+            ->addSelect([
+                'id as id',
+                'date_shift as date',
+                'date_start as start',
+                'date_end as end',
+            ])
+            ->orderBy('id desc');
+    }
 }
\ No newline at end of file