-<?
+<?php
include_once("startup.php");
include_once("inc/db.php");
include_once("inc/base_new.php");
include_once("inc/design_new.php");
-include"templates/top.php";
+global $in, $store_id;
if(!empty($_REQUEST["store_id"])) $store_id=htmlentities($_REQUEST["store_id"]);
//$date_id=date("Ymd");
$_SESSION["show_planogram_0"]=1;
-
-if($_REQUEST["typeDay"]) $typeDay=htmlentities($_REQUEST["typeDay"]); //"wednesday";
+if ($_REQUEST["typeDay"] ?? false) $typeDay = htmlentities($_REQUEST["typeDay"]); //"wednesday";
//$date_n_id=$db::getValue("SELECT date_id FROM `store_products_fact` WHERE date_id!=? order by date_id desc LIMIT 1",[date("Ymd")]);
//f(empty($date_n_id))
-$date_n_id=$db::getValue("SELECT date_id FROM `store_products_fact` WHERE 1 order by date_id desc LIMIT 1");
+$date_n_id = $db::getValue("SELECT date_id FROM store_products_fact WHERE 1=1 order by date_id desc LIMIT 1");
$massivert[$date_n_id]=date('d.m.Y', strtotime($date_n_id));
exit();
}
-$data=$db::getRows("SELECT id,name, providers_arr FROM `store_orders` WHERE date_start>NOW() - interval 25 day");
-foreach($data as $row) {
-$pr=explode(",",$row["providers_arr"]);
- foreach($pr as $prid) { if(!empty($prid)) $prov[$prid]=$prid;}
+$data = $db::getRows("SELECT id, name, providers_arr FROM store_orders WHERE date_start > NOW() - interval '25 day'");
+foreach ($data as $row) {
+ $pr = explode(",", $row["providers_arr"]);
+ foreach ($pr as $prid) {
+ if (!empty($prid)) $prov[$prid] = $prid;
+ }
}
-//echo print_r($prov);;
$k=0;
// сколько заполнено по магазинам
-$storesFact=array(); $storesFactNo=array();
+$storesFact = array();
+$storesFactNo = array();
// полнограммы по всем магазинам
$data3=$db::getRows("SELECT store_id,product_id,quantity FROM store_planogram WHERE color='' AND store_id!='' AND quantity>0 AND store_id in($where)");
foreach($data3 as $row2) $store_planogramAllStores[$row2["store_id"]][$row2["product_id"]]=$row2["quantity"];
foreach($stores as $stId =>$nameStore) {
//echo"<br>магазин ".$nameStore." ";
-$cnt=0; $all=0;
-$arrays=$store_planogramAllStores[$stId];
-if(!empty($stores[$stId])){
- foreach($arrays as $productId =>$quantity) {
- if($factAll[$stId][$productId]>0 and $quantity>0) {
- //echo"+ $productId = $quantity";
- $cnt++;
- }
- $all++;
- }
- $percent=round(100*($cnt/$all));
+ $cnt = 0;
+ $all = 0;
+ $arrays = $store_planogramAllStores[$stId] ?? [];
+ if (!empty($stores[$stId])) {
+ foreach ($arrays as $productId => $quantity) {
+ if (($factAll[$stId][$productId] ?? 0) > 0 and $quantity > 0) {
+ //echo"+ $productId = $quantity";
+ $cnt++;
+ }
+ $all++;
+ }
+ $percent = ($all != 0) ? (round(100 * ($cnt / $all))) : 0;
//echo" $cnt из $all =$percent %";
$storesFact[$stId]=$percent;
//не заполнившие магазины
// сколько заполнено по магазинам
-
-
-
-
-
-foreach($stores as $strid=>$namestore){
-echo"<a href=\"/shipment/PolnogrammaEdit/?store_id=$strid&date_id=$date_id\" class=\"btn btn-sm btn-";
-if($store_id==$strid) echo"warning btn"; else echo"info"; echo" m-1\">";
+foreach ($stores as $strid => $namestore) {
+ echo "<a href=\"/shipment/polnogramm-edit/?store_id=$strid&date_id=$date_id\" class=\"btn btn-sm btn-";
+ if ($store_id == $strid) echo "warning btn"; else echo "info";
+ echo " m-1\">";
if($storesFact[$strid]>20) echo"<span class=\"btn btn-sm bg-success me-1\" title=\"Полнограмма заполнена на ".$storesFact[$strid]."%\">+".$storesFact[$strid]."%</span>";
}
-$w="";
-$providers=$db::mapping("SELECT id,name FROM shipment_providers ");
-$k=0;
-foreach($in as $pid) { echo'<span class="tag m-1">'.$providers[$pid].'</span>'; if($k!=0) $w .=" OR"; $w .=" o.provider_id='$pid'"; $k++; }
+$w = "";
+$providers = $db::mapping("SELECT id,name FROM shipment_providers ");
+$k = 0;
+
+//foreach ($in as $pid) {
+// echo '<span class="tag m-1">' . $providers[$pid] . '</span>';
+// if ($k != 0) $w .= " OR";
+// $w .= " o.provider_id='$pid'";
+// $k++;
+//}
if(!empty($_POST["quantity"])) {
mess("Факт для магазина сохранена");
}
-if(!empty($store_id)) {
-echo'<div class="table-responsive mt-3"><form action="" method=post>
+$store_planogram = [];
+if (!empty($store_id)) {
+ echo '<div class="table-responsive mt-3"><form action="" method=post>
+<input type="hidden" name="_csrf" value="' . Yii::$app->request->getCsrfToken() . '" />
<table class="table w-100" cellspasing=0 cellpadding=0 border=0>';
-echo'<tbody>';
+ echo '<tbody>';
$data3=$db::getRows("SELECT * FROM store_planogram WHERE store_id=? AND color=''",[$store_id]);
$data=$db::getRows("SELECT p.id, p.name, o.provider_id, o.colors FROM products_1c_options as o, products_1c as p WHERE o.provider_id>0 AND p.view='1' AND p.id=o.id $where order by o.provider_id ASC, p.name ASC");
-$p=0;
-foreach($data as $row) {
- if(!in_array($row["provider_id"],$providersIn)) {
- echo'<tr style="cursor:pointer;" onclick="$(\'.pr__'.$row["provider_id"].'\').toggle();">
- <td colspan=12 class="p-2"><span class="bg-green fs-4 p-2 w-100 d-block">+ '.$providers[$row["provider_id"]].'</span></td></tr>';
-
-echo'<tr style="';
+ $p = 0;
+ $providersIn = [];
+ foreach ($data as $row) {
+ if (!in_array($row["provider_id"], $providersIn)) {
+ echo '<tr style="cursor:pointer;" onclick="$(\'.pr__' . $row["provider_id"] . '\').toggle();">
+ <td colspan=12 class="p-2"><span class="bg-green fs-4 p-2 w-100 d-block">+ ' . $providers[$row["provider_id"]] . '</span></td></tr>';
+
+ echo '<tr style="';
if($p>=1) echo"display:none;";
$p++;
}
-if($store_planogram[$row["id"]]>0 or $_SESSION["show_planogram_0"]==1) {
-$difference=$store_planogram[$row["id"]]-$values_in[$row["id"]]["quantity"];
-if(!empty($store_planogram[$row["id"]])) $difference_percent=100-round(100*$difference/$store_planogram[$row["id"]]);
-else $difference_percent="";
- echo"<tr style=\""; if($p>1) echo"display:none;";
-
-if($store_planogram[$row["id"]]==0) echo"opacity:0.9;";
-if($difference_percent==0 and $store_planogram[$row["id"]]!=0) echo"background:#ffe391;";
-if($difference_percent>=100) echo"background:#9effd2;";
-echo"\" class=\"trhover pr__".$row["provider_id"]."";
-if($store_planogram[$row["id"]]==0) echo" bg-danger2";
- echo"\"><td class=\"text-right fs-6 pr-2\">".$row["name"]."</td>";
-echo'<td class="tdcntr bg-default">'.$store_planogram[$row["id"]].'</td>
+ if (($store_planogram[$row["id"]] ?? 0) > 0 or $_SESSION["show_planogram_0"] == 1) {
+ $difference = ($store_planogram[$row["id"]] ?? 0) - ($values_in[$row["id"]]["quantity"] ?? 0);
+ if (!empty($store_planogram[$row["id"]])) $difference_percent = 100 - round(100 * $difference / $store_planogram[$row["id"]]);
+ else $difference_percent = "";
+ echo "<tr style=\"";
+ if ($p > 1) echo "display:none;";
+
+ if (($store_planogram[$row["id"]] ?? -1) == 0) echo "opacity:0.9;";
+ if ($difference_percent == 0 && ($store_planogram[$row["id"]] ?? 0) != 0) echo "background:#ffe391;";
+ if ($difference_percent >= 100) echo "background:#9effd2;";
+ echo "\" class=\"trhover pr__" . $row["provider_id"] . "";
+ if (($store_planogram[$row["id"]] ?? -1) == 0) echo " bg-danger2";
+ echo "\"><td class=\"text-right fs-6 pr-2\">" . $row["name"] . "</td>";
+ echo '<td class="tdcntr bg-default">' . ($store_planogram[$row["id"]] ?? '') . '</td>
<td class="tdcntr bg-';
-if($difference>0) echo'danger2';elseif($difference<0) echo'success';else echo'default';
-
-if($difference<0) $difference="+".abs($difference);
-if($difference_percent<0) $difference_percent=">".abs($difference_percent);
-
-if(!empty($store_planogram[$row["id"]]) and !empty($difference_percent)) $difference_percent .="%";
-else $difference_percent ="";
-echo'">'.$difference.'</td>
-<td class="tdcntr bg-default">'.$difference_percent.'</td>';
-echo'<td title="продажи 7 дней">'.$dataRows[$row["id"]]['sales'].'</td>
-<td title="списание 14 дней/2 (только причины перетарка)">'.$dataRows[$row["id"]]['write_offs'].'</td>
-<td title="рекомендация +-% на основе продаж">'.$dataRows[$row["id"]]['sales_reccommend'].'</td>
-<td title="рекомендация +-% на основе списания">'.$dataRows[$row["id"]]['sales_write_offs'].'</td>
-<td title="рекоммендация суммарно +-%">'.$dataRows[$row["id"]]['reccommend'].'</td>
-<td title="новая полнограмма шт."><input type=number name=polnogramm_new['.$row["id"].'] class="form-control"></td>';
+ if ($difference > 0) echo 'danger2'; elseif ($difference < 0) echo 'success';
+ else echo 'default';
+
+ if ($difference < 0) $difference = "+" . abs($difference);
+ if ($difference_percent < 0) $difference_percent = ">" . abs($difference_percent);
+
+ if (!empty($store_planogram[$row["id"]]) and !empty($difference_percent)) $difference_percent .= "%";
+ else $difference_percent = "";
+ echo '">' . $difference . '</td>
+<td class="tdcntr bg-default">' . $difference_percent . '</td>';
+ echo '<td title="продажи 7 дней">' . ($dataRows[$row["id"]]['sales'] ?? '') . '</td>
+<td title="списание 14 дней/2 (только причины перетарка)">' . ($dataRows[$row["id"]]['write_offs'] ?? '') . '</td>
+<td title="рекомендация +-% на основе продаж">' . ($dataRows[$row["id"]]['sales_reccommend'] ?? '') . '</td>
+<td title="рекомендация +-% на основе списания">' . ($dataRows[$row["id"]]['sales_write_offs'] ?? '') . '</td>
+<td title="рекоммендация суммарно +-%">' . ($dataRows[$row["id"]]['reccommend'] ?? '') . '</td>
+<td title="новая полнограмма шт."><input type=number name=polnogramm_new[' . $row["id"] . '] class="form-control"></td>';
echo"</tr>";
$colors=explode(";",$row["colors"]);
foreach($colors as $color_w) {
$color_w=trim($color_w);
-
-if(!empty($store_planogram_colors[$row["id"]][$color_w])) {
-
- echo"<tr>";
-
- if($j==0) echo"<td class=zg rowspan=".count($colors)."><b>".$row["name"]."</b></td>";
-
- $j++;
- echo"<td><input type=number class=input-sm name=color[quantity][".$row["id"]."][$color_w] value=\"";
- if(isset($values_in_color[$row["id"]]["quantity"][$color_w] )) echo $values_in_color[$row["id"]]["quantity"][$color_w];
- echo"\"></td><td>$color_w</td>";
-
- $difference=$store_planogram_colors[$row["id"]][$color_w]-$values_in_color[$row["id"]]["quantity"][$color_w];
- if($store_planogram_colors[$row["id"]][$color_w])
- $difference_percent=100-round(100*$difference/$store_planogram_colors[$row["id"]][$color_w]);
+
+ if (!empty($store_planogram_colors[$row["id"]][$color_w])) {
+
+ echo "<tr>";
+
+ if ($j == 0) echo "<td class=zg rowspan=" . count($colors) . "><b>" . $row["name"] . "</b></td>";
+
+ $j++;
+ echo "<td><input type=number class=input-sm name=color[quantity][" . $row["id"] . "][$color_w] value=\"";
+ if (isset($values_in_color[$row["id"]]["quantity"][$color_w])) echo $values_in_color[$row["id"]]["quantity"][$color_w];
+ echo "\"></td><td>$color_w</td>";
+
+ $difference = ($store_planogram_colors[$row["id"]][$color_w] ?? 0) - ($values_in_color[$row["id"]]["quantity"][$color_w] ?? 0);
+ if ($store_planogram_colors[$row["id"]][$color_w] ?? 0)
+ $difference_percent = 100 - round(100 * $difference / $store_planogram_colors[$row["id"]][$color_w]);
if(!empty($difference_percent)) $difference_percent="$difference_percent%";
echo'</td>
<td class="tdcntr bg-';
-if($difference>0) echo'danger2';elseif($difference<0) echo'success';else echo'default';
-echo'">';
+ if ($difference > 0) echo 'danger2'; elseif ($difference < 0) echo 'success';
+ else echo 'default';
+ echo '">';
if(!empty($difference)) echo $difference;
</form></div>';
-
-$_CONFIG["jscss"] .='<style>.t tbody tr td{padding:0;}
+ $_CONFIG["jscss"] = '<style>.t tbody tr td{padding:0;}
.t tbody tr td input.form-control{padding:0;margin:0 2px;text-align:center;font-weight:bold;}
.table tbody tr td{padding:0;text-align:center}
.bg-danger2{background:#ffd1d1;}
table tbody td small{color:#787878; text-align:center; font-size:0.7rem; margin:0 0.4rem;}
-</style>
-';
-
+</style>';
+ include "templates/bottom_light.php";
}
-
-include"templates/bottom.php";
-
+
+