From 835d4217460447fff947385abf5c0622cc90bed9 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Fri, 19 Apr 2024 16:39:51 +0300 Subject: [PATCH] orders logist table --- erp24/controllers/OrdersController.php | 8 +++ erp24/modul/orders/logist_table.php | 80 +++++++++++++------------ erp24/modul/orders/logist_table_day.php | 39 ++++++------ erp24/views/orders/logist_table.php | 5 ++ erp24/views/orders/logist_table_day.php | 5 ++ 5 files changed, 78 insertions(+), 59 deletions(-) create mode 100644 erp24/views/orders/logist_table.php create mode 100644 erp24/views/orders/logist_table_day.php diff --git a/erp24/controllers/OrdersController.php b/erp24/controllers/OrdersController.php index 4b196105..7bb3e9f3 100644 --- a/erp24/controllers/OrdersController.php +++ b/erp24/controllers/OrdersController.php @@ -35,6 +35,14 @@ class OrdersController extends Controller return $this->render('amo_checks'); } + public function actionLogist_table() { + return $this->render('logist_table'); + } + + public function actionLogist_table_day() { + return $this->render('logist_table_day'); + } + public function actionDelivery2() { if (!empty($_REQUEST["umoup"])) { diff --git a/erp24/modul/orders/logist_table.php b/erp24/modul/orders/logist_table.php index e1f7de75..cf7b2790 100644 --- a/erp24/modul/orders/logist_table.php +++ b/erp24/modul/orders/logist_table.php @@ -1,12 +1,8 @@ -='$date1' AND delivery_date<='$date2' + $data= $db::getRows("SELECT * FROM orders_amo WHERE status_id=142 AND delivery_date>='$date1' AND delivery_date<='$date2' order by delivery_date desc "); +$print = []; +$store_itog = []; +$taxi = 0; foreach ($data as $row) { -$print[$row["delivery_date"]]["cnt"]=$print[$row["delivery_date"]]["cnt"]+1; -$print[$row["delivery_date"]]["price"]=$print[$row["delivery_date"]]["price"]+$row["price"]; -$print[$row["delivery_date"]]["delivery_time"][$row["delivery_time"]]=$print[$row["delivery_date"]]["delivery_time"][$row["delivery_time"]]+1; +$print[$row["delivery_date"]]["cnt"]=($print[$row["delivery_date"]]["cnt"] ?? 0) + 1; +$print[$row["delivery_date"]]["price"]=($print[$row["delivery_date"]]["price"] ?? 0) + $row["price"]; +$print[$row["delivery_date"]]["delivery_time"][$row["delivery_time"]]=($print[$row["delivery_date"]]["delivery_time"][$row["delivery_time"]] ?? 0) +1; -$print[$row["delivery_date"]]["delivery"][$row["delivery"]]=$print[$row["delivery_date"]]["delivery"][$row["delivery"]]+1; -$print[$row["delivery_date"]]["price_dostavka"]=$print[$row["delivery_date"]]["price_dostavka"]+$row["price_dostavka"]; -$print[$row["delivery_date"]]["price_dostavka_zatrat"]=$print[$row["delivery_date"]]["price_dostavka_zatrat"]+$row["price_dostavka_zatrat"]; +$print[$row["delivery_date"]]["delivery"][$row["delivery"]]=($print[$row["delivery_date"]]["delivery"][$row["delivery"]] ?? 0)+1; +$print[$row["delivery_date"]]["price_dostavka"]=($print[$row["delivery_date"]]["price_dostavka"] ?? 0)+$row["price_dostavka"]; +$print[$row["delivery_date"]]["price_dostavka_zatrat"]=($print[$row["delivery_date"]]["price_dostavka_zatrat"] ?? 0)+$row["price_dostavka_zatrat"]; -$print[$row["delivery_date"]]["courier"][$row["courier"]]=$print[$row["delivery_date"]]["courier"][$row["courier"]]+1; +$print[$row["delivery_date"]]["courier"][$row["courier"]]=($print[$row["delivery_date"]]["courier"][$row["courier"]] ?? 0)+1; $print[$row["delivery_date"]]["courier_time"][$row["courier"]][$row["delivery_time"]]= -$print[$row["delivery_date"]]["courier_time"][$row["courier"]][$row["delivery_time"]]+1; + ($print[$row["delivery_date"]]["courier_time"][$row["courier"]][$row["delivery_time"]] ?? 0)+1; @@ -60,13 +59,13 @@ $print[$row["delivery_date"]]["courier_period"][$row["courier"]]["express"]=$pri } if($row["delivery"]=="Такси") $taxi++; -$store_itog[$row["store_id"]]=$store_itog[$row["store_id"]]+$row["price"]; +$store_itog[$row["store_id"]]=($store_itog[$row["store_id"]] ?? 0)+$row["price"]; $kid=""; if(!empty($row["courier"])) $kid=$row["courier"]; elseif($row["delivery"]=="Доставка") $kid="--курьер не указан--"; -$print[$row["delivery_date"]]["orders"] .="
".$row["delivery"]." $kid ".$row["id"]." ".$row["amo_id"]." ".$row["delivery_time"]." -".$row["delivery_adress"]." ".$row["courier"]." ".$row["text_order"]." "; +$print[$row["delivery_date"]]["orders"] =($print[$row["delivery_date"]]["orders"] ?? '') . "
".$row["delivery"]." $kid ".$row["id"]." ".$row["amo_id"]." ".$row["delivery_time"]." +".$row["delivery_adress"]." ".$row["courier"]." ".($row["text_order"] ?? '')." "; } echo" @@ -78,28 +77,29 @@ echo"
"; $td=1; +$all_itog = 0; foreach($print as $date => $massiv) { $all_itog=$print[$date]["price"]+$all_itog; echo" if(!empty($date1)) { -$data= $db::getRows("SELECT *, sum(price_dostavka) as price_dostavka, sum(price_dostavka_zatrat) as price_dostavka_zatrat, +$sql = "SELECT *, sum(price_dostavka) as price_dostavka, sum(price_dostavka_zatrat) as price_dostavka_zatrat, sum(price_dostavka_povtor) as price_dostavka_povtor, sum(price_dostavka_povtor_zatrat) as price_dostavka_povtor_zatrat FROM orders_amo WHERE status_id=142 AND delivery_date>='$date1' AND delivery_date<='$date2' - group by delivery_date order by delivery_date desc LIMIT 300000"); + group by delivery_date, id order by delivery_date desc LIMIT 300000"; +//var_dump($sql); die; // TODO: why id in group by? +$data= $db::getRows($sql); echo"
".$date." ".$print[$date]["price"]."руб.
Стоимость для клиентов ".$print[$date]["price_dostavka"]." руб
-Заплатили курьерам ".$print[$date]["price_dostavka_zatrat"]."
-Стоимость для клиентов повторных ".$print[$date]["price_dostavka_povtor"]." руб
-Залплатили курьерам ".$print[$date]["price_dostavka_povtor_zatrat"]."
-
ночные ".$print[$date]["night"].""; +Заплатили курьерам ".($print[$date]["price_dostavka_zatrat"] ?? '')."
+Стоимость для клиентов повторных ".($print[$date]["price_dostavka_povtor"]??'')." руб
+Залплатили курьерам ".($print[$date]["price_dostavka_povtor_zatrat"]??'')."
+
ночные ".($print[$date]["night"]??'').""; -$summa_night=$print[$date]["night"]*300; -$summa_express=$print[$date]["express"]*590; -$summa_day=$print[$date]["day"]*300; +$summa_night=($print[$date]["night"] ?? 0)*300; +$summa_express=($print[$date]["express"] ?? 0)*590; +$summa_day=($print[$date]["day"] ?? 0)*300; -$summa_night_courier=$print[$date]["night"]*250; -$summa_express_courier=$print[$date]["express"]*250; -$summa_day_courier=$print[$date]["day"]*200; +$summa_night_courier=($print[$date]["night"] ?? 0)*250; +$summa_express_courier=($print[$date]["express"] ?? 0)*250; +$summa_day_courier=($print[$date]["day"] ?? 0)*200; echo" = $summa_night руб (курьерам $summa_night_courier)
-дневные ".$print[$date]["day"]." = $summa_day руб (курьерам $summa_day_courier руб.)
-Экспресс ".$print[$date]["express"]." = $summa_express руб (курьерам $summa_express_courier руб.)
"; +дневные ".($print[$date]["day"]??'')." = $summa_day руб (курьерам $summa_day_courier руб.)
+Экспресс ".($print[$date]["express"]??'')." = $summa_express руб (курьерам $summa_express_courier руб.)
"; /* arsort($print[$date]["courier"]); @@ -139,11 +139,13 @@ echo"
@@ -163,8 +165,8 @@ echo " "; -$price_dostavka_all=$price_dostavka_all+$p1; -$price_dostavka_zatrat_all=$price_dostavka_zatrat_all+$p2; +$price_dostavka_all=($price_dostavka_all??0)+$p1; +$price_dostavka_zatrat_all=($price_dostavka_zatrat_all??0)+$p2; } $dohod=$price_dostavka_all-$price_dostavka_zatrat_all; echo" @@ -175,7 +177,7 @@ echo" По магазинам "; $store_arr[""]="-не указан-"; $store_arr[0]="-не указан-"; -$data2 = $db::getRows("SELECT id, adress_amo FROM city_store WHERE 1"); +$data2 = $db::getRows("SELECT id, adress_amo FROM city_store WHERE 1 = 1"); foreach ($data2 as $row2) $store_arr[$row2["id"]]=$row2["adress_amo"]; @@ -190,4 +192,4 @@ echo"
ДатаСтоимость с клиентыЗатраты на логистику Доход
".$row["delivery_date"]." ".$dohod_day."
".$store_arr[$store_id]."$sum руб".round($perc echo"
"; } -include"templates/bottom.php"; + diff --git a/erp24/modul/orders/logist_table_day.php b/erp24/modul/orders/logist_table_day.php index bcf548e9..929af442 100644 --- a/erp24/modul/orders/logist_table_day.php +++ b/erp24/modul/orders/logist_table_day.php @@ -1,13 +1,12 @@ -$field_id,"values"=>array(arra $json2[]=$json; $sql="UPDATE orders_amo SET amo_id='$amo_id' $sql_up WHERE id='$lidid'"; -$db2::sql($sql); +$db::sql($sql); echo"
$sql"; } } @@ -72,11 +71,11 @@ mess("Данные обновлены"); } -//$data = $db2::getRows("SELECT id,name FROM admin WHERE group_id=27 order by name ASC"); +//$data = $db::getRows("SELECT id,name FROM admin WHERE group_id=27 order by name ASC"); // foreach ($data as $row) $usr[$row["id"]]=$row["name"]; - $data = $db2::getRows("SELECT admin_id as id,name_admin as name FROM admin WHERE group_id=27 order by name ASC"); + $data = $db::getRows("SELECT id,name FROM admin WHERE group_id=27 order by name ASC"); foreach ($data as $row) $usr[$row["id"]]=$row["name"]; @@ -109,7 +108,7 @@ echo""; "; - $data = $db2::getRows("SELECT lid_id,tip,name FROM orders_files WHERE date>='$delivery_date 00:00:00' AND date<='$delivery_date2 23:59:59'"); + $data = $db::getRows("SELECT lid_id,tip,name FROM orders_files WHERE date>='$delivery_date 00:00:00' AND date<='$delivery_date2 23:59:59'"); foreach ($data as $item) { $foto[$item["lid_id"]][$item["tip"]]=$foto[$item["lid_id"]][$item["tip"]]+1; } @@ -119,7 +118,7 @@ $day=array("8-10","10-12","12-14","14-16","16-18","18-20"); $express=array("express"); // echo"SELECT * FROM orders_amo WHERE ( ( status_id=143 AND (price_dostavka!=0 or price_dostavka_zatrat!=0 or price_dostavka_povtor_zatrat!=0 or price_dostavka_povtor!=0) ) or status_id=142) AND delivery_date>='$delivery_date' AND delivery_date<='$delivery_date2' $where order by delivery ASC, delivery_time desc LIMIT 500"; - $data = $db2::getRows("SELECT * FROM orders_amo WHERE ( ( status_id=143 AND + $data = $db::getRows("SELECT * FROM orders_amo WHERE ( ( status_id=143 AND (price_dostavka!=0 or price_dostavka_zatrat!=0 or price_dostavka_povtor_zatrat!=0 or price_dostavka_povtor!=0) ) or status_id=142) AND delivery_date>='$delivery_date' AND delivery_date<='$delivery_date2' $where order by delivery ASC, delivery_time desc LIMIT 1500"); foreach ($data as $row) { @@ -220,7 +219,7 @@ echo""; $h_arr=explode("-",$row["delivery_time"]); $h=(int)$h_arr[0]; -$h_end=(int)$h_arr[1]; +$h_end=(int)($h_arr[1]??0); echo" ".$row["delivery_oblast"]." ".$row["delivery_rayon"]." @@ -286,17 +285,17 @@ echo" "; -$courier_summa[$row["courier_id"]]=$courier_summa[$row["courier_id"]]+$row["price_dostavka_povtor_zatrat"]+$row["price_dostavka_zatrat"]; +$courier_summa[$row["courier_id"]]=($courier_summa[$row["courier_id"]] ?? 0)+$row["price_dostavka_povtor_zatrat"]+$row["price_dostavka_zatrat"]; -$client_summa[$row["delivery"]]=$client_summa[$row["delivery"]]+$row["price_dostavka"]+$row["price_dostavka_povtor"]; +$client_summa[$row["delivery"]]=($client_summa[$row["delivery"]] ?? 0)+$row["price_dostavka"]+$row["price_dostavka_povtor"]; -$sum=$sum+$row["price"]; +$sum=($sum ?? 0)+$row["price"]; if(empty($foto[$row["id"]][1]) or empty($foto[$row["id"]][10])){ $foto[$row["id"]][1]=0; $foto[$row["id"]][10]=0; - $data2 = $db2::getRows("SELECT lid_id,tip,name FROM orders_files WHERE lid_id='".$row["id"]."'"); + $data2 = $db::getRows("SELECT lid_id,tip,name FROM orders_files WHERE lid_id='".$row["id"]."'"); foreach ($data2 as $item) { $foto[$item["lid_id"]][$item["tip"]]=$foto[$item["lid_id"]][$item["tip"]]+1; } @@ -350,7 +349,7 @@ echo"
Итого с клиентов: +$itogc руб"; echo"Затраты на курьеров"; foreach($courier_summa as $cid => $namer) { -echo"
".$usr[$cid].": -$namer руб"; +echo"
".($usr[$cid]??'').": -$namer руб"; $itog=$itog+$namer; } $itogc=$itogc-$itog; @@ -405,4 +404,4 @@ $.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/logist_table.php b/erp24/views/orders/logist_table.php new file mode 100644 index 00000000..8843b8e8 --- /dev/null +++ b/erp24/views/orders/logist_table.php @@ -0,0 +1,5 @@ +