Files
crm.e5.pl/modules/EcmProductReports/index2.php
2024-04-27 09:23:34 +02:00

222 lines
7.6 KiB
PHP
Executable File

<table cellspacing="0" cellpadding="0" border="0"><tr><td width="19"><img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16"></td>
<td width="544"><h2>Warehouse cubics </h2></td></tr></table><br />
<table class="h3Row" width="100%" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td nowrap="nowrap">
<h3>Months List</h3>
</td>
<td width="100%">
<img src="include/images/blank.gif" alt="" width="1" height="1">
</td>
</tr>
</tbody>
</table>
<?
include_once("modules/EcmReports/cache.php");
include_once("modules/EcmProductReports/vtigerConnector.php");
$vc=new vtigerConnector();
$vc->start=1;
$wc[]="1=1";
$wc[]="purchaseordercf.cf_528='0'";
$wc[]="purchaseorder.tracking_no!=''";
$vc1->where=@implode(" and ",$wc);
$vc->getData();
$cnt=$vc->getCount();
$data=$vc->data;
/*
for($i=0;$i<count($data);$i++){
if($data[$i]['deliverydate'])$dat[$data[$i]['productcode']]=$data[$i];
}
$data=$dat;
*/
$vc1=new vtigerConnector();
$vc1->start=1;
$wc1[]="1=1";
$wc1[]="purchaseordercf.cf_528='1'";
$wc1[]="purchaseorder.tracking_no!=''";
$vc1->where=@implode(" and ",$wc1);
$vc1->getData();
$cnt=$vc1->getCount();
$data1=$vc1->data;
/*
for($i=0;$i<count($data1);$i++){
if($data1[$i]['deliverydate'])$dat1[$data1[$i]['productcode']]=$data1[$i];
}
$data1=$dat1;
*/
function getSales($date1,$date2){
$sale=0;
$qty=0;
$w=mysql_query("select p.carton_volume_meter,p.pieces_per_carton,ecminvoiceoutitems.price as price,ecminvoiceoutitems.quantity as quantity,ecminvoiceouts.register_date as date,ecminvoiceouts.type as type,ecminvoiceoutitems.ecminvoiceoutitem_id as item from ecminvoiceoutitems inner join ecminvoiceouts on ecminvoiceoutitems.ecminvoiceout_id=ecminvoiceouts.id inner join ecmproducts as p on p.id=ecminvoiceoutitems.ecmproduct_id where ecminvoiceouts.status='accepted' and ecminvoiceouts.register_date>='".$date1."' and ecminvoiceouts.register_date<='".$date2."'");
while($r=mysql_fetch_array($w)){
//if($r['type']!="correct"){
$sale+=$r['price']*$r['quantity'];
$qty+=$r['quantity'];
@$cbm+=$r['quantity']*$r['carton_volume_meter']/$r['pieces_per_carton'];
//}
if($r['type']=="correct"){
$rr=mysql_fetch_array(mysql_query("select price,quantity from ecminvoiceoutitems where id='".$r['item']."'"));
$sale-=$rr['price']*$rr['quantity'];
$qty-=$rr['quantity'];
@$cbm-=$rr['quantity']*$r['carton_volume_meter']/$r['pieces_per_carton'];
}
}
return array(
"qty"=>$qty,
"sale"=>$sale,
"cbm"=>$cbm,
);
}
function getQuotes($date1,$date2){
$sale=0;
$qty=0;
$w=mysql_query("select p.carton_volume_meter,p.pieces_per_carton,ecmquoteitems.price as price,ecmquoteitems.quantity as quantity from ecmquoteitems inner join ecmquotes on ecmquoteitems.ecmquote_id=ecmquotes.id inner join ecmproducts as p on p.id=ecmquoteitems.ecmproduct_id where ecmquotes.status!='s10' and ecmquotes.validtill_date>'".$date1."' and ecmquotes.validtill_date<='".$date2."'");
while($r=mysql_fetch_array($w)){
$sale+=$r['price']*$r['quantity'];
$qty+=$r['quantity'];
@$cbm+=$r['quantity']*$r['carton_volume_meter']/$r['pieces_per_carton'];
}
return array(
"qty"=>$qty,
"sale"=>$sale,
"cbm"=>$cbm,
);
}
function getS($year,$month,$mmm){
//@$c=$s['cbm']/$s['qty'];
$ww=mysql_query("select id,carton_volume_meter,pieces_per_carton from ecmproducts where product_active='1' and deleted='0'");
$sum=sum($year,"","","",1);
while($rr=mysql_fetch_array($ww)){
$w=mysql_query("select value as quantity from ecmsalesreports_predictions_cat where year='".$year."' and month='".$month."' and bean_id='".$rr['id']."'");
if(mysql_num_rows($w)>0){
while($r=mysql_fetch_array($w)){
if($rr['pieces_per_carton'])$cbm+=$r['quantity']*$rr['carton_volume_meter']/$rr['pieces_per_carton'];
}
}
else{
$s=getSum($sum,$year,$rr['id']);
if($rr['pieces_per_carton'])$cbm+=$s['qty']*$rr['carton_volume_meter']/$rr['pieces_per_carton'];
}
}
return ($cbm/$mmm);
}
function getCbm($stock_id,$date){
$w=mysql_query("select o.quantity,p.carton_volume_meter,p.pieces_per_carton,o.type from ecmstockoperations as o inner join ecmproducts as p on p.id=o.product_id where o.date_entered<='".$date."' and o.stock_id='".$stock_id."'");
while($r=mysql_fetch_array($w)){
if($r['type']==0){
@$cbm+=$r['quantity']*$r['carton_volume_meter']/$r['pieces_per_carton'];
}
else{
@$cbm-=$r['quantity']*$r['carton_volume_meter']/$r['pieces_per_carton'];
}
}
return $cbm;
}
function getOrdered($arr,$month){
if(count($arr)>0){
foreach($arr as $a){
if(!eregi($month,$a['deliverydate']))continue;
$r=mysql_fetch_array(mysql_query("select carton_volume_meter,pieces_per_carton from ecmproducts where code like '".str_replace("_S","",$a['productcode'])."'"));
@$cbm+=$a['quantity']*$r['carton_volume_meter']/$r['pieces_per_carton'];
//echo $a['deliverydate']." ".($a['quantity']*$r['carton_volume_meter']/$r['pieces_per_carton'])." ".$a['productcode']." ".$r['pieces_per_carton']." ".$r['carton_volume_meter']."<br>";
}
}
return $cbm;
}
function getMonths($month,$l){
for($i=1;$i<=$l;$i++){
$m[]=date("Y-m",mktime()+$i*3600*24*30);
}
return $m;
}
$tds1='<td class="listViewThS1">';
$trs='<tr>';
$tre='</tr>';
$tds='<td class="oddListRowS1">';
$tde='</td>';
$tbs='<table cellpadding="0" cellspacing="0" border="0" class="ListView" style="width:100%;">';
$tbe='</table>';
$mmm=(int)date("m")-1;
$t.=$tbs;
$t.=$trs;
$t.=$tds1;
$t.="Month";
$t.=$tde;
$t.=$tds1;
$t.="First day";
$t.=$tde;
$t.=$tds1;
$t.="Sales reg.";
$t.=$tde;
$t.=$tds1;
$t.="Sales promo";
$t.=$tde;
$t.=$tds1;
$t.="Ordered";
$t.=$tde;
$t.=$tds1;
$t.="Last day";
$t.=$tde;
$t.=$tre;
$months=getMonths(date("m"),6);
$cbm_first_day=getCbm("c7afd71a-4c3a-bde4-138d-4acaee1644e4",date("Y-m")."-01");
$s=getSales(date("Y-m")."-01",date("Y-m")."-31");
$cbm_ordered=getOrdered($data,date("Y-m"));
$cbm_ordered1=getOrdered($data1,date("Y-m"));
//$cbm=getS(date("Y"),date("m"),$mmm);
$as=getSales(date("Y")."-01-01",date("Y-m")."-01");
$qs=getQuotes(date("Y-m")."-01",date("Y-m")."-31");
//print_r($as);
$cbm=$as['cbm']/$mmm;
$cbm_q=$qs['cbm'];
if(date("m")=="06")$cbm_fd=753.4;
else $cbm_fd=($cbm_first_day+$cbm_ordered1);
$cbm_last_day=$cbm_fd-$cbm-$cbm_q+$cbm_ordered;
$t.='<tr>';
$t.='<td class="oddListRowS1" width="5%">'.date("Y-m").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format($cbm_fd,2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm),2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm_q),2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm_ordered),2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm_last_day),2,",",".").'</td>';
$t.='</tr>';
$mmm=(int)date("m")-1;
foreach($months as $m){
$cbm_first_day=$cbm_last_day;
$cbm_ordered=getOrdered($data,$m);
$e=explode("-",$m);
$qs=getQuotes($m."-01",$m."-31");
$cbm_q=$qs['cbm'];
//$cbm=getS($e[0],(int)$e[1],$mmm);
$cbm_last_day=$cbm_first_day+$cbm_ordered-$cbm-$cbm_q;;
$t.='<tr>';
$t.='<td class="oddListRowS1" width="5%">'.$m.'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm_first_day),2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm),2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm_q),2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm_ordered),2,",",".").'</td>';
$t.='<td class="oddListRowS1" width="5%">'.number_format(($cbm_last_day),2,",",".").'</td>';
$t.='</tr>';
}
$t.='</tbody>';
$t.='</table>';
echo $t;
?>