From: Alexander Smirnov Date: Mon, 7 Oct 2024 13:25:49 +0000 (+0300) Subject: [ERP-209] отображает на странице гуиды чеков, айди связанных сделок и телефоны, котор... X-Git-Tag: 1.6~48^2~2 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=970a727edf4b42d7e374c963fd6839b28978b65d;p=erp24_rep%2Fyii-erp24%2F.git [ERP-209] отображает на странице гуиды чеков, айди связанных сделок и телефоны, которые нужно прописать в них --- diff --git a/erp24/actions/orders/FillPhoneAction.php b/erp24/actions/orders/FillPhoneAction.php new file mode 100644 index 00000000..ba135bfd --- /dev/null +++ b/erp24/actions/orders/FillPhoneAction.php @@ -0,0 +1,46 @@ + date('Y-m-d 00:00:00'), + 'date_to' => date('Y-m-d 23:59:59') + ], [ + [['date_from', 'date_to'], 'safe'] + ]); + + $action = null; + if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) { + $action = Yii::$app->request->post('action'); + }; + + $sales = []; + $phoneByAmoIdMap = []; + if ($action == 'show') { + $sales = Sales::find()->select(['id', 'order_id'])->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'); + $ordersAmo = OrdersAmo::find()->select(['amo_id', 'phone']) + ->where(['amo_id' => $orderIds]) + ->andWhere(['not in', 'phone', ['', null]]) + ->all(); + $phoneByAmoIdMap = ArrayHelper::map($ordersAmo, 'amo_id', 'phone'); + } + + return $this->controller->render('fill-phone', + compact('model', 'action', 'sales', 'phoneByAmoIdMap')); + } +} \ No newline at end of file diff --git a/erp24/controllers/OrdersController.php b/erp24/controllers/OrdersController.php index a563e261..72785bd0 100644 --- a/erp24/controllers/OrdersController.php +++ b/erp24/controllers/OrdersController.php @@ -6,6 +6,7 @@ ini_set("memory_limit", "256M"); use Exception; use Yii; +use yii\helpers\ArrayHelper; use yii\web\Controller; use yii_app\records\CreateChecks; use yii_app\records\ExportImportTable; @@ -14,6 +15,13 @@ use yii_app\records\OrdersAmoSearch; class OrdersController extends Controller { + public function actions() + { + return ArrayHelper::merge(parent::actions(), [ + 'fill-phone' => \yii_app\actions\orders\FillPhoneAction::class + ]); + } + public function actionCouriers() { return $this->render('couriers'); } diff --git a/erp24/views/orders/fill-phone.php b/erp24/views/orders/fill-phone.php new file mode 100644 index 00000000..46a0ec25 --- /dev/null +++ b/erp24/views/orders/fill-phone.php @@ -0,0 +1,142 @@ + + +
+ + + date_from ?> + date_to ?> +
+
+ field($model, 'date_from')->widget(DatePicker::class, [ + 'template' => '{addon}{input}', + 'clientOptions' => [ + 'autoclose' => true, + 'format' => 'yyyy-mm-dd 00:00:00', + 'todayBtn' => true + ], + ])->label(false) ?> +
+
+ field($model, 'date_to')->widget(DatePicker::class, [ + 'template' => '{addon}{input}', + 'clientOptions' => [ + 'autoclose' => true, + 'format' => 'yyyy-mm-dd 23:59:59', + 'todayBtn' => true + ], + ])->label(false) ?> +
+
+
+
+ 'btn btn-secondary', 'name' => 'action', 'value' => 'show'])?> + 0): ?> + 'download_table_as_csv(\'hiddenTable\');', 'class' => 'btn btn-success', 'name' => 'action', 'value' => 'download']) ?> + 'btn btn-primary', 'name' => 'action', 'value' => 'update']) ?> + +
+
+ + +
+
+ + Число записей: +
+
+ + + + + order_id])): ?> + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
guidorder_idphone
id ?>order_id ?>order_id] ?? 'missing' ?>
+
+
+ + +