From: Alexander Smirnov
ÐладовÑик пеÑаÑÐ°ÐµÑ Ð´ÐµÐ»ÐµÐ½Ð¸Ðµ по магазинам на ÑÑаÑÑÑе набоÑка ÑоваÑа.
'; + + + +$data=$db::getRows("SELECT * FROM store_planogram WHERE 1"); +foreach($data as $row) { + if(empty($row["color"])) $row["color"]="NULL"; + $store_planogram[$row["product_id"]][$row["store_id"]][$row["color"]]["min"]=$row["quantity"]; + $store_planogram[$row["product_id"]][$row["store_id"]][$row["color"]]["max"]=$row["quantity_max"]; +} + + + + +$colorSort=[]; +$data=$db::getRows("SELECT product_id, store_id, color,posit FROM store_planogram_colors_sort WHERE 1 order by product_id ASC, posit ASC"); +foreach($data as $row) $colorSort[$row["product_id"]][$row["store_id"]][$row["color"]]=$row["posit"]; + + + +$da=$db::getRows("SELECT id,name,valuta FROM shipment_providers"); +foreach($da as $r) { + $providers[$r["id"]]=$r["name"]; + $providers_valuta[$r["id"]]=$r["valuta"]; +} + + + +$k=0;$w=""; +$privedrs_htm=""; +foreach($in as $pid) { +//$privedrs_htm .=''.$providers[$pid].''; + if($k!=0) $w .=","; $w .="'$pid'"; $k++; } + +$w2=""; + +$data2=$db::getRows("SELECT p.id, p.name, o.provider_id, o.colors, o.min_lot FROM products_1c_options as o, products_1c as p +WHERE o.provider_id in($w) AND p.id=o.id order by o.provider_id ASC, p.name ASC"); +$k=0; +foreach($data2 as $row) { +//if($k!=0) $w2 .=" OR "; +//$w2 .="i.id_1c='".$row["id"]."'"; + $products[$row["id"]]=$row["name"]; + $productsMinLot[$row["id"]]=$row["min_lot"]; + $prov[$row["id"]]=$row["provider_id"]; + $productsIdArray[$row["provider_id"]][$row["id"]]=$row["name"]; + if(!empty($row["colors"])) $products_colors[$row["id"]]=explode(";",$row["colors"]); + $k++; +} + +$division=array(); //division_summ =50 +$data=$db::getRows("SELECT product_id,store_id,color,value FROM store_orders_fields_data +WHERE order_id=? AND store_id!='' and field_name='division_summ'",[$OrderId]); +$ColorsCnt = []; +$dataFiedlsValuesColorsCnt = []; +foreach($data as $row) { + if(empty($row["color"])) $row["color"]="NULL"; + if(empty($row["store_id"])) $row["store_id"]="NULL"; + $dataFiedlsValues[$row["product_id"]][$row["store_id"]][$row["color"]]=$row["value"]; + if($row["store_id"]!="NULL") { + $ColorsCnt[$row["product_id"]] +=$row["value"]; + $dataFiedlsValuesColorsCnt[$row["product_id"]][$row["color"]] +=$row["value"]; } +} + + +$division=array(); +$data=$db::getRows("SELECT product_id,store_id,color,value FROM store_orders_fields_data +WHERE order_id=? AND store_id!='' and field_name='division_hand'",[$OrderId]); +foreach($data as $row) { + if(empty($row["color"])) $row["color"]="NULL"; + if(empty($row["store_id"])) $row["store_id"]="NULL"; + $dataHand[$row["product_id"]][$row["store_id"]][$row["color"]]=$row["value"]; + if($row["store_id"]!="NULL") { + $dataHand[$row["product_id"]][$row["color"]] +=$row["value"]; } +} + + + + + +$quantity_warehouseman_fact=array(); +$data=$db::getRows("SELECT product_id,store_id,color,value FROM store_orders_fields_data +WHERE order_id=? AND store_id='' and field_name='quantity_warehouseman_fact'",[$OrderId]); +foreach($data as $row) { + if(empty($row["color"])) $row["color"]="NULL"; + if(empty($row["store_id"])) $row["store_id"]="NULL"; + $quantity_warehouseman_fact[$row["product_id"]][$row["store_id"]][$row["color"]]=$row["value"]; + + if($row["store_id"]=="NULL") { + $dataColor[$row["product_id"]][$row["color"]] +=$row["value"]; + } +} + + +$colorPercent=array(); +$data=$db::getRows("SELECT product_id,store_id,color,value,field_name FROM store_orders_fields_data +WHERE order_id=? AND store_id!='' and color!='' and field_name in('color_percent','division_hand')",[$OrderId]); +foreach($data as $row) { + if($row["store_id"]!="NULL") { + if($row["field_name"]=="color_percent") $colorPercent[$row["product_id"]][$row["store_id"]][$row["color"]]=round($row["value"]); + if($row["field_name"]=="division_hand") $divisionHand[$row["product_id"]][$row["store_id"]][$row["color"]]=round($row["value"]); + + + } +} + + + +echo'| наименование | мин-Ñй Ð»Ð¾Ñ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑ. | '; + +$head=""; +foreach($sortStore as $storeId) { + echo''.$storesAll[$storeId].' | '; + $head .=''.$storesAll[$storeId].' | '; +} +if($printSumm==1) echo'иÑого | кÑплено | ÑазниÑа | '; + + +echo'
|---|---|---|---|---|---|---|
| наименование | +мин-Ñй Ð»Ð¾Ñ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑ. | '.$head.''; + + + if($printSumm==1) echo'иÑого | кÑплено | ÑазниÑа | '; + + echo'||
| '.$nameProduct.' '; + if(!empty($products_colors[$productId]) and $ColorsCnt[$productId]>0 and empty($printColor)) echo' + ÑвеÑа'; + echo' | '.$productsMinLot[$productId].' | '; + + $divisionCnt=0; + foreach($sortStore as $storeId) { + $value=ceil($dataFiedlsValues[$productId][$storeId]["NULL"]); + $divisionCnt=$divisionCnt + $value; + if(empty($value)) $value=""; + echo''.$value.''; + + if(!empty($dataHand[$productId][$storeId]["NULL"]) and $printHand==1) echo''.intval($dataHand[$productId][$storeId]["NULL"]).''; + echo' | '; + } + + if($printSumm==1) { + echo''.intval($divisionCnt).' | '; + + echo''.intval($quantity_warehouseman_fact[$productId]["NULL"]["NULL"]).' | '; + $r2=$quantity_warehouseman_fact[$productId]["NULL"]["NULL"]-$divisionCnt; + + echo''.$r2.' | '; + } + $colspan=count($sortStore)+1; + echo'|
| '.$colorName.' ('.$dataColor[$productId][$colorName].' ÑÑ.) в %'; + + + echo' | '; + $colorCounter=0; + foreach($sortStore as $storeId) { + $value=ceil($dataFiedlsValues[$productId][$storeId][$colorName2]); + + $value=round(100*$colorPercent[$productId][$storeId][$colorName2]); + + // if(!empty($value)) $value .="%"; + + if(empty($value)) $value=""; + + + $value_real=ceil($dataFiedlsValues[$productId][$storeId]["NULL"]); + $newcolorcnt=$value_real*($value/100); + + // $newcolorcnt=$dataColor[$productId][$colorName]*($value/100); + + $colorcnt=ceilCoefficient($newcolorcnt,$productsMinLot[$productId]); + $colorData[$productId][$storeId][$colorName2]=$colorcnt; + + $colorCounter +=$colorcnt; + + echo' | '.$colorcnt.'';
+
+ if(!empty($value) and $printPercentMatrix==1) echo' + '.$value.'%'; + + echo' + | ';
+ }
+
+
+ if($printSumm) {
+
+ $colorDifference=$colorCounter-$dataColor[$productId][$colorName];
+ $znak="";
+ if($colorCounter>$dataColor[$productId][$colorName]) $znak="+";
+
+ $difference[$productId][$colorName]=$colorDifference;
+
+
+ echo''.$colorCounter.' | '.$dataColor[$productId][$colorName].' | +'.$znak.''.$colorDifference.' | '; + + } + + + echo'|
| '.$colorName.' ('.$dataColor[$productId][$colorName].' ÑÑ.) | '; + $ColorsCounter[$productId]++; + $foreachBegin=$difference[$productId][$colorName]; + $minLot=$productsMinLot[$productId]; + $newHand=[]; + foreach($sortStore as $storeId) { + //$colorData[$productId][$storeId][$colorName2] + if($colorData[$productId][$storeId][$colorName]>0 and $colorData[$productId][$storeId][$colorName]>=$minLot) { + if($foreachBegin>0) { + $foreachBegin -=$minLot; + $newHand[$storeId] +=-$minLot; + + + + } else break; + } + + + } + + + + foreach($sortStore as $storeId) { + $newColorInt=$colorData[$productId][$storeId][$colorName]-abs($newHand[$storeId]); + + if(isset($divisionHand[$productId][$storeId][$colorName])) $newColorInt=$divisionHand[$productId][$storeId][$colorName]; + + $ostatok[$productId][$storeId] +=$newColorInt; //'.$newHand[$storeId].'= $(\'#input_division_hand'.$storeId.''.$productId.''.md5($colorName).'\').toggle(); + echo' | '.$newColorInt.' + + | '; + + $colorAllcnt +=$newColorInt; + + // +// '.$store_planogram[$productId][$storeId][$colorName]["min"].'-'.$store_planogram[$productId][$storeId][$colorName]["max"].' + } + + + if($printSumm) { + +//$colorDifference=$colorCounter-$dataColor[$productId][$colorName]; + $znak=""; + + + $difcolor=$dataColor[$productId][$colorName]-$colorAllcnt; + +//if($colorCounter>$dataColor[$productId][$colorName]) $znak="+"; '.$colorCounter.' '.$dataColor[$productId][$colorName].' + echo''.$colorAllcnt.' | '.$dataColor[$productId][$colorName].' | +'.$difcolor.' | '; + + } + + echo'|
| оÑÑаÑок | '; + foreach($sortStore as $storeId) { + + + $ost=$dataFiedlsValues[$productId][$storeId]["NULL"] - $ostatok[$productId][$storeId]; + //'.$ostatok[$productId][$storeId].' + echo' | '.$ost.' | '; + } + + + if($printSumm) { + + echo'+ | '; + + } + + echo' |