From: Alexander Smirnov Date: Fri, 12 Apr 2024 14:40:40 +0000 (+0300) Subject: fix orders delivery X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=0bf94498e1de8c491f0b4b56018ac3a2fe00a288;p=yii-erp24%2F.git fix orders delivery --- diff --git a/docker/migrationToPgsql/mysql/command.sql b/docker/migrationToPgsql/mysql/command.sql index 2ef29de..98aa02e 100644 --- a/docker/migrationToPgsql/mysql/command.sql +++ b/docker/migrationToPgsql/mysql/command.sql @@ -138,8 +138,8 @@ UPDATE `store` SET `date_open`='1970-01-01' WHERE `date_open`<'1970-01-01'; UPDATE `store_revision_day` SET `date_soglas`='1970-01-01 00:00:01' WHERE `date_soglas`<'1970-01-01 00:00:01'; -ALTER TABLE `money_cashboxes` MODIFY COLUMN `type` ENUM('cash', 'bank', 'qrcode', 'none'); -UPDATE `money_cashboxes` SET `type` = 'none' WHERE `type` = ''; +-- ALTER TABLE `money_cashboxes` MODIFY COLUMN `type` ENUM('cash', 'bank', 'qrcode', 'none'); +-- UPDATE `money_cashboxes` SET `type` = 'none' WHERE `type` = ''; UPDATE `scripts` SET `date`='1970-01-01 00:00:01' WHERE `date`<'1970-01-01 00:00:01'; @@ -166,7 +166,7 @@ UPDATE `store_orders` SET `date_update`='1970-01-01 00:00:01' WHERE `date_update UPDATE `store_orders` SET `delivery_date_fact`='1970-01-01' WHERE `delivery_date_fact`<'1970-01-01'; UPDATE `users_events` SET `date` = '1970-01-01' WHERE `date` < '1970-01-01' AND `date` IS NOT NULL; -UPDATE `universal_pipeline_triggers` SET `time` = '1970-01-01' WHERE `time` < '1970-01-01' AND `time` IS NOT NULL; +-- UPDATE `universal_pipeline_triggers` SET `time` = '1970-01-01' WHERE `time` < '1970-01-01' AND `time` IS NOT NULL; UPDATE `shipment_waybills` SET `created_at` = '1970-01-01' WHERE `created_at` < '1970-01-01' AND `created_at` IS NOT NULL; UPDATE `store_orders` SET `date_add` = '1970-01-01' WHERE `date_add` < '1970-01-01' AND `date_add` IS NOT NULL; -- ALTER TABLE `sales` DROP INDEX `date`; diff --git a/erp24/modul/orders/delivery.php b/erp24/modul/orders/delivery.php index 36befe7..1b376e5 100644 --- a/erp24/modul/orders/delivery.php +++ b/erp24/modul/orders/delivery.php @@ -221,8 +221,9 @@ foreach($_REQUEST["statuses"] ?? [] as $is =>$idf) { } -$checkarr= $db::getRows("SELECT * FROM sales WHERE date >= NOW()- 37 * INTERVAL '1 day' "); +$checkarr= $db::getRows("SELECT * FROM sales WHERE date >= NOW()- 37 * INTERVAL '1 day' LIMIT 1750"); //$cheks_txt="; + $sale = []; $check_sale_cnt = []; $check_vozvrat_cnt = []; @@ -243,10 +244,10 @@ $cheks_txt .=" продавец ".($usersArr[$checkr["seller_id"]] ?? '-')." "; if($checkr["operation"]=="Продажа") $cheks_txt .="сделать возврат"; $cheks_txt .=""; -if($checkr["operation"]=="Возврат") $check_vozvrat_cnt[$checkr["order_id"]]=$check_vozvrat_cnt[$checkr["order_id"]]+1; -if($checkr["operation"]=="Продажа") $check_sale_cnt[$checkr["order_id"]]=$check_sale_cnt[$checkr["order_id"]]+1; +if($checkr["operation"]=="Возврат") $check_vozvrat_cnt[$checkr["order_id"]]=($check_vozvrat_cnt[$checkr["order_id"]] ?? 0)+1; +if($checkr["operation"]=="Продажа") $check_sale_cnt[$checkr["order_id"]]=($check_sale_cnt[$checkr["order_id"]] ?? 0)+1; -$sale[$checkr["order_id"]] .=$cheks_txt; +$sale[$checkr["order_id"]] = ($sale[$checkr["order_id"]] ?? '') . $cheks_txt; } //$cheks_txt .=""; @@ -264,7 +265,8 @@ $data = $db::getRows("SELECT *, TO_CHAR(delivery_date, 'DD.MM.YYYY') as dated FR WHERE $where AND delivery_date <= NOW() order by delivery_date DESC, updated_at DESC LIMIT 1750"); echo""; -$cnt = 0; +$cnt = $cnt ?? 0; +$in_orders = []; foreach($data as $row) { $cheks_txt =""; $cnt++; @@ -297,7 +299,7 @@ if(!empty($sale[$row["amo_id"]])) $yes=1; //$yes==0 $vozvr=0; $cnt_s=0; $cnt_v=0; -foreach($create_check_arr[$row["amo_id"]] as $order_idd => $rowsd) { +foreach($create_check_arr[$row["amo_id"]] ?? [] as $order_idd => $rowsd) { if($rowsd["type"]=="Продажа") $cnt_s++; if($rowsd["type"]=="Возврат") $cnt_v++; } @@ -346,7 +348,7 @@ if(in_array($row["amo_id"], $in_orders ?? [])) { } echo"".$status_ar[$row["status_id"]]." -".$users_arr[$row["florist_id"]].""; +".($users_arr[$row["florist_id"]] ?? '').""; if(empty($row["florist_id"])) echo"флорист в амо не указан"; @@ -363,7 +365,7 @@ $in_orders[]=$row["amo_id"]; -if(($store_arr[$row["store_id"]]=="ул. Аэродромная 28 (к-р Москва)" or $row["store"]=="ул. Аэродромная, 28" or $row["store"]=="") and $yes==1 and $row["payment_type_id"]!="Оплачен в магазине") { +if(($store_arr[$row["store_id"]] ?? '' =="ул. Аэродромная 28 (к-р Москва)" or $row["store"]=="ул. Аэродромная, 28" or $row["store"]=="") and $yes==1 and $row["payment_type_id"]!="Оплачен в магазине") { if($check_vozvrat_cnt[$row["id"]]>=$check_sale_cnt[$row["id"]] ) { echo"возвратов ".$check_vozvrat_cnt[$row["id"]]." ".$check_vozvrat_cnt[$row["id"]]." чеков ".$check_sale_cnt[$row["id"]].""; @@ -396,13 +398,19 @@ if($row["store"]!="" and $row["store"]!="ул. Аэродромная, 28") $pic foreach($products_json as $k => $arp) { foreach($arp["items"] as $item) { - $products[$item["guid"]][$item["color_id"]] +=$item["quantity"]; + if (isset($item["color_id"])) { + $products[$item["guid"]][$item["color_id"]] = ($products[$item["guid"]][$item["color_id"]] ?? 0) + $item["quantity"]; + } echo" - + @@ -457,7 +465,7 @@ echo" echo"
".$row["payment_type_id"].""; -if($store_arr[$row["store_id"]]!="ул. Аэродромная 28 (к-р Москва)" and !empty($store_arr[$row["store_id"]])) echo "".$store_arr[$row["store_id"]].""; +if($store_arr[$row["store_id"]] ?? '' !="ул. Аэродромная 28 (к-р Москва)" and !empty($store_arr[$row["store_id"]])) echo "".$store_arr[$row["store_id"]].""; echo"
"; @@ -481,7 +489,7 @@ if($row["id"]!=$row["amo_id"]) $ids_arr=[$row["amo_id"],$row["id"]]; foreach($ids_arr as $val_id) { if(empty($sale[$val_id])) { -foreach($create_check_arr[$val_id] as $create_check_row ) { +foreach($create_check_arr[$val_id] ?? [] as $create_check_row ) { @@ -527,11 +535,11 @@ if(!empty($row["products_json"])) { // echo""; -if( ($store_arr[$row["store_id"]]=="ул. Аэродромная 28 (к-р Москва)" or $row["store"]=="ул. Аэродромная, 28" +if( ($store_arr[$row["store_id"]] ?? '' == "ул. Аэродромная 28 (к-р Москва)" or $row["store"]=="ул. Аэродромная, 28" or $row["store"]=="") and $yes==0 and $row["payment_type_id"]!="Оплачен в магазине") { -$ord=$db::getValue("SELECT order_id FROM sales WHERE order_id=? AND order_id > 0 order by date desc LIMIT 1",$row["amo_id"]); +$ord=$db::getValue("SELECT order_id FROM sales WHERE order_id=? AND order_id > 0 order by date desc LIMIT 1",[$row["amo_id"]]); if(empty($create_check) and empty($ord) and !empty($seller_id)) @@ -544,18 +552,19 @@ echo"
"; //$cheks_txt +$pay_text = $pay_text ?? ''; echo"
"; } $itog = $itog ?? 0; -$cnt = $cnt ?? 0; + echo"
$quantity".$item["name"]."".$item["color_id"]."".$item["name"]."".($item["color_id"] ?? '')." ".str_replace(".00","",$item["price"])." $bal$pay_text
Итого $itog руб. всего $cnt "; } catch (Exception $e) { - echo 'Выброшено исключение: '. $e->getMessage() . ', line:' . $e->getLine(). "\n"; + echo 'Выброшено исключение: ', $e->getMessage() . ' ' . $e->getLine() . ' ' . $e->getFile() /*. ' ' . $e->getTraceAsString() */, "\n"; }