<?php
-global $orderId, $products, $orderStoresArrayRelation, $storesOrderArray;
+global $orderId, $products, $orderStoresArrayRelation, $storesOrderArray, $data_up;
// округляет до определенного числа
function ceilCoef($number, $rate = 1)
-<?
+<?php
- $data=$db::getRows("SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
+global $orderId, $orderStoresArrayRelation_in, $data_up;
+
+ $sql = "SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
field_name='auto_purchase_formula' AND value>0
AND store_id $orderStoresArrayRelation_in
- AND order_id='$orderId' AND color='' AND store_id!='' group by product_id");
- foreach($data as $row) {
- $data_up[$row["product_id"]][0][0] +=(int)$row["value"];
- }
+ AND order_id='$orderId' AND color='' AND store_id!='' group by product_id";
+// var_dump($sql); die;
+ $data=$db::getRows($sql);
+ foreach($data as $row) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+ }
- <?
- $data=$db::getRows("SELECT sum(value) as value,color FROM store_orders_fields_data WHERE
+ <?php
+
+ global $orderId, $orderStoresArrayRelation_in, $data_up;
+
+ $sql = "SELECT sum(value) as value,color FROM store_orders_fields_data WHERE
field_name='purchase_logistic' AND value>0
AND store_id $orderStoresArrayRelation_in
- AND order_id='$orderId' AND store_id='' group by color");
- foreach($data as $row) {
+ AND order_id='$orderId' AND store_id='' group by color";
+// var_dump($sql); die;
+ $data=$db::getRows($sql);
+ foreach($data as $row) {
if(empty($row["color"])) $row["color"]=0;
- $data_up[0][0][$row["color"]] +=(int)$row["value"];
+ $data_up[0][0][$row["color"]] +=(int)$row["value"];
$data_up[0][0][0] +=(int)$row["value"];
- }
\ No newline at end of file
+ }
\ No newline at end of file
-<?
+<?php
+
+global $orderId, $data_up, $productsColorsArray, $products, $FiledsDataArray;
+
// считаем сумму в долларах куплено по факту
- $FiledsDataArray=[];
-$dataF=$db::getRows("SELECT product_id, value, if(color='',0,color) as color
+$FiledsDataArray=[];
+$sql = "SELECT product_id, value, if(color='',0,color) as color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id=''
AND field_name IN ('quantity_zakup_fact')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
$FiledsDataArray["quantity_zakup_fact"][$row["product_id"]][0][$row["color"]] += (int)$row["value"];
}
-$dataF=$db::getRows("SELECT product_id, value, if(color='',0,color) as color
+$sql = "SELECT product_id, value, if(color='',0,color) as color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id=''
AND field_name IN ('cost_price')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql,[$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray["cost_price"][$row["product_id"]][0][$row["color"]] = round($row["value"],2);
+ $FiledsDataArray["cost_price"][$row["product_id"]][0][$row["color"]] = round($row["value"],2);
}
//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
-
- $s = $FiledsDataArray["cost_price"][$productId][0][0] * $FiledsDataArray["quantity_zakup_fact"][$productId][0][0];
- $data_up[$productId][0][0] =$s ;
-
- foreach($productsColorsArray[$productId] as $color) {
- $color=trim($color);
- $s = $FiledsDataArray["quantity_zakup_fact"][$productId][0][$color] * $FiledsDataArray["cost_price"][$productId][0][$color];
- $data_up[$productId][0][$color] +=$s ;
- }
-
-
-
+ $s = ($FiledsDataArray["cost_price"][$productId][0][0] ?? 0) * ($FiledsDataArray["quantity_zakup_fact"][$productId][0][0] ?? 0);
+ $data_up[$productId][0][0] = $s;
+ foreach($productsColorsArray[$productId] as $color) {
+ $color=trim($color);
+ $s = ($FiledsDataArray["quantity_zakup_fact"][$productId][0][$color] ?? 0) * ($FiledsDataArray["cost_price"][$productId][0][$color] ?? 0);
+ $data_up[$productId][0][$color] = ($data_up[$productId][0][$color] ?? 0) + $s ;
+ }
}
global $orderId, $data_up, $prices;
$data_sales4week_summ=[];
- $data=$db::getRows("SELECT product_id, store_id,
+$sql = "SELECT product_id, store_id,
sum(CASE WHEN field_name='quantity_zakup_new' THEN value ELSE 0 END) as quantity_zakup_new,
sum(CASE WHEN field_name='sales_4weeks_cnt' THEN value ELSE 0 END) as sales_4weeks_cnt
FROM store_orders_fields_data WHERE field_name in('quantity_zakup_new','sales_4weeks_cnt') AND value>0
- AND order_id='$orderId' AND color='' AND store_id!='' group by product_id,store_id");
- foreach($data as $row) {
- if($row["sales_4weeks_cnt"]>0) {
-
- $delta=$row["quantity_zakup_new"]-$row["sales_4weeks_cnt"];
- $data_up[$row["product_id"]][$row["store_id"]][0] +=$delta;
- $data_up[$row["product_id"]][0][0] +=$delta;
-
-
- $delta_percent=round(($row["quantity_zakup_new"]/$row["sales_4weeks_cnt"])*100);
- $data_up[$row["product_id"]][$row["store_id"]][0] +=$delta_percent;
-
-
-
-
- if($row["sales_4weeks_cnt"]){
- $data_sales4week_summ_val=ceil($row["sales_4weeks_cnt"]*$prices[$row["product_id"]]);
- $data_sales4week_summ[$row["product_id"]][$row["store_id"]][0] +=$data_sales4week_summ_val;
- $data_sales4week_summ[$row["product_id"]][NULL][0] +=$data_sales4week_summ_val;
-
- // echo"<br> ".$row["product_id"]." = ".$row["sales_4weeks_cnt"]." * ".$prices[$row["product_id"]]." = $data_sales4week_summ_val";
- }
- }
-
- }
+ AND order_id='$orderId' AND color='' AND store_id!='' group by product_id,store_id";
+//var_dump($sql); die;
+$data=$db::getRows($sql);
+foreach($data as $row) {
+ if($row["sales_4weeks_cnt"]>0) {
+ $delta = ($row["quantity_zakup_new"] ?? 0) - ($row["sales_4weeks_cnt"] ?? 0);
+ $data_up[$row["product_id"]][$row["store_id"]][0] = ($data_up[$row["product_id"]][$row["store_id"]][0] ?? 0) + $delta;
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + $delta;
+ $delta_percent = $row["sales_4weeks_cnt"] > 0 ? round(($row["quantity_zakup_new"]/$row["sales_4weeks_cnt"])*100) : 0;
+ $data_up[$row["product_id"]][$row["store_id"]][0] = ($data_up[$row["product_id"]][$row["store_id"]][0] ?? 0) + $delta_percent;
+
+ $data_sales4week_summ_val = ceil(($row["sales_4weeks_cnt"] ?? 0) * ($prices[$row["product_id"]] ?? 0));
+ $data_sales4week_summ[$row["product_id"]][$row["store_id"]][0] =
+ ($data_sales4week_summ[$row["product_id"]][$row["store_id"]][0] ?? 0) + $data_sales4week_summ_val;
+ $data_sales4week_summ[$row["product_id"]][NULL][0] = ($data_sales4week_summ[$row["product_id"]][NULL][0] ?? 0) + $data_sales4week_summ_val;
+
+ // echo"<br> ".$row["product_id"]." = ".$row["sales_4weeks_cnt"]." * ".$prices[$row["product_id"]]." = $data_sales4week_summ_val";
+ }
+}
insert_store_orders_fields($data_up,"delta_sales4week_supplier_percent");
insert_store_orders_fields($data_sales4week_summ,"sales_4weeks_sum");
sum(CASE WHEN field_name='sales_cnt' THEN value ELSE 0 END) as sales_cnt
FROM store_orders_fields_data WHERE field_name in('quantity_zakup_new','sales_cnt') AND value>0
AND order_id='$orderId' AND color='' AND store_id!='' group by product_id,store_id";
-
+//var_dump($sql); die;
$data=$db::getRows($sql);
foreach($data as $row) {
-<?
+<?php
+
+global $orderId, $data_up, $FiledsDataArray, $products;
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value
+$sql = "SELECT field_name, product_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND color=''
AND store_id='',
AND field_name IN ('quantity_zakup_fact','quantity_zakup')
-AND value!=0",[$orderId]);
-foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]]=(int)$row["value"];
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql,[$orderId]);
+foreach($dataF as $row) {
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]] = (int)$row["value"];
}
- //пробегаемся по всем продуктам
-foreach($products as $productId => $name) {
- $data_up[$productId][0][0]= round($FiledsDataArray["quantity_zakup_fact"][$productId] / $FiledsDataArray["quantity_zakup"][$productId],2);
+//пробегаемся по всем продуктам
+foreach($products as $productId => $name) {
+ $data_up[$productId][0][0] = ($FiledsDataArray["quantity_zakup"][$productId] ?? 0) > 0 ? round(($FiledsDataArray["quantity_zakup_fact"][$productId] ?? 0) / $FiledsDataArray["quantity_zakup"][$productId],2) : 0;
}
<?php
-global $whereInProductsId, $orderStoresArrayRelation_in, $orderId, $products, $orderStoresArrayRelation;
+global $whereInProductsId, $orderStoresArrayRelation_in, $orderId, $products, $orderStoresArrayRelation, $data_up, $FiledsDataArray;
// округляет до определенного числа
function ceilCoef($number, $rate = 1)
//echo"<br>division_auto $whereInProductsId";
$min_lot=[];
-$data=$db::getRows("SELECT id,min_lot FROM products_1c_options WHERE id $whereInProductsId");
-foreach($data as $row) $min_lot[$row["id"]]=$row["min_lot"];
+$sql = "SELECT id,min_lot FROM products_1c_options WHERE id $whereInProductsId";
+//var_dump($sql); die;
+$data=$db::getRows($sql);
+foreach($data as $row) {
+ $min_lot[$row["id"]] = $row["min_lot"];
+}
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value
+$sql = "SELECT field_name, product_id, store_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND value!=0
AND color=''
AND store_id!=''
-",[$orderId]);
+";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]]=(int)$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]] = (int)$row["value"];
}
-$dataF=$db::getRows("SELECT field_name, product_id, value
+$sql = "SELECT field_name, product_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND field_name IN ( 'division_ratio')
AND store_id='' AND color=''
-AND value!='0'",[$orderId]);
+AND value!='0'";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]]=$row["value"];
-
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]] = $row["value"];
}
-
-
//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
- // echo"<br> <h2>$name</h2>";
- foreach($orderStoresArrayRelation as $storeId ) {
-
- $division_ratio=$FiledsDataArray["division_ratio"][$productId] ?? 0;
- if(empty($division_ratio)) $division_ratio=1;
- $d=($FiledsDataArray["division_auto_need"][$productId][$storeId] ?? 0) * $division_ratio;
- $data_up[$productId][$storeId][0]=ceilCoef($d,$min_lot[$productId]);
-
-
- // echo"<br>$name division_auto_need=".$FiledsDataArray["division_auto_need"][$productId][$storeId]." * division_ratio=".$division_ratio." d=$d min_lot=".$min_lot[$productId]." ";
- }
- // $data_up[$productId][0][0] +=$FiledsData["division_auto"][$productId][0][0];
-
-
+ // echo"<br> <h2>$name</h2>";
+ foreach($orderStoresArrayRelation as $storeId ) {
+ $division_ratio = $FiledsDataArray["division_ratio"][$productId] ?? 0;
+ if(empty($division_ratio)) {
+ $division_ratio=1;
+ }
+ $d = ($FiledsDataArray["division_auto_need"][$productId][$storeId] ?? 0) * $division_ratio;
+ $data_up[$productId][$storeId][0] = ceilCoef($d,$min_lot[$productId]);
+ // echo"<br>$name division_auto_need=".$FiledsDataArray["division_auto_need"][$productId][$storeId]." * division_ratio=".$division_ratio." d=$d min_lot=".$min_lot[$productId]." ";
+ }
+ // $data_up[$productId][0][0] +=$FiledsData["division_auto"][$productId][0][0];
}
global $orderId, $orderStoresArrayRelation_in, $data_up;
- $sql = "SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
+$sql = "SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
field_name='division_auto' AND value>0
AND store_id $orderStoresArrayRelation_in
AND order_id='$orderId' AND store_id!='' group by product_id, color";
-// var_dump($sql); die;
- $data=$db::getRows($sql);
+//var_dump($sql); die;
+$data = $db::getRows($sql);
- foreach($data as $row) {
- if(empty($row["color"])) {
- $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
- } else {
- $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
- }
+foreach($data as $row) {
+ if(empty($row["color"])) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+ } else {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
}
+}
<?php
-global $orderId, $orderStoresArrayRelation, $products, $storesOrderArray;
+global $orderId, $orderStoresArrayRelation, $products, $storesOrderArray, $data_up, $FiledsDataArray;
echo"<h1>division_auto_need</h1>";
}
-$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value
+$FiledsDataArray = [];
+$sql = "SELECT field_name, product_id, store_id, value
FROM store_orders_fields_data WHERE
order_id=? AND color=''
AND field_name IN ('entrance_cnt_7days','sales_cnt','quantity','quantity_fact','min_lot','min_order')
-",[$orderId]);
+";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]]=(int)$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]] = (int)$row["value"];
}
//print_r($FiledsData);
$storesArray[0]="Всего";
foreach($products as $product_id => $name) {
- $min_order = $FiledsDataArray["min_order"][$product_id][""] ?? 0;
- $min_lot=$FiledsDataArray["min_lot"][$product_id][""] ?? 0;
- echo"<div>
- <h6 class=\"fs-3\">$name</h6> формула = продажи_7_дней + запас_на_2дня + полнограмма - продажи_7дней
- <b> минимальный заказ $min_order шт., квант (мин. лот деления) = $min_lot</b> ";
+ $min_order = $FiledsDataArray["min_order"][$product_id][""] ?? 0;
+ $min_lot = $FiledsDataArray["min_lot"][$product_id][""] ?? 0;
+ echo"<div>
+ <h6 class=\"fs-3\">$name</h6> формула = продажи_7_дней + запас_на_2дня + полнограмма - продажи_7дней
+ <b> минимальный заказ $min_order шт., квант (мин. лот деления) = $min_lot</b> ";
- if(empty($min_lot)) $min_lot=1;
- echo"<div class=\"table-responsive\"><table class=\"table table2 table-sm table-bordered table-hover table-striped\">
+ if (empty($min_lot)) {
+ $min_lot=1;
+ }
+ echo"<div class=\"table-responsive\"><table class=\"table table2 table-sm table-bordered table-hover table-striped\">
<thead class=\"table-light\"><tr><td>магазин</td><td>продажи 7 дней</td> <td>запас 2 дня</td>
<td>полнограмма</td> <td>потребность</td></tr></thead><tbody>";
- foreach($orderStoresArrayRelation as $storeId) {
- $sale_7day = $FiledsDataArray["sales_cnt"][$product_id][$storeId] ?? 0;
- $quantity = $FiledsDataArray["quantity"][$product_id][$storeId] ?? 0;
- $quantity_fact =$FiledsDataArray["quantity_fact"][$product_id][$storeId] ?? 0;
- // считаем запас на 2 дня
- $sale_2day=ceil(2*($sale_7day/7));
- // если факт продаж будет больше чем факт - перприсваеиваем
- if(($quantity_fact-$sale_7day)>0) {
- $saleweek1=$quantity_fact-$sale_7day ;
- $zakaz= $sale_7day + $sale_2day + $quantity - $saleweek1;
- }
- else $zakaz= $sale_7day + $sale_2day + $quantity ;
+ foreach($orderStoresArrayRelation as $storeId) {
+ $sale_7day = $FiledsDataArray["sales_cnt"][$product_id][$storeId] ?? 0;
+ $quantity = $FiledsDataArray["quantity"][$product_id][$storeId] ?? 0;
+ $quantity_fact =$FiledsDataArray["quantity_fact"][$product_id][$storeId] ?? 0;
+ // считаем запас на 2 дня
+ $sale_2day=ceil(2*($sale_7day/7));
+ // если факт продаж будет больше чем факт - перприсваеиваем
+ if (($quantity_fact-$sale_7day)>0) {
+ $saleweek1=$quantity_fact-$sale_7day ;
+ $zakaz= $sale_7day + $sale_2day + $quantity - $saleweek1;
+ } else {
+ $zakaz= $sale_7day + $sale_2day + $quantity ;
+ }
- $zakaz=roundCoefficientLot($zakaz, $min_lot);
- if($zakaz<0) $zakaz=0;
- if(empty($sale_2day)) $sale_2day="";
- if(empty($sale_7day)) $sale_7day="";
- if(empty($zakaz)) $zakaz=$quantity;
-
+ $zakaz=roundCoefficientLot($zakaz, $min_lot);
+ if($zakaz<0) $zakaz=0;
+ if(empty($sale_2day)) $sale_2day="";
+ if(empty($sale_7day)) $sale_7day="";
+ if(empty($zakaz)) $zakaz=$quantity;
- $data_up[$product_id][$storeId][0] =$zakaz;
- $data_up[$product_id][0][0] = ($data_up[$product_id][0][0] ?? 0) + $zakaz;
-// формула = продажи_7_дней + запас_на_2дня + полнограмма - продажи_7дней
- echo"<tr><td>".($storesOrderArray[$storeId]??'')."</td><td>$sale_7day</td>
- <td>$sale_2day</td><td>$quantity</td><td>";
- if(!empty($zakaz)) echo"<span class=\"btn btn-sm btn-wating\">$zakaz</span>";
-
- echo'</td></tr>';
- }
- echo'</tbody></table></div></div>';
+ $data_up[$product_id][$storeId][0] = $zakaz;
+ $data_up[$product_id][0][0] = ($data_up[$product_id][0][0] ?? 0) + $zakaz;
+
+ // формула = продажи_7_дней + запас_на_2дня + полнограмма - продажи_7дней
+ echo"<tr><td>".($storesOrderArray[$storeId]??'')."</td><td>$sale_7day</td>
+ <td>$sale_2day</td><td>$quantity</td><td>";
+ if(!empty($zakaz)) {
+ echo"<span class=\"btn btn-sm btn-wating\">$zakaz</span>";
+ }
+
+ echo'</td></tr>';
+ }
+ echo'</tbody></table></div></div>';
}
global $orderId, $orderStoresArrayRelation_in, $data_up;
- $sql = "SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
+$sql = "SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
field_name='division_auto_need' AND value>0
AND store_id $orderStoresArrayRelation_in
AND order_id='$orderId' AND store_id!='' group by product_id, color";
// var_dump($sql); die;
- $data=$db::getRows($sql);
- foreach($data as $row) {
- if (empty($row["color"])) {
- $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
- } else {
- $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
- }
+$data = $db::getRows($sql);
+foreach($data as $row) {
+ if (empty($row["color"])) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+ } else {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
}
+}
<?php
- $data=$db::getRows("SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
+global $orderId, $orderStoresArrayRelation_in, $data_up;
+
+$sql = "SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
field_name='division_hand' AND value>0
AND store_id $orderStoresArrayRelation_in
- AND order_id='$orderId' AND store_id!='' group by product_id, store_id,color");
- foreach($data as $row) {
- if(empty($row["color"])) $row["color"]=0;
- $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
- $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
- }
\ No newline at end of file
+ AND order_id='$orderId' AND store_id!='' group by product_id, store_id,color";
+//var_dump($sql); die;
+$data=$db::getRows($sql);
+foreach($data as $row) {
+ if(empty($row["color"])) {
+ $row["color"] = 0;
+ }
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+}
\ No newline at end of file
$prices=[];
-$dataF=$db::getRows("SELECT product_id, value
+$sql = "SELECT product_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND color=''
AND store_id=''
AND field_name IN ('purchase_price')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $prices[$row["product_id"]]=$row["value"];
+ $prices[$row["product_id"]] = $row["value"];
}
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value
+$sql = "SELECT field_name, product_id, store_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND color=''
AND store_id!=''
AND field_name IN ('division_summ')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]]=$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]] = $row["value"];
}
-
-
-
-
-
-
$data_up = $data_up ?? [];
//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
- foreach($orderStoresArrayRelation ?? [] as $storeId ) {
-
+ foreach($orderStoresArrayRelation ?? [] as $storeId ) {
$division_summ = $FiledsDataArray["division_summ"][$productId][$storeId] ?? 0;
-
$s=round($prices[$productId] * $division_summ);
$data_up[$productId][0][0] = ($data_up[$productId][0][0] ?? 0) + $s;
$data_up[$productId][$storeId][0] = $s;
- }
+ }
}
\ No newline at end of file
<?php
-global $orderId, $products, $productsColorsArray;
+global $orderId, $products, $productsColorsArray, $FiledsDataArray;
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value,color
+$sql = "SELECT field_name, product_id, store_id, value,color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id=''
AND field_name IN ('division_auto_need_all','quantity_warehouseman_fact')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- if(empty($row["color"])) $row["color"]=0;
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]]=(int)$row["value"];
+ if (empty($row["color"])) {
+ $row["color"]=0;
+ }
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] = (int)$row["value"];
}
//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
- $division_auto_need_all=$FiledsDataArray["division_auto_need_all"][$productId][0];
- $quantity_warehouseman_fact=$FiledsDataArray["quantity_warehouseman_fact"][$productId][0];
+ $division_auto_need_all = $FiledsDataArray["division_auto_need_all"][$productId][0] ?? 0;
+ $quantity_warehouseman_fact = $FiledsDataArray["quantity_warehouseman_fact"][$productId][0] ?? 0;
-$html .="<br><b>$name</b> division_auto_need_all=".$FiledsDataArray["division_auto_need_all"][$productId][0]."
+ $html .="<br><b>$name</b> division_auto_need_all=". ($FiledsDataArray["division_auto_need_all"][$productId][0] ?? 0)."
Сумма потребности =".$division_auto_need_all."
Сумма получаено по факту ".$quantity_warehouseman_fact."";
-$division_ratio=1;
-if($division_auto_need_all > $quantity_warehouseman_fact) {
-$division_ratio=round($quantity_warehouseman_fact/$division_auto_need_all,2);
-
-$html .="<font color=red>-меньше!</font>";
-$html .=" применяем коэффициент $division_ratio = ".($FiledsDataArray["division_ratio"][$productId][0] ?? '')." ";
-
-}
- $data_up[$productId][0][0] =$division_ratio;
+ $division_ratio=1;
+ if($division_auto_need_all > $quantity_warehouseman_fact) {
+ $division_ratio = $division_auto_need_all > 0 ? round($quantity_warehouseman_fact/$division_auto_need_all,2) : 0;
+ $html .="<font color=red>-меньше!</font>";
+ $html .=" применяем коэффициент $division_ratio = ".($FiledsDataArray["division_ratio"][$productId][0] ?? '')." ";
+ }
+ $data_up[$productId][0][0] = $division_ratio;
- foreach($productsColorsArray[$productId] ?? [] as $color) {
- $color=trim($color);
- $division_ratio=1;
- if($FiledsDataArray["division_auto_need_all"][$productId][$color] > $FiledsDataArray["quantity_warehouseman_fact"][$productId][$color]) {
- $division_ratio=round($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color]/$FiledsDataArray["division_auto_need_all"][$productId][$color],2);
- }
- $data_up[$productId][0][$color] =$division_ratio ;
- }
-
-$html .="<font color=red>коэффициент $division_ratio</font>";
-
+ foreach($productsColorsArray[$productId] ?? [] as $color) {
+ $color = trim($color);
+ $division_ratio = 1;
+ if(($FiledsDataArray["division_auto_need_all"][$productId][$color] ?? 0) > ($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color] ?? 0)) {
+ $division_ratio = round($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color] / $FiledsDataArray["division_auto_need_all"][$productId][$color],2);
+ }
+ $data_up[$productId][0][$color] = $division_ratio;
+ }
+
+ $html .="<font color=red>коэффициент $division_ratio</font>";
}
echo"$html";
-
$orderStoresArrayRelation_in,
$orderStoresArrayRelation,
$products,
- $productsColorsArray
-
+ $productsColorsArray,
+ $data_up,
+ $FiledsDataArray
;
$FiledsDataArray=[];
-
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value,color
+$sql = "SELECT field_name, product_id, store_id, value,color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id=''
AND field_name IN ('division_store_ratio','min_lot')
-AND value!=0 group by field_name, product_id, store_id, value,color ",[$orderId]);
+AND value!=0 group by field_name, product_id, store_id, value,color ";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- if(empty($row["color"])) $row["color"]=0;
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][0][$row["color"]]=$row["value"];
+ if (empty($row["color"])) {
+ $row["color"] = 0;
+ }
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][0][$row["color"]] = $row["value"];
}
}
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value,color
+$sql = "SELECT field_name, product_id, store_id, value,color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND store_id!=''
AND field_name IN ('quantity_zakup_new')
-AND value!=0 ",[$orderId]);
+AND value!=0 ";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- if(empty($row["color"])) $row["color"]=0;
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][$row["color"]] +=(int)$row["value"];
+ if (empty($row["color"])) {
+ $row["color"] = 0;
+ }
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][$row["color"]] =
+ ($FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][$row["color"]] ?? 0) + (int)$row["value"];
}
- //пробегаемся по всем продуктам
+//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
- // цикл по магазинам
- foreach($orderStoresArrayRelation as $storeId ) {
- // $s = $FiledsDataArray["division_store"][$productId][$storeId][0];
-
- $ceil = ($FiledsDataArray["quantity_zakup_new"][$productId][$storeId][0] ?? 0) * ($FiledsDataArray["division_store_ratio"][$productId][0][0] ?? 0);
- //округляем до мини мального лота деления
- $ceil=roundCoefficientLot2($ceil,$FiledsDataArray["min_lot"][$productId][0][0] ?? 0);
-
- $data_up[$productId][$storeId][0] =$ceil;
-
- if(!empty($FiledsDataArray["quantity_zakup_new"][$productId][$storeId][0]))
- //echo"<br> $name $storeId min_lot=".$FiledsDataArray["min_lot"][$productId][0][0]." заказ магазина=".$FiledsDataArray["quantity_zakup_new"][$productId][$storeId][0]." * division_store_ratio=".$FiledsDataArray["division_store_ratio"][$productId][0][0]." = $ceil";
-
-
- $data_up[$productId][0][0] +=$ceil ;
- // цикл по цвету товара
- foreach($productsColorsArray[$productId] ?? [] as $color) {
- $color=trim($color);
-
- $ceil=$FiledsDataArray["quantity_zakup_new"][$productId][$storeId][$color] * $FiledsDataArray["division_store_ratio"][$productId][0][$color];
- //округляем до мини мального лота деления
- $ceil=roundCoefficientLot2($ceil,$FiledsDataArray["min_lot"][$productId][0][$color]);
- $data_up[$productId][$storeId][$color] = $ceil;
- /*
- echo"<br> $name $color $storeId min_lot =
- ".$FiledsDataArray["min_lot"][$productId][0][$color]."
- ".$FiledsDataArray["quantity_zakup_new"][$productId][$storeId][$color]."
- * ".$FiledsDataArray["division_store_ratio"][$productId][0][$color]." = $ceil";
- */
-
- }
-
- }
+ // цикл по магазинам
+ foreach($orderStoresArrayRelation as $storeId ) {
+ // $s = $FiledsDataArray["division_store"][$productId][$storeId][0];
+
+ $ceil = ($FiledsDataArray["quantity_zakup_new"][$productId][$storeId][0] ?? 0) * ($FiledsDataArray["division_store_ratio"][$productId][0][0] ?? 0);
+ //округляем до мини мального лота деления
+ $ceil=roundCoefficientLot2($ceil,$FiledsDataArray["min_lot"][$productId][0][0] ?? 0);
+
+ $data_up[$productId][$storeId][0] = $ceil;
+
+// if (!empty($FiledsDataArray["quantity_zakup_new"][$productId][$storeId][0]))
+ //echo"<br> $name $storeId min_lot=".$FiledsDataArray["min_lot"][$productId][0][0]." заказ магазина=".$FiledsDataArray["quantity_zakup_new"][$productId][$storeId][0]." * division_store_ratio=".$FiledsDataArray["division_store_ratio"][$productId][0][0]." = $ceil";
+
+
+ $data_up[$productId][0][0] = ($data_up[$productId][0][0] ?? 0) + $ceil;
+ // цикл по цвету товара
+ foreach($productsColorsArray[$productId] ?? [] as $color) {
+ $color=trim($color);
+
+ $ceil = ($FiledsDataArray["quantity_zakup_new"][$productId][$storeId][$color] ?? 0) * ($FiledsDataArray["division_store_ratio"][$productId][0][$color] ?? 0);
+ //округляем до минимального лота деления
+ $ceil = roundCoefficientLot2($ceil, $FiledsDataArray["min_lot"][$productId][0][$color] ?? 0);
+ $data_up[$productId][$storeId][$color] = $ceil;
+ /*
+ echo"<br> $name $color $storeId min_lot =
+ ".$FiledsDataArray["min_lot"][$productId][0][$color]."
+ ".$FiledsDataArray["quantity_zakup_new"][$productId][$storeId][$color]."
+ * ".$FiledsDataArray["division_store_ratio"][$productId][0][$color]." = $ceil";
+ */
+ }
+ }
}
-<?
- $data=$db::getRows("SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
+<?php
+
+global $orderId, $data_up, $orderStoresArrayRelation_in, $products;
+
+$sql = "SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
field_name='division_store_hand' AND value!=0
AND store_id $orderStoresArrayRelation_in
AND color=''
- AND order_id=? AND store_id!='' group by product_id",[$orderId]);
- foreach($data as $row) {
- $data_up[$row["product_id"]][0][0] +=(int)$row["value"];
- }
+ AND order_id=? AND store_id!='' group by product_id";
+//var_dump($sql); var_dump($orderId); die;
+$data = $db::getRows($sql, [$orderId]);
+foreach($data as $row) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+}
- $data=$db::getRows("SELECT product_id,sum(value) as value, color FROM store_orders_fields_data WHERE
+$sql = "SELECT product_id,sum(value) as value, color FROM store_orders_fields_data WHERE
field_name='division_store_hand' AND value!=0
AND store_id $orderStoresArrayRelation_in
AND color!=''
- AND order_id=? AND store_id!='' group by product_id,color",[$orderId]);
- foreach($data as $row) {
- $data_up[$row["product_id"]][0][$row["color"]] +=(int)$row["value"];
- $data_up[$row["product_id"]][0][0] +=(int)$row["value"];
-
- echo"<br> +".$products[$row["product_id"]]." ".$row["color"]." = ".(int)$row["value"]." ";
- }
\ No newline at end of file
+ AND order_id=? AND store_id!='' group by product_id,color";
+//var_dump($sql); var_dump($orderId); die;
+$data = $db::getRows($sql, [$orderId]);
+foreach($data as $row) {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+
+ echo"<br> +". ($products[$row["product_id"]] ?? 0) . " " . ($row["color"] ?? 0) ." = " . (int)$row["value"] . " ";
+}
<?php
-global $orderId, $orderStoresArrayRelation_in, $products, $productsColorsArray;
+global $orderId, $data_up, $orderStoresArrayRelation_in, $products, $productsColorsArray, $FiledsDataArray;
//echo"<h5>Коэффицент деления division_stpore_ratio</h5>";
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value,color
+$sql = "SELECT field_name, product_id, value,color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id=''
AND field_name IN ('quantity_warehouseman_fact')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- if(empty($row["color"])) $row["color"]=0;
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]]=(int)$row["value"];
+ if (empty($row["color"])) {
+ $row["color"] = 0;
+ }
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] = (int)$row["value"];
}
$potreb=[];
- $data=$db::getRows("SELECT product_id, value,color FROM store_orders_fields_data WHERE
+$sql = "SELECT product_id, value,color FROM store_orders_fields_data WHERE
field_name='quantity_zakup_new' AND value>0
AND store_id $orderStoresArrayRelation_in
AND order_id='$orderId'
- AND store_id!=''");
- foreach($data as $row) {
- if(empty($row["color"])) $row["color"]=0;
- $potreb[$row["product_id"]][$row["color"]] +=(int)$row["value"];
- }
+ AND store_id!=''";
+//var_dump($sql);
+$data=$db::getRows($sql);
+foreach($data as $row) {
+ if (empty($row["color"])) {
+ $row["color"] = 0;
+ }
+ $potreb[$row["product_id"]][$row["color"]] = ($potreb[$row["product_id"]][$row["color"]] ?? 0) + (int)$row["value"];
+}
-//пробегаемся по всем продуктам
+//пробегаемся по всем продуктам
+$html = $html ?? '';
foreach($products as $productId => $name) {
- $potreb_all = $potreb[$productId][0] ?? 0;
- $quantity_warehouseman_fact=$FiledsDataArray["quantity_warehouseman_fact"][$productId][0];
-
-
-$html .="<br><b>$name</b> потребность =".$potreb_all."шт., получено по факту=".$quantity_warehouseman_fact."шт.";
-
-$division_store_ratio=1;
-if($potreb_all > $quantity_warehouseman_fact) {
-$division_store_ratio=round($quantity_warehouseman_fact/$potreb_all,2);
-
-}
-$html .="коэффициент <font color=red>$division_store_ratio</font>";
- $data_up[$productId][0][0] =$division_store_ratio;
-
-
- foreach($productsColorsArray[$productId] ?? [] as $color) {
- $color=trim($color);
- $division_store_ratio=1;
- if($potreb[$productId][$color] > $FiledsDataArray["quantity_warehouseman_fact"][$productId][$color]) {
- $division_store_ratio=round($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color]/$potreb[$productId][$color],2);
- }
- $data_up[$productId][0][$color] =$division_store_ratio ;
+ $potreb_all = $potreb[$productId][0] ?? 0;
+ $quantity_warehouseman_fact = $FiledsDataArray["quantity_warehouseman_fact"][$productId][0] ?? 0;
+
+ $html .="<br><b>$name</b> потребность =".$potreb_all."шт., получено по факту=".$quantity_warehouseman_fact."шт.";
+
+ $division_store_ratio = 1;
+ if($potreb_all > $quantity_warehouseman_fact) {
+ $division_store_ratio = round($quantity_warehouseman_fact / $potreb_all,2);
+ }
+ $html .= "коэффициент <font color=red>$division_store_ratio</font>";
+ $data_up[$productId][0][0] = $division_store_ratio;
+
+ foreach($productsColorsArray[$productId] ?? [] as $color) {
+ $color = trim($color);
+ $division_store_ratio = 1;
+ if (($potreb[$productId][$color] ?? 0) > ($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color] ?? 0)) {
+ $division_store_ratio = round(($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color] ?? 0) / $potreb[$productId][$color],2);
}
-
+ $data_up[$productId][0][$color] = $division_store_ratio;
+ }
}
//echo"$html";
-
<?php
-global $orderId, $orderStoresArrayRelation_in, $products, $orderStoresArrayRelation, $productsColorsArray;
+global $orderId, $data_up, $FiledsDataArray, $orderStoresArrayRelation_in, $products, $orderStoresArrayRelation, $productsColorsArray;
$data_up=[];
- $FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value,color
+$FiledsDataArray=[];
+$sql = "SELECT field_name, product_id, store_id, value,color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND store_id!=''
AND color!=''
AND field_name IN ('division_store','division_store_hand')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- // if(empty($row["color"])) $row["color"]=0;
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][$row["color"]]=(int)$row["value"];
+ // if(empty($row["color"])) $row["color"]=0;
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][$row["color"]] = (int)$row["value"];
}
- //пробегаемся по всем продуктам
-foreach($products as $productId => $name) {
- // echo"<br> <h2>$name</h2>";
- foreach($orderStoresArrayRelation as $storeId ) {
- // $s = $FiledsDataArray["division_store"][$productId][$storeId][0] + $FiledsDataArray["division_store_hand"][$productId][$storeId][0];
- // $data_up[$productId][$storeId][0] +=$s ;
- // $data_up[$productId][0][0] +=$s ;
-
- foreach($productsColorsArray[$productId] ?? [] as $color) {
- $color=trim($color);
- $s = ($FiledsDataArray["division_store"][$productId][$storeId][$color] ?? 0) + ($FiledsDataArray["division_store_hand"][$productId][$storeId][$color] ?? 0);
- $data_up[$productId][$storeId][$color] = ($data_up[$productId][$storeId][$color] ?? 0) + $s;
- $data_up[$productId][0][$color] = ($data_up[$productId][0][$color] ?? 0) + $s;
-
-
-
-
- // if($color=="белый" and !empty($s)) echo"<br> $color =$s ";
-
-
-
- }
-
- }
+//пробегаемся по всем продуктам
+foreach($products as $productId => $name) {
+ // echo"<br> <h2>$name</h2>";
+ foreach ($orderStoresArrayRelation as $storeId) {
+ // $s = $FiledsDataArray["division_store"][$productId][$storeId][0] + $FiledsDataArray["division_store_hand"][$productId][$storeId][0];
+ // $data_up[$productId][$storeId][0] +=$s ;
+ // $data_up[$productId][0][0] +=$s ;
+ foreach ($productsColorsArray[$productId] ?? [] as $color) {
+ $color = trim($color);
+ $s = ($FiledsDataArray["division_store"][$productId][$storeId][$color] ?? 0) + ($FiledsDataArray["division_store_hand"][$productId][$storeId][$color] ?? 0);
+ $data_up[$productId][$storeId][$color] = ($data_up[$productId][$storeId][$color] ?? 0) + $s;
+ $data_up[$productId][0][$color] = ($data_up[$productId][0][$color] ?? 0) + $s;
+ // if($color=="белый" and !empty($s)) echo"<br> $color =$s ";
+ }
+ }
}
//print_r($data_up["0f42fcb0-f647-11e9-a2be-b42e991aff6c"][0]);
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value,color
+$sql = "SELECT field_name, product_id, store_id, value,color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND store_id!=''
AND color=''
AND field_name IN ('division_store','division_store_hand')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][0] = +(int)$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][0] = ($FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]][0] ?? 0) + (int)$row["value"];
}
- //пробегаемся по всем продуктам
+
+//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
-// echo"<br> <h2>$name</h2>";
- foreach($orderStoresArrayRelation as $storeId ) {
- $s = ($FiledsDataArray["division_store"][$productId][$storeId][0] ?? 0) + ($FiledsDataArray["division_store_hand"][$productId][$storeId][0] ?? 0);
- $data_up[$productId][$storeId][0] = ($data_up[$productId][$storeId][0] ?? 0) + (int)$s;
- $data_up[$productId][0][0] = ($data_up[$productId][0][0] ?? 0) + (int)$s;
- }
+ // echo"<br> <h2>$name</h2>";
+ foreach($orderStoresArrayRelation as $storeId ) {
+ $s = ($FiledsDataArray["division_store"][$productId][$storeId][0] ?? 0) + ($FiledsDataArray["division_store_hand"][$productId][$storeId][0] ?? 0);
+ $data_up[$productId][$storeId][0] = ($data_up[$productId][$storeId][0] ?? 0) + (int)$s;
+ $data_up[$productId][0][0] = ($data_up[$productId][0][0] ?? 0) + (int)$s;
+ }
}
-
-
-
<?php
-global $orderId, $orderStoresArrayRelation_in, $products, $orderStoresArrayRelation;
+global $orderId, $data_up, $orderStoresArrayRelation_in, $products, $orderStoresArrayRelation;
- $FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, store_id, value
+$FiledsDataArray=[];
+$sql = "SELECT field_name, product_id, store_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND color=''
AND store_id!=''
AND field_name IN ('division_auto','division_hand')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]]=(int)$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["store_id"]] = (int)$row["value"];
}
- //пробегаемся по всем продуктам
-foreach($products as $productId => $name) {
-// echo"<br> <h2>$name</h2>";
- foreach($orderStoresArrayRelation as $storeId ) {
-
-
-
- $s = ($FiledsDataArray["division_auto"][$productId][$storeId] ?? 0) + ($FiledsDataArray["division_hand"][$productId][$storeId] ?? 0);
- $data_up[$productId][$storeId][0] = ($data_up[$productId][$storeId][0] ?? 0) + $s ;
- $data_up[$productId][0][0] = ($data_up[$productId][0][0] ?? 0) + $s ;
-
-
- }
-
-// echo" <br> =".$data_up[$productId][0][0]." ";
-
+//пробегаемся по всем продуктам
+foreach($products as $productId => $name) {
+ // echo"<br> <h2>$name</h2>";
+ foreach ($orderStoresArrayRelation as $storeId) {
+ $s = ($FiledsDataArray["division_auto"][$productId][$storeId] ?? 0) + ($FiledsDataArray["division_hand"][$productId][$storeId] ?? 0);
+ $data_up[$productId][$storeId][0] = ($data_up[$productId][$storeId][0] ?? 0) + $s ;
+ $data_up[$productId][0][0] = ($data_up[$productId][0][0] ?? 0) + $s ;
+ }
+ // echo" <br> =".$data_up[$productId][0][0]." ";
}
global $orderId, $orderStoresArrayRelation_in, $data_up;
- $data=$db::getRows("SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
+$sql = "SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
field_name='division_summ' AND value>0
AND store_id $orderStoresArrayRelation_in
AND order_id='$orderId'
- AND store_id!='' group by product_id, color");
- foreach($data as $row) {
- if (empty($row["color"])) {
- $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
- } else {
- $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
- }
- }
+ AND store_id!='' group by product_id, color";
+//var_dump($sql); die;
+$data = $db::getRows($sql);
+foreach($data as $row) {
+ if (empty($row["color"])) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+ } else {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
+ }
+}
<?php
-global $date_start_sale, $whereInProductsId;
+global $date_start_sale, $whereInProductsId, $data_up;
/*date_start - 7 day получили период поставок
Выбираем закупки входящие в этот период по дате старта продаж
if (!empty($date_start_sale)) {
$sql = "SELECT id FROM store_orders WHERE status>=6 AND date_start <='$date_start_sale' AND date_start>='$date_start_sale'::date -interval '7 day'";
+// var_dump($sql); die;
$data = $db::getRows($sql);
$whereInOrderId = "";
$i = 0;
if(!empty($whereInOrderId)) {
- $data=$db::getRows("SELECT product_id, store_id, value FROM store_orders_fields_data WHERE order_id IN ($whereInOrderId) AND product_id $whereInProductsId AND field_name='division_summ' AND color='' AND value>0 group by product_id, store_id");
+ $sql = "SELECT product_id, store_id, value FROM store_orders_fields_data WHERE order_id IN ($whereInOrderId) AND product_id $whereInProductsId AND field_name='division_summ' AND color='' AND value>0 group by product_id, store_id";
+// var_dump($sql); die;
+ $data=$db::getRows($sql);
foreach($data as $row) {
$data_up[$row["product_id"]][$row["store_id"]]["0"] = $row["value"];
$data_up[$row["product_id"]][0]["0"] = ($data_up[$row["product_id"]][0]["0"] ?? 0) + $row["value"];
<?php
-global $orderId, $order_date_add;
+global $orderId, $data_up, $order_date_add;
if(!empty($order_date_add) && $order_date_add!='000-00-00') {
-$sql = "SELECT id FROM store_orders
-WHERE date_add<='$order_date_add' AND date_add>='$order_date_add' - interval 7 day";
-var_dump($sql); die;
-$dataOrders2=$db::getRows($sql);
+ $sql = "SELECT id FROM store_orders
+ WHERE date_add<='$order_date_add' AND date_add>='$order_date_add' - interval 7 day";
+ //var_dump($sql); die;
+ $dataOrders2 = $db::getRows($sql);
-//echo"<b>Товар в пути участвуют заказы:</b>";
-$k=0; $w_orders="";
-foreach($dataOrders2 as $row) {
- if($k>0) $w_orders.=" ,"; $w_orders.= "'".$row["id"]."'"; $k++;
- // echo"<br> id=".$row["id"]." дата старта:".$row["date_add"]." ".$row["name"]."";
- }
+ //echo"<b>Товар в пути участвуют заказы:</b>";
+ $k=0; $w_orders="";
+ foreach($dataOrders2 as $row) {
+ if ($k>0) {
+ $w_orders.=" ,";
+ }
+ $w_orders .= "'" . $row["id"] . "'";
+ $k++;
+ // echo"<br> id=".$row["id"]." дата старта:".$row["date_add"]." ".$row["name"]."";
+ }
-if(!empty($w_orders)) {
-$w_orders=" AND order_id IN($w_orders) AND order_id!='$orderId'";
+ if(!empty($w_orders)) {
+ $w_orders=" AND order_id IN($w_orders) AND order_id!='$orderId'";
- $data2=$db::getRows("SELECT sum(value) as value, product_id, if(color='',0,color) as color
- FROM store_orders_fields_data
- WHERE field_name='quantity_zakup_fact' AND value>0
- $w_orders group by product_id,color");
-
- foreach($data2 as $row2) {
- $data_up[$row2["product_id"]][0][$row2["color"]]=$row2["value"];
- // echo"<br> ".$products[$row2["product_id"]]." = ".$row2["value"]." ";
- }
-}
+ $sql = "SELECT sum(value) as value, product_id, if(color='',0,color) as color
+ FROM store_orders_fields_data
+ WHERE field_name='quantity_zakup_fact' AND value>0
+ $w_orders group by product_id,color";
+// var_dump($sql); die;
+ $data2=$db::getRows($sql);
+
+ foreach($data2 as $row2) {
+ $data_up[$row2["product_id"]][0][$row2["color"]] = $row2["value"];
+ // echo"<br> ".$products[$row2["product_id"]]." = ".$row2["value"]." ";
+ }
+ }
}
\ No newline at end of file
if ($whereInProductsId != " in ()") {
- $data = $db::getRows("SELECT id,min_lot FROM products_1c_options WHERE id $whereInProductsId");
+ $sql = "SELECT id,min_lot FROM products_1c_options WHERE id $whereInProductsId";
+// var_dump($sql); die;
+ $data = $db::getRows($sql);
foreach ($data as $row) {
$data_up[$row["id"]][0][0] = $row["min_lot"];
}
<?php
-global $whereInProductsId;
+global $whereInProductsId, $data_up;
if ($whereInProductsId != " in ()") {
- $data = $db::getRows("SELECT id,min_order FROM products_1c_options WHERE id $whereInProductsId");
+ $sql = "SELECT id,min_order FROM products_1c_options WHERE id $whereInProductsId";
+// var_dump($sql); die;
+ $data = $db::getRows($sql);
foreach ($data as $row) {
$data_up[$row["id"]][0][0] = $row["min_order"];
}
<?php
-global $orderId;
+global $orderId, $data_up;
- $prices=[];
- $sql = "SELECT product_id, value FROM store_orders_fields_data WHERE field_name='purchase_price' AND value>0 AND order_id=" . ($orderId ?? 0). " AND store_id='' AND color='' group by product_id, value";
+$prices=[];
+$sql = "SELECT product_id, value FROM store_orders_fields_data WHERE field_name='purchase_price' AND value>0 AND order_id=" . ($orderId ?? 0). " AND store_id='' AND color='' group by product_id, value";
// var_dump($sql); die;
- $data=$db::getRows($sql);
- foreach($data as $row) $prices[$row["product_id"]]=$row["value"];
- $sql = "SELECT product_id,sum(value) as value, store_id FROM store_orders_fields_data WHERE field_name='quantity_zakup_new' AND value>0
+$data = $db::getRows($sql);
+foreach($data as $row) {
+ $prices[$row["product_id"]] = $row["value"];
+}
+
+$sql = "SELECT product_id,sum(value) as value, store_id FROM store_orders_fields_data WHERE field_name='quantity_zakup_new' AND value>0
AND order_id=" . ($orderId ?? 0) . " AND color='' AND store_id!='' group by product_id,store_id";
// var_dump($sql); die;
- $data=$db::getRows($sql);
- foreach($data as $row) {
- $s=intval($row["value"] * $prices[$row["product_id"]]);
- // echo"<br> ".$row["product_id"]." ".$row["value"]." * ".$prices[$row["product_id"]]." = $s ";
- $data_up[$row["product_id"]][$row["store_id"]][0] =$s;
- $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + $s;
- }
+$data=$db::getRows($sql);
+foreach($data as $row) {
+ $s = intval(($row["value"] ?? 0) * ($prices[$row["product_id"]] ?? 0));
+ // echo"<br> ".$row["product_id"]." ".$row["value"]." * ".$prices[$row["product_id"]]." = $s ";
+ $data_up[$row["product_id"]][$row["store_id"]][0] =$s;
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + $s;
+}
global $FiledsDataArray, $orderId, $products, $data_up;
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value
+$sql = "SELECT field_name, product_id, value
FROM store_orders_fields_data
WHERE order_id=? AND color='' AND store_id=''
-AND field_name IN ('purchase_price_zakup','quantity_zakup_fact')",[$orderId]);
-
+AND field_name IN ('purchase_price_zakup','quantity_zakup_fact')";
+//var_dump($sql); var_dump($orderId); die;
+$dataF=$db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]]=$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]] = $row["value"];
}
-
foreach($products ?? [] as $product_id => $name){
$data_up[$product_id][0][0] = round(($FiledsDataArray["purchase_price_zakup"][$product_id] ?? 0) * ($FiledsDataArray["quantity_zakup_fact"][$product_id] ?? 0),2);
}
<?php
+global $orderId, $data_up, $FiledsDataArray, $products, $orderStoresArrayRelation;
+
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value
+$sql = "SELECT field_name, product_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND color=''
AND store_id=''
AND field_name IN ('quantity_warehouseman_fact','quantity_zakup_fact')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]]=(int)$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]] = (int)$row["value"];
}
- //пробегаемся по всем продуктам
+
+//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
- // echo"<br> <h2>$name</h2>";
- foreach($orderStoresArrayRelation as $storeId ) {
-
- $data_up[$productId][0][0] = ( $FiledsDataArray["quantity_warehouseman_fact"][$productId] - $FiledsDataArray["quantity_zakup_fact"][$productId] );
- }
-
+ // echo"<br> <h2>$name</h2>";
+ foreach($orderStoresArrayRelation as $storeId ) {
+ $data_up[$productId][0][0] = (($FiledsDataArray["quantity_warehouseman_fact"][$productId] ?? 0)
+ - ($FiledsDataArray["quantity_zakup_fact"][$productId] ?? 0));
+ }
}
-<?
+<?php
+
/*
$data=$db::getRows("SELECT sum(value) as value,color FROM store_orders_fields_data WHERE
field_name='purchase_logistic' AND value>0
if ($whereInProductsId != " in ()") {
$sql = "SELECT product_id, price FROM prices WHERE product_id $whereInProductsId";
+// var_dump($sql); die;
$data = $db::getRows($sql);
foreach ($data as $row) {
-<?
+<?php
+
/*
$FiledsDataArray=[];
$dataF=$db::getRows("SELECT field_name, product_id, store_id, value
<?php
-global $orderId, $products, $FiledsDataArray;
+global $orderId, $products, $FiledsDataArray, $data_up;
-$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value
+$FiledsDataArray = [];
+$sql = "SELECT field_name, product_id, value
FROM store_orders_fields_data
WHERE order_id=? AND color='' AND store_id=''
-AND field_name IN ('purchase_price','quantity_zakup_fact')",[$orderId]);
+AND field_name IN ('purchase_price','quantity_zakup_fact')";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]]=$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]] = $row["value"];
}
-
foreach($products ?? [] as $product_id => $name){
- // розничная цена в рублях на сумму закупки по факту закупщиком
- $data_up[$product_id][0][0] = round(($FiledsDataArray["purchase_price"][$product_id] ?? 0) * ($FiledsDataArray["quantity_zakup_fact"][$product_id] ?? 0));
-
-}
+ // розничная цена в рублях на сумму закупки по факту закупщиком
+ $data_up[$product_id][0][0] = round(($FiledsDataArray["purchase_price"][$product_id] ?? 0) * ($FiledsDataArray["quantity_zakup_fact"][$product_id] ?? 0));
+}
FROM store_planogram WHERE quantity>0
AND product_id $whereInProductsId
AND store_id $orderStoresArrayRelation_in group by product_id, color, store_id, quantity";
+// var_dump($sql); die;
$store_planogram = $db::getRows($sql);
foreach ($store_planogram as $row) {
global $orderStoresArrayRelation_in, $whereInProductsId, $data_up;
-$date_id=$db::getValue("SELECT date_id FROM store_products_fact order by date_id DESC LIMIT 1");
+$sql = "SELECT date_id FROM store_products_fact order by date_id DESC LIMIT 1";
+//var_dump($sql); die;
+$date_id = $db::getValue($sql);
if ($whereInProductsId != " in ()") {
$sql = "SELECT product_id,quantity, store_id,color FROM store_products_fact WHERE quantity>0
AND date_id=?
AND store_id $orderStoresArrayRelation_in
AND product_id $whereInProductsId";
-
+// var_dump($sql); var_dump($date_id); die;
$store_products_fact = $db::getRows($sql, [$date_id]);
foreach ($store_products_fact as $row) {
$data_up[$row["product_id"]][$row["store_id"]][$row["color"]] = ($data_up[$row["product_id"]][$row["store_id"]][$row["color"]] ?? 0) + $row["quantity"];
+<?php
\ No newline at end of file
global $whereInProductsId, $orderStoresArrayRelation_in, $data_up;
if ($whereInProductsId != " in ()") {
- $data2 = $db::getRows("SELECT product_id,store_id,quantity FROM balances WHERE quantity>0
+ $sql = "SELECT product_id,store_id,quantity FROM balances WHERE quantity>0
AND product_id $whereInProductsId
-AND store_id $orderStoresArrayRelation_in");
+AND store_id $orderStoresArrayRelation_in";
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
foreach ($data2 as $row2) {
$data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $row2["quantity"];
$data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $row2["quantity"];
-<?
+<?php
- $data2=$db::getRows("SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
+global $orderId, $data_up, $orderStoresArrayRelation_in;
+
+$sql = "SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
field_name='quantity_warehouseman_fact' AND value>0
AND store_id $orderStoresArrayRelation_in
- AND order_id='$orderId' AND color='' AND store_id!='' group by product_id");
- foreach($data2 as $row2) {
- $data_up[$row2["product_id"]][0][0] +=(int)$row2["value"];
- }
+ AND order_id=" . ($orderId ?? 0) . " AND color='' AND store_id!='' group by product_id";
+//var_dump($sql); die;
+$data2=$db::getRows($sql);
+foreach($data2 as $row2) {
+ $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + (int)$row2["value"];
+}
-<?
+<?php
+
+global $orderId, $data_up, $whereInProductsId;
// считаем получено по факту кладовщиком от закупок частей.
-$data=$db::getRows("SELECT id FROM store_orders WHERE related_order_id='$orderId'");
+$sql = "SELECT id FROM store_orders WHERE related_order_id=" . ($orderId ?? 0);
+//var_dump($sql); die;
+$data = $db::getRows($sql);
$whereInOrderId="";
$i=0;
foreach($data as $row) {
- $whereInOrderId .=" '".$row["id"]."' ";
- if($i<(count($data)-1)) $whereInOrderId .=" , ";
- $i++;
+ $whereInOrderId .=" '".$row["id"]."' ";
+ if ($i<(count($data)-1)) {
+ $whereInOrderId .=" , ";
+ }
+ $i++;
}
if(!empty($whereInOrderId)) {
-
-$data=$db::getRows("SELECT order_id,product_id, sum(value) value, color FROM store_orders_fields_data WHERE
-order_id IN ($whereInOrderId) AND product_id $whereInProductsId
-AND field_name='quantity_warehouseman_defective' AND store_id='' AND value>0 group by order_id,product_id,color");
- foreach($data as $row) {
- if(!empty($row["color"])) $data_up[$row["product_id"]][0][$row["color"]] +=$row["value"];
- if(empty($row["color"])) $data_up[$row["product_id"]][0][0] +=$row["value"];
- //echo"<br> order=".$row["order_id"]." ".$products[$row["product_id"]]." = ".$row["color"]." = ".$row["value"]."";
-
- }
+ $sql = "SELECT order_id,product_id, sum(value) value, color FROM store_orders_fields_data WHERE
+ order_id IN ($whereInOrderId) AND product_id $whereInProductsId
+ AND field_name='quantity_warehouseman_defective' AND store_id='' AND value>0 group by order_id,product_id,color";
+// var_dump($sql); die;
+ $data = $db::getRows($sql);
+ foreach($data as $row) {
+ if (!empty($row["color"])) {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + $row["value"];
+ }
+ if (empty($row["color"])) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + $row["value"];
+ }
+ //echo"<br> order=".$row["order_id"]." ".$products[$row["product_id"]]." = ".$row["color"]." = ".$row["value"]."";
+ }
}
\ No newline at end of file
-<?
+<?php
+
+global $orderId, $data_up, $whereInProductsId;
// считаем получено по факту кладовщиком от закупок частей.
-$data=$db::getRows("SELECT id FROM store_orders WHERE related_order_id='$orderId'");
+$sql = "SELECT id FROM store_orders WHERE related_order_id=" . ($orderId ?? 0);
+//var_dump($sql); die;
+$data = $db::getRows($sql);
$whereInOrderId="";
$i=0;
foreach($data as $row) {
- $whereInOrderId .=" '".$row["id"]."' ";
- if($i<(count($data)-1)) $whereInOrderId .=" , ";
- $i++;
+ $whereInOrderId .=" '".$row["id"]."' ";
+ if ($i<(count($data)-1)) {
+ $whereInOrderId .=" , ";
+ }
+ $i++;
}
-if(!empty($whereInOrderId)) {
-
-$data=$db::getRows("SELECT product_id, sum(value) value, if(color='',0,color) as color FROM store_orders_fields_data WHERE
+if (!empty($whereInOrderId)) {
+ $data=$db::getRows("SELECT product_id, sum(value) value, if(color='',0,color) as color FROM store_orders_fields_data WHERE
order_id IN ($whereInOrderId) AND product_id $whereInProductsId
AND field_name='quantity_warehouseman_fact' AND store_id='' AND value>0 group by product_id,color");
- foreach($data as $row) {
-
- $data_up[$row["product_id"]][0][$row["color"]]=$row["value"];
- if(empty($row["color"])) $data_up[$row["product_id"]][0][0] +=$row["value"];
-
- // echo"<br> ".$row["product_id"]." = store_id=".$row["store_id"]." ".$row["value"]."";
-
- }
+ foreach($data as $row) {
+ $data_up[$row["product_id"]][0][$row["color"]] = $row["value"];
+ if (empty($row["color"])) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + $row["value"];
+ }
+ // echo"<br> ".$row["product_id"]." = store_id=".$row["store_id"]." ".$row["value"]."";
+ }
}
\ No newline at end of file
-<?
+<?php
+
+global $orderId, $data_up, $whereInProductsId;
// считаем получено по факту кладовщиком от закупок частей.
-$data=$db::getRows("SELECT id FROM store_orders WHERE related_order_id='$orderId'");
+$sql = "SELECT id FROM store_orders WHERE related_order_id=" . ($orderId ?? 0);
+//var_dump($sql); die;
+$data = $db::getRows($sql);
$whereInOrderId="";
$i=0;
foreach($data as $row) {
- $whereInOrderId .=" '".$row["id"]."' ";
- if($i<(count($data)-1)) $whereInOrderId .=" , ";
- $i++;
+ $whereInOrderId .= " '" . $row["id"] . "' ";
+ if ($i<(count($data)-1)) {
+ $whereInOrderId .= " , ";
+ }
+ $i++;
}
if(!empty($whereInOrderId)) {
-
-$data=$db::getRows("SELECT order_id,product_id, sum(value) value, color FROM store_orders_fields_data WHERE
+ $sql = "SELECT order_id,product_id, sum(value) value, color FROM store_orders_fields_data WHERE
order_id IN ($whereInOrderId) AND product_id $whereInProductsId
-AND field_name in('quantity_warehouseman_defective','quantity_warehouseman_fact') AND store_id='' AND value>0 group by order_id,product_id,color");
- foreach($data as $row) {
- if(!empty($row["color"])) $data_up[$row["product_id"]][0][$row["color"]] +=$row["value"];
- if(empty($row["color"])) $data_up[$row["product_id"]][0][0] +=$row["value"];
- //echo"<br> order=".$row["order_id"]." ".$products[$row["product_id"]]." = ".$row["color"]." = ".$row["value"]."";
+AND field_name in('quantity_warehouseman_defective','quantity_warehouseman_fact') AND store_id='' AND value>0 group by order_id,product_id,color";
+// var_dump($sql); die;
+ $data = $db::getRows($sql);
+ foreach($data as $row) {
+ if (!empty($row["color"])) {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + $row["value"];
+ }
+ if (empty($row["color"])) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + $row["value"];
+ }
+ //echo"<br> order=".$row["order_id"]." ".$products[$row["product_id"]]." = ".$row["color"]." = ".$row["value"]."";
}
}
-
-$data=$db::getRows("SELECT order_id,product_id, sum(value) value, color FROM store_orders_fields_data WHERE
+$sql = "SELECT order_id,product_id, sum(value) value, color FROM store_orders_fields_data WHERE
order_id=? AND product_id $whereInProductsId
-AND field_name in('quantity_warehouseman_defective','quantity_warehouseman_fact') AND store_id='' AND value>0 group by order_id,product_id,color",[$orderId]);
- foreach($data as $row) {
- if(!empty($row["color"])) $data_up[$row["product_id"]][0][$row["color"]] +=$row["value"];
- if(empty($row["color"])) $data_up[$row["product_id"]][0][0] +=$row["value"];
- //echo"<br> order=".$row["order_id"]." ".$products[$row["product_id"]]." = ".$row["color"]." = ".$row["value"]."";
+AND field_name in('quantity_warehouseman_defective','quantity_warehouseman_fact') AND store_id='' AND value>0 group by order_id,product_id,color";
+//var_dump($sql); var_dump($orderId); die;
+$data = $db::getRows($sql, [$orderId]);
+foreach($data as $row) {
+ if (!empty($row["color"])) {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + $row["value"];
+ }
+ if (empty($row["color"])) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + $row["value"];
}
+ //echo"<br> order=".$row["order_id"]." ".$products[$row["product_id"]]." = ".$row["color"]." = ".$row["value"]."";
+}
<?php
-$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value
+global $orderId, $data_up, $products, $orderStoresArrayRelation, $FiledsDataArray;
+
+$FiledsDataArray = [];
+$sql = "SELECT field_name, product_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND color=''
AND store_id=''
AND field_name IN ('quantity_zakup_fact','purchase_price')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]]=$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]] = $row["value"];
}
- //пробегаемся по всем продуктам
+
+//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
- // echo"<br> <h2>$name</h2>";
- foreach($orderStoresArrayRelation as $storeId ) {
- $data_up[$productId][0][0] = round( $FiledsDataArray["purchase_price"][$productId] * $FiledsDataArray["quantity_zakup_fact"][$productId] );
- }
-
+ // echo"<br> <h2>$name</h2>";
+ foreach($orderStoresArrayRelation as $storeId ) {
+ $data_up[$productId][0][0] = round( ($FiledsDataArray["purchase_price"][$productId] ?? 0) * ($FiledsDataArray["quantity_zakup_fact"][$productId] ?? 0));
+ }
}
-<?
+<?php
+global $orderId, $data_up, $orderStoresArrayRelation_in;
- $data=$db::getRows("SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
+$sql = "SELECT product_id,sum(value) as value,color FROM store_orders_fields_data WHERE
field_name='quantity_zakup_new' AND value>0
AND store_id $orderStoresArrayRelation_in
AND store_id!=''
- AND order_id=? AND color!='' AND store_id!='' group by product_id,store_id,color",[$orderId]);
- foreach($data as $row) {
- $data_up[$row["product_id"]][0][$row["color"]] +=(int)$row["value"];
- // $data_up[$row["product_id"]][0][0] +=(int)$row["value"];
- // echo"<br>Всего quantity_zakup_new ".$products[$row["product_id"]]." = ".$row["value"]." ";
- }
+ AND order_id=? AND color!='' AND store_id!='' group by product_id,store_id,color";
+//var_dump($sql); var_dump($orderId); die;
+$data = $db::getRows($sql, [$orderId]);
+foreach($data as $row) {
+ $data_up[$row["product_id"]][0][$row["color"]] = ($data_up[$row["product_id"]][0][$row["color"]] ?? 0) + (int)$row["value"];
+ // $data_up[$row["product_id"]][0][0] +=(int)$row["value"];
+ // echo"<br>Всего quantity_zakup_new ".$products[$row["product_id"]]." = ".$row["value"]." ";
+}
- $data=$db::getRows("SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
+$sql = "SELECT product_id,sum(value) as value FROM store_orders_fields_data WHERE
field_name='quantity_zakup_new' AND value>0
AND store_id $orderStoresArrayRelation_in
AND store_id!=''
- AND order_id=? AND color='' AND store_id!='' group by product_id",[$orderId]);
- foreach($data as $row) {
- $data_up[$row["product_id"]][0][0] +=(int)$row["value"];
-
- }
+ AND order_id=? AND color='' AND store_id!='' group by product_id";
+//var_dump($sql); var_dump($orderId); die;
+$data = $db::getRows($sql, [$orderId]);
+foreach($data as $row) {
+ $data_up[$row["product_id"]][0][0] = ($data_up[$row["product_id"]][0][0] ?? 0) + (int)$row["value"];
+}
<?php
-global $whereInProductsId, $orderStoresArrayRelation_in, $date_start_sale;
+global $whereInProductsId, $orderStoresArrayRelation_in, $date_start_sale, $data_up;
-$day_sales=7*4;
-$data_up=[];
+$day_sales = 7 * 4;
+$data_up = [];
if (!empty($date_start_sale)) {
- $data2 = $db::getRows("SELECT i.product_id, s.store_id_1c as store_id,sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
+ $sql = "SELECT i.product_id, s.store_id_1c as store_id,sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
FROM sales as s, sales_products as i
WHERE s.id=i.check_id AND i.product_id $whereInProductsId
AND s.store_id_1c $orderStoresArrayRelation_in
-AND s.date<='$date_start_sale 00:00:00' AND s.date>='$date_start_sale'::date -interval '$day_sales day' group BY i.product_id, s.store_id_1c ");
+AND s.date<='$date_start_sale 00:00:00' AND s.date>='$date_start_sale'::date -interval '$day_sales day' group BY i.product_id, s.store_id_1c ";
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
foreach ($data2 as $row2) {
- $cnt = round(($row2["sale_cnt"] - $row2["vozvr_cnt"]) / 4);
+ $cnt = round((($row2["sale_cnt"] ?? 0) - ($row2["vozvr_cnt"] ?? 0)) / 4);
if (!empty($cnt)) {
$data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $cnt;
$data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $cnt;
<?php
-global $productGroupArray, $configGroupProducts, $orderStoresArrayRelation_in, $date_start_division;
+global $data_up, $productGroupArray, $configGroupProducts, $orderStoresArrayRelation_in, $date_start_division;
// пробегаем по каждому типу товара и группируем запросы к БД
-foreach($productGroupArray as $group =>$pArray) {
-$day_sales=$configGroupProducts[$group]["day_sales"] ?? 0;
-//echo"<br>+++ <h1>$group дней $day_sales</h1> ";
+foreach($productGroupArray as $group => $pArray) {
+ $day_sales=$configGroupProducts[$group]["day_sales"] ?? 0;
+ //echo"<br>+++ <h1>$group дней $day_sales</h1> ";
-//собираем условие по выборке товаров
-$whereInProductsId_in="";
-$j=0;
-foreach($pArray as $prodId) {if($j>0) $whereInProductsId_in .=","; $whereInProductsId_in .="'$prodId'"; $j++;}
+ //собираем условие по выборке товаров
+ $whereInProductsId_in="";
+ $j=0;
+ foreach($pArray as $prodId) {
+ if ($j>0) {
+ $whereInProductsId_in .=",";
+ }
+ $whereInProductsId_in .="'$prodId'";
+ $j++;
+ }
-if(!empty($whereInProductsId_in)) {
-$sql = "SELECT i.product_id, sum(CASE WHEN s.operation='Продажа' THEN i.summ ELSE 0 END) as sale, s.store_id_1c as store_id, sum(CASE WHEN s.operation='Возврат' THEN i.summ ELSE 0 END) as vozvr
-FROM sales as s, sales_products as i
-WHERE s.id=i.check_id
-AND i.product_id in($whereInProductsId_in)
-AND s.store_id_1c $orderStoresArrayRelation_in
- AND s.date<='$date_start_division 00:00:00' AND s.date>='$date_start_division'::date -interval '$day_sales day' group BY i.product_id, s.store_id, s.operation, s.store_id_1c";
-//var_dump($sql); die;
-$data2=$db::getRows($sql);
-foreach($data2 as $row2) {
-$sale=$row2["sale"]-$row2["vozvr"];
-$sale=(int)$sale;
-if(!empty($sale)) {
-$data_up[$row2["product_id"]][$row2["store_id"]][0]=$sale;
-$data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $sale;
+ if (!empty($whereInProductsId_in)) {
+ $sql = "SELECT i.product_id, sum(CASE WHEN s.operation='Продажа' THEN i.summ ELSE 0 END) as sale, s.store_id_1c as store_id, sum(CASE WHEN s.operation='Возврат' THEN i.summ ELSE 0 END) as vozvr
+ FROM sales as s, sales_products as i
+ WHERE s.id=i.check_id
+ AND i.product_id in($whereInProductsId_in)
+ AND s.store_id_1c $orderStoresArrayRelation_in
+ AND s.date<='$date_start_division 00:00:00' AND s.date>='$date_start_division'::date -interval '$day_sales day' group BY i.product_id, s.store_id, s.operation, s.store_id_1c";
+ //var_dump($sql); die;
+ $data2 = $db::getRows($sql);
+ foreach($data2 as $row2) {
+ $sale = ($row2["sale"] ?? 0) - ($row2["vozvr"] ?? 0);
+ $sale = (int)$sale;
+ if(!empty($sale)) {
+ $data_up[$row2["product_id"]][$row2["store_id"]][0] = $sale;
+ $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $sale;
+ }
+ }
+ }
}
-}
-}
-}
\ No newline at end of file
<?php
-global $productGroupArray, $configGroupProducts, $orderStoresArrayRelation_in, $date_start_division;
+global $data_up, $productGroupArray, $configGroupProducts, $orderStoresArrayRelation_in, $date_start_division;
// пробегаем по каждому типу товара и группируем запросы к БД
foreach($productGroupArray as $group =>$pArray) {
-$day_sales=$configGroupProducts[$group]["day_sales"] ?? 0;
-//echo"<br>+++ <h1>$group дней $day_sales</h1> ";
+ $day_sales = $configGroupProducts[$group]["day_sales"] ?? 0;
+ //echo"<br>+++ <h1>$group дней $day_sales</h1> ";
-//собираем условие по выборке товаров
-$whereInProductsId_in="";
-$j=0;
-foreach($pArray as $prodId) {if($j>0) $whereInProductsId_in .=","; $whereInProductsId_in .="'$prodId'"; $j++;}
+ //собираем условие по выборке товаров
+ $whereInProductsId_in="";
+ $j=0;
+ foreach ($pArray as $prodId) {
+ if ($j>0) {
+ $whereInProductsId_in .=",";
+ }
+ $whereInProductsId_in .="'$prodId'";
+ $j++;
+ }
-if(!empty($whereInProductsId_in)) {
-
-$data2=$db::getRows("SELECT i.product_id, s.store_id_1c as store_id, sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt,
-sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
-FROM sales as s, sales_products as i
-WHERE s.id=i.check_id AND i.product_id in($whereInProductsId_in)
-AND s.store_id_1c $orderStoresArrayRelation_in
-AND s.date<='$date_start_division 00:00:00'
-AND s.date>='$date_start_division'::date -interval '$day_sales day' group BY i.product_id, s.store_id_1c, s.operation ");
- foreach($data2 as $row2) {
- $cnt=$row2["sale_cnt"]-$row2["vozvr_cnt"];
- $cnt=(int)$cnt;
- if(!empty($cnt)) {
- $data_up[$row2["product_id"]][$row2["store_id"]][0]=$cnt;
- $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $cnt;
- }
- }
-}
-
-
-}
\ No newline at end of file
+ if (!empty($whereInProductsId_in)) {
+ $sql = "SELECT i.product_id, s.store_id_1c as store_id, sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt,
+ sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
+ FROM sales as s, sales_products as i
+ WHERE s.id=i.check_id AND i.product_id in($whereInProductsId_in)
+ AND s.store_id_1c $orderStoresArrayRelation_in
+ AND s.date<='$date_start_division 00:00:00'
+ AND s.date>='$date_start_division'::date -interval '$day_sales day' group BY i.product_id, s.store_id_1c, s.operation ");
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
+ foreach ($data2 as $row2) {
+ $cnt = ($row2["sale_cnt"] ?? 0) - ($row2["vozvr_cnt"] ?? 0);
+ $cnt = (int)$cnt;
+ if (!empty($cnt)) {
+ $data_up[$row2["product_id"]][$row2["store_id"]][0] = $cnt;
+ $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $cnt;
+ }
+ }
+ }
+}
//массив с товарами из данной закупки разнесенных по категориям
foreach($productGroupArray as $group =>$pArray) {
+ //собираем условие по выборке товаров
+ $whereInProductsId_in="";
+ $j=0;
+ foreach($pArray as $prodId) {
+ if ($j>0) {
+ $whereInProductsId_in .=",";
+ }
+ $whereInProductsId_in .="'$prodId'";
+ $j++;
+ }
-
-//собираем условие по выборке товаров
-$whereInProductsId_in="";
-$j=0;
-foreach($pArray as $prodId) {
-
- if($j>0) $whereInProductsId_in .=","; $whereInProductsId_in .="'$prodId'"; $j++;}
-
-if(!empty($whereInProductsId_in)) {
-$day_sales=$configGroupProducts[$group]["day_sales"] ?? 0; // массив группы товаров с данными за какоц период считать статистику в днях
-}
+ if (!empty($whereInProductsId_in)) {
+ $day_sales = $configGroupProducts[$group]["day_sales"] ?? 0; // массив группы товаров с данными за какой период считать статистику в днях
+ }
}
if (!empty($date_start_sale)) {
- $data2 = $db::getRows("SELECT i.product_id, s.store_id_1c as store_id,sum(CASE WHEN s.operation='Продажа' THEN i.summ ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.summ ELSE 0 END) as vozvr_cnt
-FROM sales as s, sales_products as i
-WHERE s.id=i.check_id AND
-i.product_id $whereInProductsId
-AND s.store_id_1c $orderStoresArrayRelation_in
-AND s.date<='$date_start_sale 00:00:00' AND s.date>='$date_start_sale'::date -interval '7 day' group BY i.product_id, s.store_id_1c ");
+ $sql = "SELECT i.product_id, s.store_id_1c as store_id,sum(CASE WHEN s.operation='Продажа' THEN i.summ ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.summ ELSE 0 END) as vozvr_cnt
+ FROM sales as s, sales_products as i
+ WHERE s.id=i.check_id AND
+ i.product_id $whereInProductsId
+ AND s.store_id_1c $orderStoresArrayRelation_in
+ AND s.date<='$date_start_sale 00:00:00' AND s.date>='$date_start_sale'::date -interval '7 day' group BY i.product_id, s.store_id_1c ";
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
foreach ($data2 as $row2) {
- $cnt = $row2["sale_cnt"] - $row2["vozvr_cnt"];
+ $cnt = ($row2["sale_cnt"] ?? 0) - ($row2["vozvr_cnt"] ?? 0);
$cnt = (int)$cnt;
if (!empty($cnt)) {
$data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $cnt;
$data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $cnt;
-
// echo"<br> sales_amount ".$products[$row2["product_id"]]." ".$row2["store_id"]." $cnt ";
}
}
global $whereInProductsId, $orderStoresArrayRelation_in, $date_start_sale, $data_up;
-$data_up=[];
-$day_sales=7;
+$data_up = [];
+$day_sales = 7;
if (!empty($date_start_sale)) {
$sql = "SELECT i.product_id, s.store_id_1c as store_id, sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
WHERE s.id=i.check_id AND i.product_id $whereInProductsId
AND s.store_id_1c $orderStoresArrayRelation_in
AND s.date<='$date_start_sale 00:00:00' AND s.date>='$date_start_sale'::date -interval '$day_sales day' group BY i.product_id, s.store_id_1c ";
+// var_dump($sql); die;
$data2 = $db::getRows($sql);
foreach ($data2 as $row2) {
- $cnt = $row2["sale_cnt"] - $row2["vozvr_cnt"];
+ $cnt = ($row2["sale_cnt"] ?? 0) - ($row2["vozvr_cnt"] ?? 0);
$cnt = (int)$cnt;
if (!empty($cnt)) {
$data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $cnt;
global $whereInProductsId, $orderStoresArrayRelation_in, $date_start_division, $data_up;
-$day_sales=7*4;
-$data2=$db::getRows("SELECT i.product_id, s.store_id_1c as store_id,sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
+$day_sales = 7*4;
+$sql = "SELECT i.product_id, s.store_id_1c as store_id,sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
FROM sales as s, sales_products as i
WHERE s.id=i.check_id AND i.product_id $whereInProductsId
AND store_id_1c $orderStoresArrayRelation_in
-AND s.date<='$date_start_division 00:00:00' AND s.date>=('$date_start_division'::date - '$day_sales day'::interval) group BY i.product_id, s.store_id_1c ");
- foreach($data2 as $row2) {
- $cnt=round(($row2["sale_cnt"]-$row2["vozvr_cnt"])/4);
- if(!empty($cnt)) {
- $data_up[$row2["product_id"]][$row2["store_id"]][0] =($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $cnt;
- $data_up[$row2["product_id"]][0][0] =($data_up[$row2["product_id"]][0][0] ?? 0) + $cnt;
- }
- }
+AND s.date<='$date_start_division 00:00:00' AND s.date>=('$date_start_division'::date - '$day_sales day'::interval) group BY i.product_id, s.store_id_1c ";
+//var_dump($sql); die;
+$data2 = $db::getRows($sql);
+foreach($data2 as $row2) {
+ $cnt = round((($row2["sale_cnt"] ?? 0) - ($row2["vozvr_cnt"] ?? 0))/4);
+ if (!empty($cnt)) {
+ $data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $cnt;
+ $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $cnt;
+ }
+}
<?php
-global $whereInProductsId;
+global $whereInProductsId, $data_up;
/* scheduled_delivery_cnt
«Плановая поставка» новая ячейка
Берем закупки со статусом «Товар в пути» - с этим товаром - на каждый магазин сколько заказа магазин из ячееки «Заказ закупщика NEW» AND date_start <='$date_start_sale' AND date_start>='$date_start_sale' -interval 27 day
*/
-$data=$db::getRows("SELECT id FROM store_orders WHERE status=5");
+$sql = "SELECT id FROM store_orders WHERE status=5";
+//var_dump($sql); die;
+$data = $db::getRows($sql);
$whereInOrderId="";
$i=0;
foreach($data as $row) {
- $whereInOrderId .=" '".$row["id"]."' ";
- if($i<(count($data)-1)) $whereInOrderId .=" , ";
- $i++;
+ $whereInOrderId .= " '" . $row["id"] . "' ";
+ if ($i<(count($data)-1)) {
+ $whereInOrderId .= " , ";
+ }
+ $i++;
}
if(!empty($whereInOrderId) && $whereInProductsId != " in ()") {
-$sql = "SELECT product_id, store_id, value FROM store_orders_fields_data WHERE
+ $sql = "SELECT product_id, store_id, value FROM store_orders_fields_data WHERE
order_id IN ($whereInOrderId) AND product_id $whereInProductsId
AND field_name='quantity_zakup_new' AND color='' AND value>0 group by product_id, store_id, value";
-$data=$db::getRows($sql);
- foreach($data as $row) {
- $data_up[$row["product_id"]][$row["store_id"]]["0"]=$row["value"];
- $data_up[$row["product_id"]][0]["0"] = ($data_up[$row["product_id"]][0]["0"] ?? 0) + $row["value"]; // echo"<br> ".$row["product_id"]." = store_id=".$row["store_id"]." ".$row["value"]."";
-
- }
-}
\ No newline at end of file
+// var_dump($sql); die;
+ $data=$db::getRows($sql);
+ foreach($data as $row) {
+ $data_up[$row["product_id"]][$row["store_id"]]["0"] = $row["value"];
+ $data_up[$row["product_id"]][0]["0"] = ($data_up[$row["product_id"]][0]["0"] ?? 0) + $row["value"]; // echo"<br> ".$row["product_id"]." = store_id=".$row["store_id"]." ".$row["value"]."";
+ }
+}
-<?
+<?php
- $scoreArr=[];
-$dataF=$db::getRows("SELECT product_id, store_id, value
+global $orderId, $data_up, $orderStoresArrayRelation_in, $products, $orderStoresArrayRelation, $productsColorsArray;
+
+$scoreArr = [];
+$sql = "SELECT product_id, store_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND color=''
AND store_id!=''
AND field_name IN ('score')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $scoreArr[$row["product_id"]][$row["store_id"]]=(int)$row["value"];
+ $scoreArr[$row["product_id"]][$row["store_id"]] = (int)$row["value"];
}
- //пробегаемся по всем продуктам
+
+//пробегаемся по всем продуктам
foreach($products as $productId => $name) {
-// echo"<br> <h2>$name</h2>";
-$scoreall=0; $cnt=0;
- foreach($orderStoresArrayRelation as $storeId ) {
- if($scoreArr[$productId][$storeId]>0) {
- $scoreall += $scoreArr[$productId][$storeId];
- $cnt++;
+ // echo"<br> <h2>$name</h2>";
+ $scoreall = 0;
+ $cnt = 0;
+ foreach($orderStoresArrayRelation as $storeId ) {
+ if (($scoreArr[$productId][$storeId] ?? 0) > 0) {
+ $scoreall += $scoreArr[$productId][$storeId];
+ $cnt++;
+ }
+ }
+ if ($scoreall > 0) {
+ $data_up[$productId][0][0] = round($scoreall / $cnt,2) ;
}
- }
-if($scoreall>0) $data_up[$productId][0][0] =round($scoreall/$cnt,2) ;
-
-
}
-
-
-
- $scoreArr=[];
-$dataF=$db::getRows("SELECT product_id, store_id, value,color
+$scoreArr=[];
+$sql = "SELECT product_id, store_id, value,color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id $orderStoresArrayRelation_in
AND color!=''
AND store_id!=''
AND field_name IN ('score')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $scoreArr[$row["product_id"]][$row["store_id"]][$row["color"]]=(int)$row["value"];
+ $scoreArr[$row["product_id"]][$row["store_id"]][$row["color"]] = (int)$row["value"];
}
- //пробегаемся по всем продуктам
-foreach($products as $productId => $name) {
-// echo"<br> <h2>$name</h2>";
-
- foreach($productsColorsArray[$productId] as $color) {
- $color=trim($color);
- $scoreall=0; $cnt=0;
- foreach($orderStoresArrayRelation as $storeId ) {
-
- if($scoreArr[$productId][$storeId][$color]>0) {
- $scoreall += $scoreArr[$productId][$storeId][$color];
- $cnt++;
- }
- }
- if($scoreall>0) $data_up[$productId][0][$color]=round($scoreall/$cnt,2) ;
+//пробегаемся по всем продуктам
+foreach($products as $productId => $name) {
+ // echo"<br> <h2>$name</h2>";
+ foreach($productsColorsArray[$productId] as $color) {
+ $color = trim($color);
+ $scoreall = 0;
+ $cnt = 0;
+ foreach($orderStoresArrayRelation as $storeId ) {
+ if ($scoreArr[$productId][$storeId][$color] > 0) {
+ $scoreall += $scoreArr[$productId][$storeId][$color];
+ $cnt++;
+ }
+ }
+ if ($scoreall > 0) {
+ $data_up[$productId][0][$color] = round($scoreall/$cnt,2);
+ }
}
-
-
}
-
-
-
-
-
-
-
-
-
<?php
-global $orderId, $products, $productsColorsArray;
+global $orderId, $products, $productsColorsArray, $data_up, $FiledsDataArray;
-$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value, color
+$FiledsDataArray = [];
+$sql = "SELECT field_name, product_id, value, color
FROM store_orders_fields_data WHERE
order_id=?
AND store_id=''
AND field_name IN ('quantity_warehouseman_fact','division_summ')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- if(!$row["color"]) $row["color"]=0;
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] =
- ($FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] ?? 0) + (int)$row["value"];
+ if (!$row["color"]) {
+ $row["color"]=0;
+ }
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] =
+ ($FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] ?? 0) + (int)$row["value"];
}
foreach($products ?? [] as $productId => $nameProduct) {
// echo"<br>$nameProduct ".$FiledsDataArray["quantity_warehouseman_fact"][$productId][0] ." - ".$FiledsDataArray["division_store_summ"][$productId][0]."";
$data_up[$productId][0][0] = ($FiledsDataArray["quantity_warehouseman_fact"][$productId][0] ?? 0) - ($FiledsDataArray["division_summ"][$productId][0] ?? 0);
-
foreach($productsColorsArray[$productId] ?? [] as $color) {
- $color=trim($color);
+ $color = trim($color);
$data_up[$productId][0][$color] = ($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color] ?? 0) - ($FiledsDataArray["division_summ"][$productId][$color] ?? 0);
}
-}
\ No newline at end of file
+}
-<?
+<?php
+global $orderId, $data_up, $FiledsDataArray, $products;
$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value
+$sql = "SELECT field_name, product_id, value
FROM store_orders_fields_data WHERE
order_id=?
AND color=''
AND store_id=''
AND field_name IN ('quantity_warehouseman_fact','division_store_summ')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][0] =(int)$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][0] = (int)$row["value"];
}
-
//echo"<h1>Storehouse_balance</h1>";
foreach($products as $productId => $nameProduct) {
-
- $data_up[$productId][0][0]=$FiledsDataArray["quantity_warehouseman_fact"][$productId][0] - $FiledsDataArray["division_store_summ"][$productId][0];
+ $data_up[$productId][0][0] = ($FiledsDataArray["quantity_warehouseman_fact"][$productId][0] ?? 0) - ($FiledsDataArray["division_store_summ"][$productId][0] ?? 0);
}
-
-
-
-$FiledsDataArray=[];
-$dataF=$db::getRows("SELECT field_name, product_id, value, color
+$FiledsDataArray= [];
+$sql = "SELECT field_name, product_id, value, color
FROM store_orders_fields_data WHERE
order_id=?
AND color!=''
AND store_id=''
AND field_name IN ('quantity_warehouseman_fact','division_store_summ')
-AND value!=0",[$orderId]);
+AND value!=0";
+//var_dump($sql); var_dump($orderId); die;
+$dataF = $db::getRows($sql, [$orderId]);
foreach($dataF as $row) {
- $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] =(int)$row["value"];
+ $FiledsDataArray[$row["field_name"]][$row["product_id"]][$row["color"]] = (int)$row["value"];
}
-
//echo"<h1>Storehouse_balance</h1>";
foreach($products as $productId => $nameProduct) {
- foreach($productsColorsArray[$productId] ?? [] as $color) {
- $color=trim($color);
- $data_up[$productId][0][$color]=$FiledsDataArray["quantity_warehouseman_fact"][$productId][$color] - $FiledsDataArray["division_store_summ"][$productId][$color];
- }
-
-}
-
+ foreach($productsColorsArray[$productId] ?? [] as $color) {
+ $color = trim($color);
+ $data_up[$productId][0][$color] = ($FiledsDataArray["quantity_warehouseman_fact"][$productId][$color] ?? 0) - ($FiledsDataArray["division_store_summ"][$productId][$color] ?? 0);
+ }
+}
global $orderStoresArrayRelation_in, $whereInProductsId, $date_start_sale, $data_up;
//списания за 7 дней- недельное списание от даты старта / 4 = среднее за неделю
-$periodDaysStats=7;
+$periodDaysStats = 7;
if(!empty($orderStoresArrayRelation_in) && !empty($date_start_sale)) {
-$data2=$db::getRows("SELECT p.product_id,sum(p.quantity) as cnt, w.store_id
-FROM write_offs as w, write_offs_products as p
-WHERE p.write_offs_id=w.id AND w.type='Брак'
-AND p.product_id $whereInProductsId
-AND w.store_id $orderStoresArrayRelation_in
-AND w.date<='$date_start_sale 00:00:00' AND w.date>='$date_start_sale'::date -interval '$periodDaysStats day' group BY p.product_id,w.store_id");
- foreach($data2 as $row2) {
- $a=round($row2["cnt"]);
- if(!empty($a)) {
- $data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $a;
- $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $a;
- }
- }
- }
\ No newline at end of file
+ $sql = "SELECT p.product_id,sum(p.quantity) as cnt, w.store_id
+ FROM write_offs as w, write_offs_products as p
+ WHERE p.write_offs_id=w.id AND w.type='Брак'
+ AND p.product_id $whereInProductsId
+ AND w.store_id $orderStoresArrayRelation_in
+ AND w.date<='$date_start_sale 00:00:00' AND w.date>='$date_start_sale'::date -interval '$periodDaysStats day' group BY p.product_id,w.store_id";
+ //var_dump($sql); die;
+ $data2 = $db::getRows($sql);
+ foreach($data2 as $row2) {
+ $a = round($row2["cnt"] ?? 0);
+ if(!empty($a)) {
+ $data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? 0) + $a;
+ $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $a;
+ }
+ }
+}
\ No newline at end of file
AND w.store_id $orderStoresArrayRelation_in
AND w.date<='$date_start_sale 00:00:00'
AND w.date>='$date_start_sale'::date -interval '$periodDaysStats day' group BY p.product_id,w.store_id";
- $data2=$db::getRows($sql);
- foreach($data2 as $row2) {
- $a = round($row2["cnt"]/4);
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
+ foreach ($data2 as $row2) {
+ $a = round(($row2["cnt"] ?? 0)/4);
if(!empty($a)) {
$data_up[$row2["product_id"]][$row2["store_id"]][0] = $a;
$data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $a;
}
}
-}
\ No newline at end of file
+}
global $orderStoresArrayRelation_in, $whereInProductsId, $date_start_sale;
//списания за 4 недели среднее - 4-х недельное списание от даты старта / 4 = среднее за неделю в рублях
-$periodDaysStats=28;
+$periodDaysStats = 28;
if(!empty($orderStoresArrayRelation_in) && !empty($date_start_sale)) {
$sql = "SELECT p.product_id,p.summ, w.store_id
FROM write_offs as w, write_offs_products as p
AND w.store_id $orderStoresArrayRelation_in
AND w.date<='$date_start_sale 00:00:00'
AND w.date>='$date_start_sale'::date -interval '$periodDaysStats day' group BY p.product_id,w.store_id, p.summ";
- $data2=$db::getRows($sql);
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
foreach($data2 as $row2) {
- $a=round ($row2["summ"]/4) ;
+ $a = round(($row2["summ"] ?? 0) / 4);
if(!empty($a)) {
$data_up[$row2["product_id"]][$row2["store_id"]][0] = $a;
$data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $a;
global $productGroupArray, $configGroupProducts, $orderStoresArrayRelation_in, $data_up;
-foreach($productGroupArray as $group =>$pArray) {
- $periodDaysStats=$configGroupProducts[$group]["day_write_offs"] ?? 0;
- //echo"<br>+++ <h1>Списание $group дней $periodDaysStats</h1> ";
- //собираем условие по выборке товаров
- $whereInProductsId_in="";
- $j=0;
- foreach($pArray as $prodId) {if($j>0) $whereInProductsId_in .=","; $whereInProductsId_in .="'$prodId'"; $j++;}
+foreach($productGroupArray as $group => $pArray) {
+ $periodDaysStats = $configGroupProducts[$group]["day_write_offs"] ?? 0;
+ //echo"<br>+++ <h1>Списание $group дней $periodDaysStats</h1> ";
+ //собираем условие по выборке товаров
+ $whereInProductsId_in="";
+ $j=0;
+ foreach ($pArray as $prodId) {
+ if ($j>0) {
+ $whereInProductsId_in .= ",";
+ }
+ $whereInProductsId_in .= "'$prodId'";
+ $j++;
+ }
- if(!empty($whereInProductsId_in)) {
- if($periodDaysStats==7) $periodDaysStats_where=14;
- else $periodDaysStats_where=$periodDaysStats;
-
- $date_start_sale2=date("Y-m-d");
+ if (!empty($whereInProductsId_in)) {
+ if ($periodDaysStats==7) {
+ $periodDaysStats_where = 14;
+ } else {
+ $periodDaysStats_where = $periodDaysStats;
+ }
+
+ $date_start_sale2 = date("Y-m-d");
$sql = "SELECT p.product_id,sum(c.quantity) as cnt, w.store_id, c.comment_id
FROM write_offs as w, write_offs_products as p, write_offs_comments as c
WHERE p.write_offs_id=w.id
AND w.date<='$date_start_sale2 00:00:00'
AND w.date>='$date_start_sale2'::date -interval '$periodDaysStats_where day'
group BY p.product_id,w.store_id, c.comment_id";
-// var_dump($sql); die;
- $data2=$db::getRows($sql);
- foreach($data2 as $row2) {
- $a=$row2["comment_id"]."=".$row2["cnt"]."шт. ";
- if(!empty($a)) $data_up[$row2["product_id"]][$row2["store_id"]][0] .=$a;
- }
- }
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
+ foreach($data2 as $row2) {
+ $a = ($row2["comment_id"] ?? 0) . "=" . ($row2["cnt"] ?? 0) . "шт. ";
+ if (!empty($a)) {
+ $data_up[$row2["product_id"]][$row2["store_id"]][0] = ($data_up[$row2["product_id"]][$row2["store_id"]][0] ?? '') .$a;
+ }
+ }
+ }
}
\ No newline at end of file
<?php
-global $productGroupArray, $configGroupProducts, $orderStoresArrayRelation_in, $date_start_division;
+global $data_up, $productGroupArray, $configGroupProducts, $orderStoresArrayRelation_in, $date_start_division;
// пробегаем по каждому типу товара и группируем запросы к БД
-foreach($productGroupArray as $group =>$pArray) {
-$periodDaysStats=$configGroupProducts[$group]["day_write_offs"] ?? '0';
-//echo"<br>+++ <h1>$group дней $periodDaysStats</h1> ";
+foreach($productGroupArray as $group => $pArray) {
+ $periodDaysStats = $configGroupProducts[$group]["day_write_offs"] ?? '0';
+ //echo"<br>+++ <h1>$group дней $periodDaysStats</h1> ";
-//собираем условие по выборке товаров
-$whereInProductsId_in="";
-$j=0;
-foreach($pArray as $prodId) {if($j>0) $whereInProductsId_in .=","; $whereInProductsId_in .="'$prodId'"; $j++;}
+ //собираем условие по выборке товаров
+ $whereInProductsId_in="";
+ $j=0;
+ foreach ($pArray as $prodId) {
+ if ($j>0) {
+ $whereInProductsId_in .= ",";
+ }
+ $whereInProductsId_in .= "'$prodId'";
+ $j++;
+ }
-if(!empty($whereInProductsId_in)) {
- $sql = "SELECT p.product_id,sum(p.quantity) as cnt, w.store_id
- FROM write_offs as w, write_offs_products as p
- WHERE p.write_offs_id=w.id AND w.type='Брак'
- AND p.product_id in($whereInProductsId_in)
- AND w.store_id $orderStoresArrayRelation_in
- AND w.date<='$date_start_division 00:00:00' AND w.date>='$date_start_division'::date -interval '$periodDaysStats day' group BY p.product_id,w.store_id";
-// var_dump($sql); die;
-$data2=$db::getRows($sql);
-$valAll=0;
- foreach($data2 as $row2) {
- $a=ceil($row2["cnt"]);
- if(!empty($a)) {
- $data_up[$row2["product_id"]][$row2["store_id"]][0]=$a;
- $data_up[$row2["product_id"]][0][0] +=$a;
- }
- }
-}
+ if(!empty($whereInProductsId_in)) {
+ $sql = "SELECT p.product_id,sum(p.quantity) as cnt, w.store_id
+ FROM write_offs as w, write_offs_products as p
+ WHERE p.write_offs_id=w.id AND w.type='Брак'
+ AND p.product_id in($whereInProductsId_in)
+ AND w.store_id $orderStoresArrayRelation_in
+ AND w.date<='$date_start_division 00:00:00' AND w.date>='$date_start_division'::date -interval '$periodDaysStats day' group BY p.product_id,w.store_id";
+// var_dump($sql); die;
+ $data2 = $db::getRows($sql);
+ $valAll = 0;
+ foreach($data2 as $row2) {
+ $a = ceil($row2["cnt"]);
+ if (!empty($a)) {
+ $data_up[$row2["product_id"]][$row2["store_id"]][0] = $a;
+ $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $a;
+ }
+ }
+ }
}
\ No newline at end of file
<?php
-global $orderStoresArrayRelation_in, $date_start_sale, $whereInProductsId;
+global $data_up, $orderStoresArrayRelation_in, $date_start_sale, $whereInProductsId;
//списания за 7 дней- недельное списание от даты старта / 4 = среднее за неделю
if(!empty($orderStoresArrayRelation_in) and !empty($date_start_sale) and !empty($products)) {
- $periodDaysStats=7;
+ $periodDaysStats = 7;
$sql = "SELECT p.product_id, p.summ, w.store_id
FROM write_offs as w, write_offs_products as p
AND w.store_id $orderStoresArrayRelation_in
AND w.date<='$date_start_sale 00:00:00' AND w.date>='$date_start_sale'::date -interval '$periodDaysStats day' group BY p.product_id,w.store_id, p.summ";
// var_dump($sql); die;
- $data2=$db::getRows($sql);
+ $data2 = $db::getRows($sql);
foreach($data2 as $row2) {
- $a=$row2["summ"];
+ $a = $row2["summ"] ?? 0;
$data_up[$row2["product_id"]][$row2["store_id"]][0] = $a;
$data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $a;
}