-<?
+<?php
+
+global $orderId, $data_up, $prices;
$data_sales4week_summ=[];
$data=$db::getRows("SELECT product_id, store_id,
- sum(if(field_name='quantity_zakup_new',value,0)) as quantity_zakup_new,
- sum(if(field_name='sales_4weeks_cnt',value,0)) as sales_4weeks_cnt
+ 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) {
-<?
+<?php
+
+global $orderId, $data_up;
$data=$db::getRows("SELECT product_id, store_id,
- sum(if(field_name='quantity_zakup_new',value,0)) as quantity_zakup_new,
- sum(if(field_name='sales_cnt',value,0)) as sales_cnt
+ sum(CASE WHEN field_name='quantity_zakup_new' THEN value ELSE 0 END) as quantity_zakup_new,
+ 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");
foreach($data as $row) {
-<?
+<?php
+
+global $date_start_sale, $whereInProductsId;
/*date_start - 7 day получили период поставок
Выбираем закупки входящие в этот период по дате старта продаж
По этому товару со статусами деление по магазинам или более
Поле division_summ по каждому магазину -> Получено за 7 дней entrance_cnt_7day*/
-$data=$db::getRows("SELECT id FROM store_orders WHERE status>=6 AND date_start <='$date_start_sale' AND date_start>='$date_start_sale' -interval 7 day");
-$whereInOrderId=""; $i=0;
-foreach($data as $row) {
- $whereInOrderId .=" '".$row["id"]."' ";
- if($i<(count($data)-1)) $whereInOrderId .=" , ";
- $i++;
+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'";
+ $data = $db::getRows($sql);
+ $whereInOrderId = "";
+ $i = 0;
+ foreach ($data as $row) {
+ $whereInOrderId .= " '" . $row["id"] . "' ";
+ if ($i < (count($data) - 1)) $whereInOrderId .= " , ";
+ $i++;
+ }
}
-<?
+<?php
+
+global $whereInProductsId, $orderStoresArrayRelation_in, $date_start_sale;
+
$day_sales=7*4;
$data_up=[];
-$data2=$db::getRows("SELECT i.product_id, s.store_id_1c as store_id,sum(if(s.operation='Продажа',i.quantity,0)) as sale_cnt, sum(if(s.operation='Возврат',i.quantity,0)) as vozvr_cnt
+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
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' -interval $day_sales day 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] +=$cnt;
- $data_up[$row2["product_id"]][0][0] +=$cnt;
-
- // echo"<br> ".$products[$row2["product_id"]]." ".$row2["store_id"]." =$cnt ";
- }
- }
-
+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 ");
+ 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;
+ // echo"<br> ".$products[$row2["product_id"]]." ".$row2["store_id"]." =$cnt ";
+ }
+ }
+}
\ No newline at end of file
-<?
+<?php
+
+global $productGroupArray, $configGroupProducts, $whereInProductsId, $orderStoresArrayRelation_in, $date_start_sale, $data_up;
//массив с товарами из данной закупки разнесенных по категориям
foreach($productGroupArray as $group =>$pArray) {
}
}
-
-$data2=$db::getRows("SELECT i.product_id, s.store_id_1c as store_id,sum(if(s.operation='Продажа',i.summ,0)) as sale_cnt, sum(if(s.operation='Возврат',i.summ,0)) as vozvr_cnt
+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' -interval 7 day group BY i.product_id, s.store_id_1c ");
- 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] +=$cnt;
-
- // echo"<br> sales_amount ".$products[$row2["product_id"]]." ".$row2["store_id"]." $cnt ";
- }
- }
-
+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 ");
+ 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] = ($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 ";
+ }
+ }
+}
\ No newline at end of file
-<?
+<?php
+
+global $whereInProductsId, $orderStoresArrayRelation_in, $date_start_sale, $data_up;
+
$data_up=[];
$day_sales=7;
-$data2=$db::getRows("SELECT i.product_id, s.store_id_1c as store_id, sum(if(s.operation='Продажа',i.quantity,0)) as sale_cnt, sum(if(s.operation='Возврат',i.quantity,0)) as vozvr_cnt
+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
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' -interval $day_sales day group BY i.product_id, s.store_id_1c ");
- 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] +=$cnt;
- }
- }
+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 ";
+ $data2 = $db::getRows($sql);
+ 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] = ($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;
+ }
+ }
+}
\ No newline at end of file
-<?
+<?php
+
+global $orderStoresArrayRelation_in, $whereInProductsId, $date_start_sale, $data_up;
//списания за 7 дней- недельное списание от даты старта / 4 = среднее за неделю
$periodDaysStats=7;
-if(!empty($orderStoresArrayRelation_in)) {
+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' -interval $periodDaysStats day group BY p.product_id,w.store_id");
+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] +=$a;
- $data_up[$row2["product_id"]][0][0] +=$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
-<?
+<?php
+
+global $orderStoresArrayRelation_in, $whereInProductsId, $date_start_sale;
//списания за 4 недели среднее - 4-х недельное списание от даты старта / 4 = среднее за неделю
$periodDaysStats=28;
-if(!empty($orderStoresArrayRelation_in)) {
+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 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' -interval $periodDaysStats day group BY p.product_id,w.store_id");
+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"]/4);
if(!empty($a)) {
$data_up[$row2["product_id"]][$row2["store_id"]][0]=$a;
- $data_up[$row2["product_id"]][0][0] +=$a;
+ $data_up[$row2["product_id"]][0][0] = ($data_up[$row2["product_id"]][0][0] ?? 0) + $a;
}
}
-<?
+<?php
+
+global $orderStoresArrayRelation_in, $whereInProductsId, $date_start_sale;
+
//списания за 4 недели среднее - 4-х недельное списание от даты старта / 4 = среднее за неделю в рублях
$periodDaysStats=28;
-if(!empty($orderStoresArrayRelation_in)) {
+if(!empty($orderStoresArrayRelation_in) && !empty($date_start_sale)) {
$data2=$db::getRows("SELECT p.product_id,p.summ, 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' -interval $periodDaysStats day group BY p.product_id,w.store_id");
+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["summ"]/4) ;
if(!empty($a)) {