From 6ecbee5bcb53224b42d568dc8c2c33d82ad05451 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Wed, 10 Apr 2024 10:26:20 +0300 Subject: [PATCH] move orders delivery from old php --- erp24/controllers/OrdersController.php | 6 +- erp24/modul/orders/delivery.php | 75 ++++++------ erp24/views/orders/delivery.php | 158 +----------------------- erp24/views/orders/delivery2.php | 159 +++++++++++++++++++++++++ 4 files changed, 205 insertions(+), 193 deletions(-) create mode 100644 erp24/views/orders/delivery2.php diff --git a/erp24/controllers/OrdersController.php b/erp24/controllers/OrdersController.php index a013ef2c..ae144847 100644 --- a/erp24/controllers/OrdersController.php +++ b/erp24/controllers/OrdersController.php @@ -19,7 +19,11 @@ class OrdersController extends Controller return $this->render('couriers'); } - public function actionDelivery() + public function actionDelivery() { + return $this->render('delivery'); + } + + public function actionDelivery2() { if (!empty($_REQUEST["umoup"])) { diff --git a/erp24/modul/orders/delivery.php b/erp24/modul/orders/delivery.php index e762b84b..125fb774 100644 --- a/erp24/modul/orders/delivery.php +++ b/erp24/modul/orders/delivery.php @@ -1,25 +1,24 @@ - $arr20) { $k++; echo"
$k) Сделка ".$arr0["id"]." lid_id=$lid_id5 ".$arr0["name"]." price= ".$arr0["name"]." status_id=".$arr0["status_id"]." "; -$dat = $db2::getRow("SELECT status_id, price, id, delivery_date FROM orders_amo WHERE amo_id=? LIMIT 1",[$arr0["id"]]); +$dat = $db::getRow("SELECT status_id, price, id, delivery_date FROM orders_amo WHERE amo_id=? LIMIT 1",[$arr0["id"]]); if(empty($dat)) echo"
".$dat["delivery_date"]." ".$dat["status_id"]." Заказа нет в системе ".$dat["id"]." ".$dat["price"]."
"; @@ -48,7 +47,7 @@ if(empty($dat)) echo"
".$dat["delivery_date"]." ".$dat["status_id"]." За if($arr0["price"]!=$dat["price"]) { echo"Сумма заказа не равна ! ".$arr0["price"]."!=".$dat["price"].""; $z="UPDATE orders_amo SET price='".$arr0["price"]."' WHERE amo_id='".$arr0["id"]."' AND id=$lid_id5 LIMIT 1"; - $db2::sql($z); + $db::sql($z); } @@ -58,7 +57,7 @@ if($dat["status_id"]!=$arr0["status_id"]) { if($arr0["status_id"]==142) { $z="UPDATE orders_amo SET status_id='".$arr0["status_id"]."', price='".$arr0["price"]."' WHERE amo_id='".$arr0["id"]."' AND id=$lid_id5 LIMIT 1"; // echo"
$z"; - $db2::sql($z); + $db::sql($z); } @@ -67,7 +66,7 @@ if($arr0["status_id"]==142) { if(!empty($arr0["id"])) { $z="UPDATE orders_amo SET store='".$store."', delivery='$delivery' WHERE amo_id='".$arr0["id"]."' LIMIT 1"; - $db2::sql($z); + $db::sql($z); // echo"
$z"; } @@ -80,7 +79,7 @@ if(!empty($arr0["id"])) { -$data=$db::getRows("SELECT check_id, type FROM create_checks WHERE date>=NOW() - INTERVAL 17 day AND status='0' AND check_id!=''"); +$data=$db::getRows("SELECT check_id, type FROM create_checks WHERE (date >= NOW() - 17 * INTERVAL '1 day') AND status='0' AND check_id!=''"); foreach($data as $row) { @@ -117,7 +116,7 @@ $usersArr = $db::mapping("SELECT id,name FROM products_1c WHERE tip='admin'"); -$data = $db2::getRows("SELECT status_id, color, name FROM orders_status WHERE pipeline_id='4021495'"); +$data = $db::getRows("SELECT status_id, color, name FROM orders_status WHERE pipeline_id='4021495'"); foreach($data as $row) { if($row["status_id"]==142) $row["name"]="Успешно"; if($row["status_id"]==143) $row["name"]="Отказ"; @@ -128,11 +127,13 @@ foreach($data as $row) { $delivery_date=date("Y-m-d"); if(!empty($_POST["lid_id"])) $lid_id=(int)$_POST["lid_id"]; if(!empty($_POST["amo_id"])) $amo_id=(int)$_POST["amo_id"]; -if(!empty($_POST["delivery_date"])) $delivery_date=htmlentities($_POST["delivery_date"]); - - -echo"
-
+if(!empty($_POST["delivery_date"])) $delivery_date=htmlentities($_POST["delivery_date"]); + +$lid_id = $lid_id ?? ''; + +echo""; +echo ''; +echo "
@@ -164,7 +165,7 @@ foreach($data as $row) $balancesAll[$row["store_id"]][$row["product_id"]]=$row[" // получаем массив с GUID услуг $data = $db::getRows("SELECT products_1c.id FROM products_1c RIGHT JOIN products_class ON products_1c.parent_id=products_class.category_id -AND products_class.tip='services' WHERE 1"); +AND products_class.tip='services' WHERE 1=1"); foreach($data as $row) $services[$row["id"]]=$row["id"]; // массив с гуидами магазинов @@ -182,7 +183,7 @@ $data = $db::getRows("SELECT id, name FROM products_1c WHERE tip='city_store' ") foreach($data as $row) $stores_arr[$row["id"]]=$row["name"]; -$data = $db2::getRows("SELECT id, name, adress_amo FROM city_store WHERE 1 "); +$data = $db::getRows("SELECT id, name, adress_amo FROM city_store WHERE 1=1 "); foreach($data as $row) { $store_arr[$row["id"]]=$row["name"]; $storesNameArr[$row["adress_amo"]]=$row["id"]; @@ -208,10 +209,11 @@ foreach($data as $row) { //$where0 =" AND delivery!='Доставка из магазина' AND delivery!='Самовывоз' "; $where2=""; -foreach($_REQUEST["statuses"] as $is =>$idf) { +foreach($_REQUEST["statuses"] ?? [] as $is =>$idf) { if($idf=='on') $where2 .=" or status_id='$is'"; -} +} + $where0 = $where0 ?? '1 = 1'; $where =" $where0 AND ( status_id='142' $where2) "; if(!empty($delivery_date)) $where .=" AND delivery_date='$delivery_date' "; @@ -219,7 +221,7 @@ foreach($_REQUEST["statuses"] as $is =>$idf) { } -$checkarr= $db::getRows("SELECT * FROM sales WHERE date>=NOW()- INTERVAL 37 day "); +$checkarr= $db::getRows("SELECT * FROM sales WHERE date >= NOW()- 37 * INTERVAL '1 day' "); //$cheks_txt="; foreach($checkarr as $checkr) { $cheks_txt ="
=NOW()- INTERVAL 37 day "); +$data4= $db::getRows("SELECT * FROM create_checks WHERE date >= NOW()- 37 * INTERVAL '1 day' "); foreach($data4 as $row4) $create_check_arr[$row4["order_id"]][]=$row4; - echo"SELECT *,DATE_FORMAT(delivery_date, '%d.%m.%Y') as dated FROM orders_amo -WHERE 1 $where AND delivery_date <= NOW() order by delivery_date DESC, updated_at DESC LIMIT 1750 "; - + echo"SELECT *, TO_CHAR(delivery_date, 'DD.MM.YYYY') as dated FROM orders_amo +WHERE $where AND delivery_date <= NOW() order by delivery_date DESC, updated_at DESC LIMIT 1750 "; -$data = $db2::getRows("SELECT *,DATE_FORMAT(delivery_date, '%d.%m.%Y') as dated FROM orders_amo -WHERE 1 $where AND delivery_date <= NOW() order by delivery_date DESC, updated_at DESC LIMIT 1750"); +$data = $db::getRows("SELECT *, TO_CHAR(delivery_date, 'DD.MM.YYYY') as dated FROM orders_amo +WHERE $where AND delivery_date <= NOW() order by delivery_date DESC, updated_at DESC LIMIT 1750"); +var_dump($data); die; echo""; foreach($data as $row) { $cheks_txt =""; @@ -342,7 +344,7 @@ if(empty($row["florist_id"])) echo"флорист echo""; } - +$itog = $itog ?? 0; +$cnt = $cnt ?? 0; echo"
".$row["price"]." yes=$yes ".$row["store"]." ".$row["delivery_adress"].""; -$itog=$itog+$row["price"]; +$itog=($itog ?? 0)+$row["price"]; $in_orders[]=$row["amo_id"]; @@ -533,7 +535,8 @@ echo"$pay_text
Итого $itog руб. всего $cnt "; @@ -630,10 +633,10 @@ $.ajax({
-'; - +'; + - include"templates/bottom.php"; +include_once dirname(__DIR__, 2) . '/templates/bottom_light.php'; \ No newline at end of file diff --git a/erp24/views/orders/delivery.php b/erp24/views/orders/delivery.php index e008ea43..dc4c317e 100644 --- a/erp24/views/orders/delivery.php +++ b/erp24/views/orders/delivery.php @@ -1,159 +1,5 @@ registerJs(<< - -
-

Заказы из amo и чеки в магазинах '&date2=''" target="new" class="btn btn-info"> - импортировать заказы из amo с датой доставки

- синхронизировать заказы с amo - $searchModel, - 'dataProvider' => $dataProvider, - 'options' => [ - 'style' => [ - 'overflow-x' => 'scroll' - ] - ], - 'columns' => [ - [ - 'label' => 'Информация о доставке', - 'format' => 'raw', - 'contentOptions' => function (OrdersAmo $model) { - return [ - 'class' => ($model->sales ? 'table-success' : 'table-danger'), - ]; - }, - 'value' => function (OrdersAmo $model) { - - $div = '
'; - - $div .= Html::a( - 'Заказ в AMO', - 'https://bazacvetov24.amocrm.ru/leads/detail/' . $model->amo_id, - [ - 'target' => 'new' . $model->amo_id - ] - ); - - $div .= '
'; - - $div .= '
Дата доставки: ' . $model->delivery_date . '
'; - - $div .= '
Магазин: ' . ($model->storeObj->name ?? '-') . '
'; - - $div .= '
Доставка: ' . $model->delivery . '
'; - - $div .= '
Адрес доставки: ' . $model->delivery_adress . '
'; - - return $div; - } - ], - [ - 'label' => 'Статус', - 'format' => 'raw', - 'value' => function (OrdersAmo $model) { - if ($model->status) { - return '

' . $model->status->name .'

'; - } else { - return '

' . $model->status_id .'

'; - } - - } - ], - [ - 'label' => '', - 'format' => 'raw', - 'value' => function (OrdersAmo $model) { - if ($model->floristObj) { - $div = '
Флорист: ' . ($model->floristObj->name ?? '-') . '
'; - } else { - $div = '
Флорист: ' . 'Укажите верного ID флориста в АМО! И обновите данные по заказам - иначе чек не пробьется! -У каждого чека должен быть актуальный продавец' . '
'; - } - - $div .= '
Курьер: ' . ($model->courierObj->name ?? '-') . '
'; - return $div; - } - ], - [ - 'label' => 'Информация по чекам', - 'format' => 'raw', - 'value' => function (OrdersAmo $model) { - $table = ''; - - if (!$model->sales) { - $tr = ''; - $table .= $tr; - } - - foreach ($model->sales as $sale) { - if ($sale->operation === 'Продажа') { - $tr = ''; - - } else if ($sale->operation === 'Возврат') { - $tr = ''; - - } else { - $tr = ''; - - } - - - - $table .= $tr; - } - - $table .= '
GUIDОперацияДатаКто провел чек
-----
' . $sale->id . '' . $sale->operation . '' . $sale->date . '' . $sale->sellerById->name . '
' . $sale->id . '' . $sale->operation . ': ' . ($sale->sales_check != '' ? $sale->sales_check : '-') . '' . $sale->date . '' . $sale->sellerById->name . '
' . $sale->id . '' . $sale->operation . '' . $sale->date . '' . $sale->sellerById->name . '
'; - - return $table; - } - ], - ] - ]) ?> -
- - \ No newline at end of file +include 'modul/orders/delivery.php'; diff --git a/erp24/views/orders/delivery2.php b/erp24/views/orders/delivery2.php new file mode 100644 index 00000000..e008ea43 --- /dev/null +++ b/erp24/views/orders/delivery2.php @@ -0,0 +1,159 @@ +registerJs(<< + +
+

Заказы из amo и чеки в магазинах '&date2=''" target="new" class="btn btn-info"> + импортировать заказы из amo с датой доставки

+ синхронизировать заказы с amo + $searchModel, + 'dataProvider' => $dataProvider, + 'options' => [ + 'style' => [ + 'overflow-x' => 'scroll' + ] + ], + 'columns' => [ + [ + 'label' => 'Информация о доставке', + 'format' => 'raw', + 'contentOptions' => function (OrdersAmo $model) { + return [ + 'class' => ($model->sales ? 'table-success' : 'table-danger'), + ]; + }, + 'value' => function (OrdersAmo $model) { + + $div = '
'; + + $div .= Html::a( + 'Заказ в AMO', + 'https://bazacvetov24.amocrm.ru/leads/detail/' . $model->amo_id, + [ + 'target' => 'new' . $model->amo_id + ] + ); + + $div .= '
'; + + $div .= '
Дата доставки: ' . $model->delivery_date . '
'; + + $div .= '
Магазин: ' . ($model->storeObj->name ?? '-') . '
'; + + $div .= '
Доставка: ' . $model->delivery . '
'; + + $div .= '
Адрес доставки: ' . $model->delivery_adress . '
'; + + return $div; + } + ], + [ + 'label' => 'Статус', + 'format' => 'raw', + 'value' => function (OrdersAmo $model) { + if ($model->status) { + return '

' . $model->status->name .'

'; + } else { + return '

' . $model->status_id .'

'; + } + + } + ], + [ + 'label' => '', + 'format' => 'raw', + 'value' => function (OrdersAmo $model) { + if ($model->floristObj) { + $div = '
Флорист: ' . ($model->floristObj->name ?? '-') . '
'; + } else { + $div = '
Флорист: ' . 'Укажите верного ID флориста в АМО! И обновите данные по заказам - иначе чек не пробьется! +У каждого чека должен быть актуальный продавец' . '
'; + } + + $div .= '
Курьер: ' . ($model->courierObj->name ?? '-') . '
'; + return $div; + } + ], + [ + 'label' => 'Информация по чекам', + 'format' => 'raw', + 'value' => function (OrdersAmo $model) { + $table = ''; + + if (!$model->sales) { + $tr = ''; + $table .= $tr; + } + + foreach ($model->sales as $sale) { + if ($sale->operation === 'Продажа') { + $tr = ''; + + } else if ($sale->operation === 'Возврат') { + $tr = ''; + + } else { + $tr = ''; + + } + + + + $table .= $tr; + } + + $table .= '
GUIDОперацияДатаКто провел чек
-----
' . $sale->id . '' . $sale->operation . '' . $sale->date . '' . $sale->sellerById->name . '
' . $sale->id . '' . $sale->operation . ': ' . ($sale->sales_check != '' ? $sale->sales_check : '-') . '' . $sale->date . '' . $sale->sellerById->name . '
' . $sale->id . '' . $sale->operation . '' . $sale->date . '' . $sale->sellerById->name . '
'; + + return $table; + } + ], + ] + ]) ?> +
+ + \ No newline at end of file -- 2.39.5