From be62fdc81d745b6c774246ace9cafbca4dd5ce8a Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Mon, 7 Oct 2024 17:29:59 +0300 Subject: [PATCH] =?utf8?q?[ERP-209]=20=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B0?= =?utf8?q?=D0=B6=D0=B0=D1=82=D0=B8=D0=B8=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA?= =?utf8?q?=D0=B0=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82=D1=8C=20?= =?utf8?q?=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D1=8B=D0=B2=D0=B0=D1=8E=D1=82?= =?utf8?q?=D1=81=D1=8F=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=D0=B0=20=D1=82?= =?utf8?q?=D0=B5=D0=BB=D0=B5=D1=84=D0=BE=D0=BD=D0=BE=D0=B2=20=D0=B8=D0=B7?= =?utf8?q?=20=D1=81=D0=B4=D0=B5=D0=BB=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/actions/orders/FillPhoneAction.php | 20 +++++++++++++++++--- erp24/views/orders/fill-phone.php | 9 ++++++--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/erp24/actions/orders/FillPhoneAction.php b/erp24/actions/orders/FillPhoneAction.php index ba135bfd..0cbe8822 100644 --- a/erp24/actions/orders/FillPhoneAction.php +++ b/erp24/actions/orders/FillPhoneAction.php @@ -27,17 +27,31 @@ class FillPhoneAction extends Action $sales = []; $phoneByAmoIdMap = []; - if ($action == 'show') { - $sales = Sales::find()->select(['id', 'order_id'])->where(['between', 'date', $model->date_from, $model->date_to]) + if ($action == 'show' || $action == 'update') { + $sales = Sales::find()->select(['id', 'order_id', 'date'])->where(['between', 'date', $model->date_from, $model->date_to]) ->andWhere(['not in', 'order_id', ['', null]]) ->andWhere(['phone' => 0]) ->all(); $orderIds = ArrayHelper::getColumn($sales, 'order_id'); + $orderIdsClean = []; + foreach ($orderIds as $orderId) { + if (is_int($orderId)) { + $orderIdsClean[] = $orderId; + } + } $ordersAmo = OrdersAmo::find()->select(['amo_id', 'phone']) - ->where(['amo_id' => $orderIds]) + ->where(['amo_id' => $orderIdsClean]) ->andWhere(['not in', 'phone', ['', null]]) ->all(); $phoneByAmoIdMap = ArrayHelper::map($ordersAmo, 'amo_id', 'phone'); + if ($action == 'update') { + foreach ($sales as $sale) { + /** @var $sale Sales */ + if (!empty($phoneByAmoIdMap[$sale->order_id]) && is_int($phoneByAmoIdMap[$sale->order_id])) { + Sales::updateAll(['phone' => $phoneByAmoIdMap[$sale->order_id]], ['order_id' => $sale->order_id]); + } + } + } } return $this->controller->render('fill-phone', diff --git a/erp24/views/orders/fill-phone.php b/erp24/views/orders/fill-phone.php index 46a0ec25..875d11d3 100644 --- a/erp24/views/orders/fill-phone.php +++ b/erp24/views/orders/fill-phone.php @@ -66,8 +66,9 @@ use yii_app\records\Sales; order_id])): ?> id ?> - order_id ?> order_id] ?> + order_id ?> + date ?> @@ -80,16 +81,18 @@ use yii_app\records\Sales; guid - order_id phone + order_id + date id ?> - order_id ?> order_id] ?? 'missing' ?> + order_id ?> + date ?> -- 2.39.5