]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Останавливаем обмен с 1С на дев с 5 до 6
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 16 Dec 2025 09:02:26 +0000 (12:02 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 16 Dec 2025 09:02:26 +0000 (12:02 +0300)
erp24/api2/controllers/DataController.php
erp24/controllers/ShiftTransferController.php

index 80d84cc4d307b15e24e0fcc0092f199fe0a06487..866a165a0bcedcf178f3dff087446353984e7625 100644 (file)
@@ -99,15 +99,17 @@ class DataController extends BaseController
     {
         Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
 
-        // Проверка времени: если текущее время с 5 до 6 утра, обновляем статусы и возвращаем пустой ответ
-        $currentHour = (int)date("H");
-        if ($currentHour >= 10 && $currentHour < 12) {
-            // Проставляем статус 1 всем не запущенным заданиям api_cron (status = 0)
-            ApiCron::updateAll(
-                ['status' => ApiCron::COMPLETE],
-                ['status' => ApiCron::AWAITING_COMPLETION]
-            );
-            return $this->asJson([]);
+        // Проверка dev окружения: если время с 10 до 12, обновляем статусы и возвращаем пустой ответ (только на тестовом контуре)
+        if (TelegramService::isDevEnv()) {
+            $currentHour = (int)date("H");
+            if ($currentHour >= 5 && $currentHour < 6) {
+                // Проставляем статус 1 всем не запущенным заданиям api_cron (status = 0)
+                ApiCron::updateAll(
+                    ['status' => ApiCron::COMPLETE],
+                    ['status' => ApiCron::AWAITING_COMPLETION]
+                );
+                return $this->asJson([]);
+            }
         }
 
         $request = Yii::$app->request->getRawBody();
index 02f0575ff2b079b6b1286221cd59a49262335d30..ce12bc880e34a800974fe0f90f096d5d6e65b5bb 100644 (file)
@@ -30,6 +30,7 @@ use yii_app\records\WaybillWriteOffs;
 use yii_app\records\WriteOffsErp;
 use yii_app\services\TaskService;
 use yii_app\services\SelfCostProductDynamicService;
+use yii_app\services\TelegramService;
 
 class ShiftTransferController extends Controller
 {
@@ -108,32 +109,27 @@ class ShiftTransferController extends Controller
                 'product_guid', 'price'
             );
         }
-//        $a = [['a' => 1, 'b' => 2, 'c' => 3], ['a' => 1, 'b' => 5, 'c' => 4], ['a' => 1, 'b' => 7, 'c' => 5],];
-//        var_dump(ArrayHelper::map($a, 'a', 'b')); die;
-//        result: array(1) { [1]=> int(7) }
-        
-        // Фильтруем товары без себестоимости из списка
-        $productGuidsFiltered = [];
-        foreach ($productGuids as $key => $name) {
-            // Проверяем наличие себестоимости (не пустая и больше 0)
-            if (isset($selfCost[$key]) && $selfCost[$key] !== '' && $selfCost[$key] !== null && $selfCost[$key] > 0) {
-                $productGuidsFiltered[$key] = $name;
-            }
+        // Фильтруем товары без себестоимости (только в dev окружении для удобства разработки)
+        // В production показываем все товары, чтобы пользователь видел проблемные и обращался в поддержку
+        if (TelegramService::isDevEnv()) {
+            $productGuids = array_filter($productGuids, function ($key) use ($selfCost) {
+                return !empty($selfCost[$key]) && $selfCost[$key] > 0;
+            }, ARRAY_FILTER_USE_KEY);
         }
-        
+
         $loadDataShiftRemains = [];
-        foreach ($productGuidsFiltered as $key => $name) {
+        foreach ($productGuids as $key => $name) {
             $loadDataShiftRemains[] = [
-                'product_guid' => $key, 'retail_price' => $price[$key] ?? '',
+                'product_guid' => $key,
+                'retail_price' => $price[$key] ?? '',
                 'self_cost' => $selfCost[$key] ?? '',
-                'remains_summ' => isset($price[$key]) && isset($balance[$key]) ? $price[$key] * $balance[$key] : '',
+                'remains_summ' => isset($price[$key]$balance[$key]) ? $price[$key] * $balance[$key] : '',
                 'remains_count' => $balance[$key] ?? '',
-                'fact_and_1c_diff' => 0, 'remains_1c' => $balance[$key] ?? ''
+                'fact_and_1c_diff' => 0,
+                'remains_1c' => $balance[$key] ?? '',
             ];
         }
-        
-        // Обновляем productGuids отфильтрованным списком
-        $productGuids = $productGuidsFiltered;
+
         return compact('loadDataShiftRemains', 'productGuids');
     }