From dfd3444cdf61686b27383a496b1755b1e8dd91cc Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Tue, 16 Dec 2025 12:02:26 +0300 Subject: [PATCH] =?utf8?q?=D0=9E=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB?= =?utf8?q?=D0=B8=D0=B2=D0=B0=D0=B5=D0=BC=20=D0=BE=D0=B1=D0=BC=D0=B5=D0=BD?= =?utf8?q?=20=D1=81=201=D0=A1=20=D0=BD=D0=B0=20=D0=B4=D0=B5=D0=B2=20=D1=81?= =?utf8?q?=205=20=D0=B4=D0=BE=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/api2/controllers/DataController.php | 20 ++++++----- erp24/controllers/ShiftTransferController.php | 34 ++++++++----------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/erp24/api2/controllers/DataController.php b/erp24/api2/controllers/DataController.php index 80d84cc4..866a165a 100644 --- a/erp24/api2/controllers/DataController.php +++ b/erp24/api2/controllers/DataController.php @@ -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(); diff --git a/erp24/controllers/ShiftTransferController.php b/erp24/controllers/ShiftTransferController.php index 02f0575f..ce12bc88 100644 --- a/erp24/controllers/ShiftTransferController.php +++ b/erp24/controllers/ShiftTransferController.php @@ -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'); } -- 2.39.5