init
This commit is contained in:
556
modules/EcmReports/ReportSales.inc.php
Normal file
556
modules/EcmReports/ReportSales.inc.php
Normal file
@@ -0,0 +1,556 @@
|
||||
<?php
|
||||
if (! defined ( 'sugarEntry' ) || ! sugarEntry)
|
||||
die ( 'Not A Valid Entry Point' );
|
||||
|
||||
/*****************************************************/
|
||||
/*********************** PREPARE *********************/
|
||||
/*****************************************************/
|
||||
$db = $GLOBALS ['db'];
|
||||
|
||||
global $app_list_strings;
|
||||
$all_groups_ks = $app_list_strings["ecmproducts_group_ks_dom"];
|
||||
|
||||
if($_GET['selectUser']!="")
|
||||
{
|
||||
$selectUser=$_GET['selectUser'];
|
||||
}else{
|
||||
$selectUser="";
|
||||
}
|
||||
|
||||
if($_GET['selectPdfType']!="")
|
||||
{
|
||||
$selectPdfType=$_GET['selectPdfType'];
|
||||
}else{
|
||||
$selectPdfType="";
|
||||
}
|
||||
|
||||
$data = array();
|
||||
$categoryArray = array();
|
||||
|
||||
$sum = array();
|
||||
$sumSub = array();
|
||||
$sumSub2 = array();
|
||||
$searchBy = $_GET['groupByProducentsOrProducts'];
|
||||
if(!$_GET['date_from'])
|
||||
$date_from = date("Y-m-01");
|
||||
else
|
||||
$date_from = $_GET["date_from"];
|
||||
|
||||
if(!$_GET['date_to'])
|
||||
$date_to = date("Y-m-d");
|
||||
else
|
||||
$date_to = $_GET["date_to"];
|
||||
|
||||
$contractorName = $_GET['account_name'];
|
||||
$contractorId = $_GET['account_id'];
|
||||
$searchByType = $_GET['type'];
|
||||
|
||||
$group_ks = $_GET["group_ks"];
|
||||
|
||||
if( $group_ks == '' )
|
||||
$group_ks = "%";
|
||||
|
||||
$date_from_to_query = new DateTime($date_from);
|
||||
$date_to_to_query = new DateTime($date_to);
|
||||
|
||||
$addTwinpol = (isset($_REQUEST['twinpol']) ? 1 : 0);
|
||||
|
||||
$datausers = array();
|
||||
$users = array();
|
||||
$queryUsers="SELECT
|
||||
first_name as 'first',
|
||||
last_name as 'last',
|
||||
id
|
||||
FROM users
|
||||
where deleted= 0
|
||||
and status = 'Active';";
|
||||
$rowsUsers= $db->query ($queryUsers);
|
||||
while($rowUser = $db->fetchByAssoc ( $rowsUsers ))
|
||||
{
|
||||
$users["first"] = $rowUser["first"];
|
||||
$users["last"] = $rowUser["last"];
|
||||
$users["id"] = $rowUser["id"];
|
||||
$datausers [] = $users;
|
||||
}
|
||||
|
||||
if($searchBy=="contractor")
|
||||
{
|
||||
$groupBy="name";
|
||||
}else{
|
||||
$groupBy="id";
|
||||
}
|
||||
|
||||
if($searchBy=="product")
|
||||
{
|
||||
$query = "SELECT
|
||||
pozycja.name,
|
||||
pozycja.ecmproduct_id as 'id',
|
||||
faktura.parent_id as 'parent_id',
|
||||
produkt.code as 'code',
|
||||
faktura.type as 'type',
|
||||
sum(
|
||||
CASE WHEN faktura.type!='correct'
|
||||
THEN
|
||||
CASE WHEN faktura.currency_value is null or faktura.currency_value='' or faktura.currency_value=0
|
||||
THEN
|
||||
pozycja.total_netto
|
||||
ELSE
|
||||
pozycja.total_netto*faktura.currency_value
|
||||
END
|
||||
ELSE
|
||||
CASE WHEN pozycja.old_ecminvoiceoutitem_id IS null OR pozycja.old_ecminvoiceoutitem_id='' THEN
|
||||
0
|
||||
ELSE
|
||||
CASE WHEN faktura.currency_value is null or faktura.currency_value='' or faktura.currency_value=0
|
||||
THEN
|
||||
pozycja.total_netto-pozycja.old_total_netto
|
||||
ELSE
|
||||
(pozycja.total_netto-pozycja.old_total_netto)*faktura.currency_value
|
||||
END
|
||||
END
|
||||
|
||||
END
|
||||
) as netto,
|
||||
sum(
|
||||
CASE WHEN faktura.type!='correct'
|
||||
THEN
|
||||
pozycja.quantity
|
||||
ELSE
|
||||
pozycja.quantity_corrected
|
||||
END
|
||||
) as ilosc,
|
||||
sum(
|
||||
CASE WHEN faktura.type!='correct'
|
||||
THEN
|
||||
pozycja.price_purchase*pozycja.quantity
|
||||
ELSE
|
||||
pozycja.price_purchase*pozycja.quantity_corrected
|
||||
END
|
||||
) as koszt
|
||||
FROM
|
||||
ecminvoiceoutitems pozycja
|
||||
JOIN
|
||||
ecminvoiceouts faktura ON pozycja.ecminvoiceout_id = faktura.id
|
||||
LEFT JOIN
|
||||
ecmproducts produkt ON pozycja.ecmproduct_id = produkt.id
|
||||
WHERE
|
||||
faktura.register_date BETWEEN
|
||||
'".$date_from_to_query->format('Y-m-d')."' AND
|
||||
'".$date_to_to_query->format('Y-m-d')."'
|
||||
and faktura.type like '".$searchByType."'
|
||||
and faktura.canceled = 0
|
||||
and faktura.deleted= 0";
|
||||
if ($selectPdfType!="")
|
||||
$query.= " and faktura.pdf_type='$selectPdfType'";
|
||||
$query .= " and pozycja.deleted= 0 ";
|
||||
|
||||
if($addTwinpol ===0 ){
|
||||
$query .= " and faktura.parent_id <> '1b9643ca-5b1a-8f9b-b809-586b5619b068' ";
|
||||
}
|
||||
|
||||
if($group_ks!='%'){
|
||||
$query .= "AND produkt.group_ks LIKE '$group_ks'";
|
||||
}
|
||||
$query .= "GROUP BY pozycja.id
|
||||
COLLATE utf8_polish_ci;";
|
||||
|
||||
|
||||
}else if ($searchBy=="contractor"){
|
||||
$query = "SELECT
|
||||
faktura.parent_name as 'name',
|
||||
faktura.parent_id as 'parent_id',
|
||||
pozycja.name as 'product_name',
|
||||
pozycja.ecmproduct_id as 'id',
|
||||
faktura.type as 'type',
|
||||
acco.parent_id as 'parent2',
|
||||
faktura.parent_name as 'parent',
|
||||
sum(
|
||||
CASE WHEN faktura.type!='correct'
|
||||
THEN
|
||||
CASE WHEN faktura.currency_value is null or faktura.currency_value='' or faktura.currency_value=0
|
||||
THEN
|
||||
pozycja.total_netto
|
||||
ELSE
|
||||
pozycja.total_netto*faktura.currency_value
|
||||
END
|
||||
ELSE
|
||||
CASE WHEN faktura.currency_value is null or faktura.currency_value='' or faktura.currency_value=0
|
||||
THEN
|
||||
pozycja.total_netto_corrected
|
||||
ELSE
|
||||
pozycja.total_netto_corrected * faktura.currency_value
|
||||
END
|
||||
|
||||
END
|
||||
) as netto,
|
||||
sum(
|
||||
CASE WHEN faktura.type!='correct'
|
||||
THEN
|
||||
pozycja.quantity
|
||||
ELSE
|
||||
pozycja.quantity_corrected
|
||||
END
|
||||
) as ilosc,
|
||||
sum(
|
||||
CASE WHEN faktura.type!='correct'
|
||||
THEN
|
||||
pozycja.price_purchase*pozycja.quantity
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
) as koszt
|
||||
FROM
|
||||
ecminvoiceoutitems pozycja
|
||||
JOIN
|
||||
ecminvoiceouts faktura ON pozycja.ecminvoiceout_id = faktura.id
|
||||
LEFT JOIN
|
||||
ecmproducts produkt ON pozycja.ecmproduct_id = produkt.id
|
||||
JOIN
|
||||
accounts acco ON acco.id = faktura.parent_id
|
||||
WHERE
|
||||
faktura.register_date BETWEEN
|
||||
'".$date_from_to_query->format('Y-m-d')."' AND
|
||||
'".$date_to_to_query->format('Y-m-d')."'
|
||||
and faktura.type like '".$searchByType."'
|
||||
and faktura.canceled = 0
|
||||
and faktura.deleted= 0";
|
||||
if ($selectPdfType!="")
|
||||
$query.= " and faktura.pdf_type='$selectPdfType'";
|
||||
$query .= " and pozycja.deleted= 0
|
||||
and produkt.group_ks LIKE '$group_ks'";
|
||||
|
||||
if($addTwinpol ===0 ){
|
||||
$query .= " and faktura.parent_id <> '1b9643ca-5b1a-8f9b-b809-586b5619b068' ";
|
||||
}
|
||||
|
||||
$query .= "GROUP BY pozycja.id
|
||||
COLLATE utf8_polish_ci;";
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************/
|
||||
/*************** GET DATA FROM DB*********************/
|
||||
/*****************************************************/
|
||||
$rows = $db->query ($query);
|
||||
// prepare data for Smarty
|
||||
while($r = $db->fetchByAssoc ( $rows ))
|
||||
{
|
||||
$row = array();
|
||||
$row["id"] = $r["id"];
|
||||
if( $r["parent2"] == 1249)
|
||||
$row["name"] = "Media Saturn Holding";
|
||||
else
|
||||
$row["name"] = $r["name"];
|
||||
|
||||
$row["code"]=$r["code"];
|
||||
$row["parent_id"]=$r["parent_id"];
|
||||
$row["type"]=$r["type"];
|
||||
|
||||
$userBool=1;
|
||||
if($selectUser!="")
|
||||
{
|
||||
$userBool=0;
|
||||
$querySelectUsers="SELECT user.id,
|
||||
first_name as 'first',
|
||||
last_name as 'last'
|
||||
FROM
|
||||
accounts acc
|
||||
JOIN
|
||||
users user ON acc.assigned_user_id=user.id
|
||||
WHERE acc.id='".$r["parent_id"]."';";
|
||||
$rowsSelectUsers = $db->query ($querySelectUsers);
|
||||
while($rowSelectUser = $db->fetchByAssoc ( $rowsSelectUsers ))
|
||||
{
|
||||
if($rowSelectUser["id"]==$selectUser)
|
||||
{
|
||||
$userBool=1;
|
||||
}else{
|
||||
$userBool=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($userBool==1)
|
||||
{
|
||||
if($searchBy=="contractor")
|
||||
{
|
||||
$row["product_name"]=$r["product_name"];
|
||||
}else{
|
||||
$row["product_name"]=$r["name"];
|
||||
}
|
||||
|
||||
|
||||
$querySubCategory="SELECT category.name as 'podkategoria'
|
||||
FROM
|
||||
ecmproductcategories_bean bean
|
||||
JOIN
|
||||
ecmproductcategories category ON bean.ecmproductcategory_id = category.id
|
||||
WHERE bean.bean_id='".$row["id"]."'
|
||||
and bean.position = '1'
|
||||
and bean.deleted = '0'
|
||||
and category.deleted = '0';";
|
||||
$rowsSubCategory = $db->query ($querySubCategory);
|
||||
while($rowSubCategory = $db->fetchByAssoc ( $rowsSubCategory ))
|
||||
{
|
||||
$row["podkategoria"] = $rowSubCategory["podkategoria"];
|
||||
}
|
||||
|
||||
$queryCategory="SELECT category.name as 'kategoria'
|
||||
FROM
|
||||
ecmproductcategories_bean bean
|
||||
JOIN
|
||||
ecmproductcategories category ON bean.ecmproductcategory_id = category.id
|
||||
WHERE bean.bean_id='".$row["id"]."'
|
||||
and bean.position = '0'
|
||||
and bean.deleted = '0'
|
||||
and category.deleted = '0';";
|
||||
$rowscategory = $db->query ($queryCategory);
|
||||
while($rowcategory = $db->fetchByAssoc ( $rowscategory ))
|
||||
{
|
||||
|
||||
$row["kategoria"] = $rowcategory["kategoria"];
|
||||
}
|
||||
$row["ilosc"] = $r["ilosc"];
|
||||
$row["netto"] = $r["netto"];
|
||||
$row["srednia"] = $row["netto"]/$row["ilosc"];
|
||||
$row["koszt"] = $r["koszt"];
|
||||
//if($row["netto"]>$row["koszt"])
|
||||
//{
|
||||
$row["marza"] = ($row["netto"]-$row["koszt"])/($row["netto"])*100;
|
||||
//}else{
|
||||
//$row["marza"] = 0;
|
||||
//}
|
||||
|
||||
$data [] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
if($searchBy!="")
|
||||
{
|
||||
////////////////// SUM /////////////////////////////////
|
||||
foreach( $data as $key=>&$element )
|
||||
{ if($element["netto"]!=0)
|
||||
{
|
||||
$categoryArray[$element["kategoria"] == "" ? "Inne" : $element["kategoria"]][$element["podkategoria"] == "" ? "Reszta" : $element["podkategoria"]][$key] = $element;
|
||||
} else {
|
||||
//echo "Nie przechodzi: <br>";
|
||||
//print_r( $element );
|
||||
}
|
||||
}
|
||||
|
||||
foreach( $categoryArray as $key=>&$element )
|
||||
{
|
||||
foreach( $element as $keyy=>&$elementt )
|
||||
{
|
||||
foreach( $elementt as $keyyy=>&$elementtt )
|
||||
{
|
||||
$sumSub["IloscSum"][$key] += $elementtt["ilosc"];
|
||||
$sumSub["SoldSum"][$key] += $elementtt["netto"];
|
||||
//if($elementtt["type"]=="normal")
|
||||
//{
|
||||
$sumSub["SoldSumNormal"][$key] += $elementtt["netto"];
|
||||
$sumSub["IloscNormal"][$key] += $elementtt["ilosc"];
|
||||
//}else{
|
||||
// $sumSub["SoldSumNormal"][$key] += 0;
|
||||
//$sumSub["IloscNormal"][$key] += 0;
|
||||
// }
|
||||
$sumSub["KosztSum"][$key] += $elementtt["koszt"];
|
||||
|
||||
$sumSub2["IloscSum"][$key][$keyy] += $elementtt["ilosc"];
|
||||
$sumSub2["SoldSum"][$key][$keyy] += $elementtt["netto"];
|
||||
//if($elementtt["type"]=="normal")
|
||||
//{
|
||||
$sumSub2["SoldSumNormal"][$key][$keyy] += $elementtt["netto"];
|
||||
$sumSub2["IloscNormal"][$key][$keyy] += $elementtt["ilosc"];
|
||||
//}else{
|
||||
// $sumSub2["SoldSumNormal"][$key][$keyy] += 0;
|
||||
// $sumSub2["IloscNormal"][$key][$keyy] += 0;
|
||||
//}
|
||||
$sumSub2["KosztSum"][$key][$keyy] += $elementtt["koszt"];
|
||||
}
|
||||
$categoryArray[$key][$keyy]["IloscSum2"] = $sumSub2["IloscSum"][$key][$keyy];
|
||||
$categoryArray[$key][$keyy]["SoldSum2"] = $sumSub2["SoldSum"][$key][$keyy];
|
||||
$categoryArray[$key][$keyy]["SoldSumNormal2"] = $sumSub2["SoldSumNormal"][$key][$keyy];
|
||||
$categoryArray[$key][$keyy]["IloscNormal2"] = $sumSub2["IloscNormal"][$key][$keyy];
|
||||
$categoryArray[$key][$keyy]["KosztSum2"] = $sumSub2["KosztSum"][$key][$keyy];
|
||||
|
||||
}
|
||||
$categoryArray[$key]["IloscSum"] = $sumSub["IloscSum"][$key];
|
||||
$categoryArray[$key]["SoldSum"] = $sumSub["SoldSum"][$key];
|
||||
$categoryArray[$key]["SoldSumNormal"] = $sumSub["SoldSumNormal"][$key];
|
||||
$categoryArray[$key]["IloscNormal"] = $sumSub["IloscNormal"][$key];
|
||||
$categoryArray[$key]["KosztSum"] = $sumSub["KosztSum"][$key];
|
||||
}
|
||||
|
||||
foreach( $categoryArray as $key=>&$element )
|
||||
{
|
||||
$sum["IloscSumSum"] += $sumSub["IloscSum"][$key];
|
||||
$sum["SoldSumSum"] += $sumSub["SoldSum"][$key];
|
||||
$sum["SoldSumSumNormal"] += $sumSub["SoldSumNormal"][$key];
|
||||
$sum["IloscNormal"] += $sumSub["IloscNormal"][$key];
|
||||
$sum["KosztSumSum"] += $sumSub["KosztSum"][$key];
|
||||
}
|
||||
|
||||
$sum["SredniaSumSum"] = $sum["SoldSumSumNormal"]/$sum["IloscNormal"];
|
||||
$sum["MarzaSumSum"] = ($sum["SoldSumSumNormal"]-$sum["KosztSumSum"])/$sum["SoldSumSumNormal"]*100;
|
||||
|
||||
|
||||
|
||||
function cmp($a, $b)
|
||||
{
|
||||
if ($a['name'] == $b['name']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a['name'] < $b['name']) ? -1 : 1;
|
||||
}
|
||||
|
||||
function cmp2($a, $b)
|
||||
{
|
||||
if ($a['id'] == $b['id']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a['id'] < $b['id']) ? -1 : 1;
|
||||
}
|
||||
|
||||
// grupowanie po kontrahentach
|
||||
foreach($categoryArray as $key1=>&$element1)
|
||||
{
|
||||
foreach($element1 as $key2=>&$element2)
|
||||
{
|
||||
$tmp2[$key1][$key2]["IloscSum2"] = $categoryArray[$key1][$key2]["IloscSum2"];
|
||||
$tmp2[$key1][$key2]["SoldSum2"] = $categoryArray[$key1][$key2]["SoldSum2"];
|
||||
$tmp2[$key1][$key2]["SoldSumNormal2"] = $categoryArray[$key1][$key2]["SoldSumNormal2"];
|
||||
$tmp2[$key1][$key2]["IloscNormal2"] = $categoryArray[$key1][$key2]["IloscNormal2"];
|
||||
$tmp2[$key1][$key2]["KosztSum2"] = $categoryArray[$key1][$key2]["KosztSum2"];
|
||||
|
||||
if($searchBy=="contractor")
|
||||
{
|
||||
usort($element2, "cmp");
|
||||
}else{
|
||||
usort($element2, "cmp2");
|
||||
}
|
||||
$i=0;
|
||||
$tmp2[$key1][$key2][0]= array ('name' => null);
|
||||
foreach($element2 as $count=>&$element3)
|
||||
{
|
||||
if($element3[$groupBy]!=$tmp2[$key1][$key2][$i][$groupBy])
|
||||
{
|
||||
if($tmp2[$key1][$key2][$i][$groupBy]!=null)
|
||||
{
|
||||
$i++;
|
||||
}
|
||||
$tmp2[$key1][$key2][$i]["id"]=$element3["id"];
|
||||
$tmp2[$key1][$key2][$i]["name"]=$element3["name"];
|
||||
$tmp2[$key1][$key2][$i]["code"]=$element3["code"];
|
||||
$tmp2[$key1][$key2][$i]["parent_id"]=$element3["parent_id"];
|
||||
}
|
||||
//if($element3["type"]=="normal")
|
||||
//{
|
||||
$tmp2[$key1][$key2][$i]["nettoNormal"] += $element3["netto"];
|
||||
$tmp2[$key1][$key2][$i]["IloscNormal"] += $element3["ilosc"];
|
||||
//}
|
||||
$tmp2[$key1][$key2][$i]["ilosc"] += $element3["ilosc"];
|
||||
$tmp2[$key1][$key2][$i]["netto"] += $element3["netto"];
|
||||
$tmp2[$key1][$key2][$i]["koszt"] += $element3["koszt"];
|
||||
}
|
||||
$tmp2[$key1]["IloscSum"] = $categoryArray[$key1]["IloscSum"];
|
||||
$tmp2[$key1]["SoldSum"] = $categoryArray[$key1]["SoldSum"];
|
||||
$tmp2[$key1]["SoldSumNormal"] = $categoryArray[$key1]["SoldSumNormal"];
|
||||
$tmp2[$key1]["IloscNormal"] = $categoryArray[$key1]["IloscNormal"];
|
||||
$tmp2[$key1]["KosztSum"] = $categoryArray[$key1]["KosztSum"];
|
||||
|
||||
|
||||
$sumSub2["MarzaSum"][$key1][$key2] = ($tmp2[$key1][$key2]["SoldSumNormal2"]-$tmp2[$key1][$key2]["KosztSum2"])/$tmp2[$key1][$key2]["SoldSumNormal2"]*100;
|
||||
$sumSub2["SredniaSum"][$key1][$key2] = $tmp2[$key1][$key2]["SoldSumNormal2"]/$tmp2[$key1][$key2]["IloscNormal2"];
|
||||
if($key2=="Reszta")
|
||||
{
|
||||
if(is_array($sumSub2["SredniaSum"][$key1][$key2]) || $sumSub2["SredniaSum"][$key1][$key2]=='')
|
||||
{
|
||||
$sumSub2["SredniaSum"][$key1][$key2]=0;
|
||||
}
|
||||
}
|
||||
$count1 ++;
|
||||
|
||||
$tmp2[$key1][$key2]["SredniaSum2"] = $sumSub2["SredniaSum"][$key1][$key2];
|
||||
$tmp2[$key1][$key2]["MarzaSum2"] = $sumSub2["MarzaSum"][$key1][$key2];
|
||||
}
|
||||
$sumSub["MarzaSum"][$key1] = ($tmp2[$key1]["SoldSumNormal"]-$tmp2[$key1]["KosztSum"])/$tmp2[$key1]["SoldSumNormal"]*100;
|
||||
$sumSub["SredniaSum"][$key1] = $tmp2[$key1]["SoldSumNormal"]/$tmp2[$key1]["IloscNormal"];
|
||||
|
||||
$tmp2[$key1]["SredniaSum"] = $sumSub["SredniaSum"][$key1];
|
||||
$tmp2[$key1]["MarzaSum"] = $sumSub["MarzaSum"][$key1];
|
||||
$categoryArray1=$tmp2;
|
||||
}
|
||||
|
||||
////////////////// SORT sumSub /////////////////////////////////
|
||||
foreach( $categoryArray1 as $key1=>&$element )
|
||||
{
|
||||
foreach( $element as $key2=>&$elements )
|
||||
{
|
||||
foreach( $element as $key3=>&$element2 )
|
||||
{
|
||||
if($sumSub2["SoldSum"][$key1][$key2]>$sumSub2["SoldSum"][$key1][$key3])
|
||||
{
|
||||
$tmp=$sumSub2["SoldSum"][$key1][$key2];
|
||||
$sumSub2["SoldSum"][$key1][$key2]=$sumSub2["SoldSum"][$key1][$key3];
|
||||
$sumSub2["SoldSum"][$key1][$key3]=$tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach( $sumSub["SoldSum"] as $key1=>&$element )
|
||||
{
|
||||
foreach( $sumSub["SoldSum"] as $key2=>&$element2 )
|
||||
{
|
||||
if($sumSub["SoldSum"][$key1]>$sumSub["SoldSum"][$key2])
|
||||
{
|
||||
$tmp=$sumSub["SoldSum"][$key1];
|
||||
$sumSub["SoldSum"][$key1]=$sumSub["SoldSum"][$key2];
|
||||
$sumSub["SoldSum"][$key2]=$tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
////////////////// SORT array /////////////////////////////////
|
||||
$newArray2;
|
||||
foreach( $sumSub["SoldSum"] as $key1=>&$element1 )
|
||||
{
|
||||
foreach( $categoryArray1 as $key2=>&$element2 )
|
||||
{
|
||||
if($sumSub["SoldSum"][$key1]==$categoryArray1[$key2]["SoldSum"])
|
||||
{
|
||||
$newArray2[$key2]=$categoryArray1[$key2];
|
||||
}
|
||||
}
|
||||
}
|
||||
$newArray1;
|
||||
foreach( $newArray2 as $key1=>&$element1 )
|
||||
{
|
||||
foreach( $element1 as $key2=>&$element2 )
|
||||
{
|
||||
foreach( $element1 as $key3=>&$element3 )
|
||||
{
|
||||
if($sumSub2["SoldSum"][$key1][$key2]==$newArray2[$key1][$key3]["SoldSum2"])
|
||||
{
|
||||
$newArray1[$key1][$key3]=$newArray2[$key1][$key3];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//wyliczanie dokładne marży i średniej dla produktów
|
||||
foreach( $newArray1 as $key1=>&$element1 )
|
||||
{
|
||||
foreach( $element1 as $key2=>&$element2 )
|
||||
{
|
||||
foreach( $element2 as $key3=>&$element3 )
|
||||
{
|
||||
$newArray1[$key1][$key2][$key3]["marza"] = ($newArray1[$key1][$key2][$key3]["nettoNormal"]-$newArray1[$key1][$key2][$key3]["koszt"])/$newArray1[$key1][$key2][$key3]["nettoNormal"]*100;
|
||||
$newArray1[$key1][$key2][$key3]["srednia"] = $newArray1[$key1][$key2][$key3]["nettoNormal"]/$newArray1[$key1][$key2][$key3]["IloscNormal"];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user