From c834009b34160b0dc88c4c8b8a22e2a88d3c0e43 Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Thu, 18 Dec 2025 17:34:17 +0300 Subject: [PATCH] =?utf8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/services/MarketplaceService.php | 4 +- erp24/views/marketplace-orders/index.php | 58 ++++++++++++++++++++++-- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index d9935d1f..634e21e9 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -1230,9 +1230,9 @@ class MarketplaceService } $marketplaceOrder->store_id = $store ? $store->store_id : null; $marketplaceOrder->warehouse_guid = $warehouseGuid; - $marketplaceOrder->marketplace_id = $store->warehouse_id ?? MarketplaceStore::YANDEX_WAREHOUSE_ID; + $marketplaceOrder->marketplace_id = $store ? $store->warehouse_id : MarketplaceStore::YANDEX_WAREHOUSE_ID; $warehouseNames = MarketplaceStore::getWarehouseId(); - $marketplaceOrder->marketplace_name = $warehouseNames[$marketplaceOrder->marketplace_id]; + $marketplaceOrder->marketplace_name = $warehouseNames[$marketplaceOrder->marketplace_id] ?? 'Unknown'; } $marketplaceOrder->status_id = (int)$statusId; diff --git a/erp24/views/marketplace-orders/index.php b/erp24/views/marketplace-orders/index.php index 22c02cae..9f466601 100644 --- a/erp24/views/marketplace-orders/index.php +++ b/erp24/views/marketplace-orders/index.php @@ -86,9 +86,13 @@ YiiAsset::register($this); 'attribute' => 'store_id', 'format' => 'raw', // добавляем raw формат 'value' => function ($model) { - return Html::tag('span', $model->store->name ?? '-', ['class' => ""]) . '
' . - Html::tag('span', MarketplaceStore::getWarehouseId()[$model->mpstore->warehouse_id], ['class' => "bg-success text-white"]) - . '
' . Html::tag('span', $model->warehouse_guid ?? '-', ['class' => ""]); + $storeName = $model->store->name ?? '-'; + $warehouseId = $model->mpstore ? MarketplaceStore::getWarehouseId()[$model->mpstore->warehouse_id] ?? '-' : '-'; + $warehouseGuid = $model->warehouse_guid ?? '-'; + + return Html::tag('span', $storeName, ['class' => ""]) . '
' . + Html::tag('span', $warehouseId, ['class' => "bg-success text-white"]) + . '
' . Html::tag('span', $warehouseGuid, ['class' => ""]); }, 'filter' => Html::input('text', 'MarketplaceOrdersSearch[store_name]', $searchModel->store_name, ['class' => 'form-control']), ], @@ -180,8 +184,54 @@ YiiAsset::register($this); ], [ 'attribute' => 'readyto_1c', + 'label' => 'Готовность к 1С', + 'format' => 'raw', 'value' => function ($model) { - return $model->readyto_1c == 0 ? 'Не готов' : 'Готов'; + if ($model->readyto_1c == 1) { + return Html::tag('span', 'Готов', ['class' => 'badge bg-success']); + } + + // Проверяем причины неготовности + $reasons = []; + + if (empty($model->marketplace_order_id)) { + $reasons[] = 'Отсутствует ID заказа маркетплейса'; + } + + if (empty($model->marketplace_id)) { + $reasons[] = 'Отсутствует ID маркетплейса'; + } + + if (empty($model->guid)) { + $reasons[] = 'Отсутствует GUID заказа'; + } + + if (empty($model->order_link)) { + $reasons[] = 'Отсутствует ссылка на заказ'; + } + + // Проверяем наличие товаров + $items = $model->items; + if (empty($items) || count($items) == 0) { + $reasons[] = 'Отсутствуют товары в заказе'; + } + + if (empty($model->delivery_to)) { + $reasons[] = 'Отсутствует срок доставки (delivery_to)'; + } + + if (empty($reasons)) { + return Html::tag('span', 'Не готов (причина неизвестна)', ['class' => 'badge bg-warning']); + } + + $reasonsHtml = Html::tag('span', 'Не готов', ['class' => 'badge bg-danger']); + $reasonsHtml .= ''; + + return $reasonsHtml; } ], [ -- 2.39.5