From: Vladimir Fomichev Date: Tue, 16 Dec 2025 09:02:26 +0000 (+0300) Subject: Останавливаем обмен с 1С на дев с 5 до 6 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=dfd3444cdf61686b27383a496b1755b1e8dd91cc;p=erp24_rep%2Fyii-erp24%2F.git Останавливаем обмен с 1С на дев с 5 до 6 --- 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'); }