sesion_admon();
if(!$_SESSION["login"] || !$_SESSION["name_session"] || !$_SESSION["id_session"] || !$_SESSION["usuario"]){
print("");
}else{
$order=($campo && $orden ? "order by $campo $orden" : "");
$plantilla="informe_catms.html";
$title = "CATEGORY MONTHLY SALES";
switch ($accion){
case "":{
$Qryperiodo=$ln->query("select * from dbo_tiposperiodos");
$periodo[""]="<<-- SELECCIONE -->>";
if($ln->num_rows($Qryperiodo)){
while ($rowperiodo =$ln->fetch($Qryperiodo)) {
$periodo[$rowperiodo['id']]=$rowperiodo['descripcion'];
}
}
$smarty->assign('periodos',$periodo);
$ln->free_result($Qryperiodo);
$clientes[""]="<<-- TODOS -->>";
$Qryclientes=$ln->query("select * from dbo_categorias order by descripcion");
if($ln->num_rows($Qryclientes)){
while ($rowclientes =$ln->fetch($Qryclientes)) {
$clientes[$rowclientes['id']]=$rowclientes['descripcion'];
}
}
$smarty->assign('clientes',$clientes);
$ln->free_result($Qryclientes);
//Combo de Paises
$limites=limit_pais($idusuario);
unset($str_where);
if($limites["tipo"]=="SI")$str_where=" and id='".$limites["pais"]."'";
if($limites["tipo"]=="GRUPO")$str_where=" and grupo='".$limites["grupo"]."'";
if($limites["tipo"]!="SI")$paises[""]="<<-- SELECCIONE -->>";
if($limites["tipo"]=="NO"){
$Qrypaises=$ln->query("select distinct region from dbo_paises WHERE pais_reconocimiento='SI'");
if($ln->num_rows($Qrypaises)){
while ($rowpaises =$ln->fetch($Qrypaises)) {
$paises[$rowpaises['region']]=$rowpaises['region'];
}
}
$ln->free_result($Qrypaises);
}
if($limites["tipo"]!="SI"){
$Qrypaises=$ln->query("select distinct grupo from dbo_paises WHERE pais_reconocimiento='SI' $str_where");
if($ln->num_rows($Qrypaises)){
while ($rowpaises =$ln->fetch($Qrypaises)) {
$paises[$rowpaises['grupo']]=$rowpaises['grupo'];
}
}
$ln->free_result($Qrypaises);
}
$Qrypaises=$ln->query("select * from dbo_paises WHERE pais_reconocimiento='SI' $str_where");
if($ln->num_rows($Qrypaises)){
while ($rowpaises =$ln->fetch($Qrypaises)) {
$paises[$rowpaises['id']]=$rowpaises['descripcion'];
}
}
$smarty->assign('paises',$paises);
$ln->free_result($Qrypaises);
//Fin Combo paises
$Qrypaises=$ln->query("select distinct sigla_moneda,moneda from dbo_paises WHERE pais_reconocimiento='SI' and sigla_moneda <>''");
$monedas["LOCAL"]="LOCAL";
$monedas["USD"]="DOLAR";
$smarty->assign('monedas',$monedas);
$ln->free_result($Qrypaises);
$js->enviar();
$js->novacio();
}break;
case "buscar":{
//echo "";
//preguntar();
//print_r($clientes);
//echo "
";
$smarty->assign("c_t",14);
$ln->query("DROP TABLE IF EXISTS `rpt_catms_$idusuario`;");
$ln->query("CREATE TABLE `rpt_catms_$idusuario` (
`idcategoria` varchar(20) NOT NULL,
`idpais` varchar(20) NOT NULL,
`moneda` varchar(20) NOT NULL,
`categoria` varchar(50) NOT NULL,
`jan` decimal(25,2) NOT NULL,
`feb` decimal(25,2) NOT NULL,
`mar` decimal(25,2) NOT NULL,
`apr` decimal(25,2) NOT NULL,
`may` decimal(25,2) NOT NULL,
`jun` decimal(25,2) NOT NULL,
`jul` decimal(25,2) NOT NULL,
`aug` decimal(25,2) NOT NULL,
`sep` decimal(25,2) NOT NULL,
`oct` decimal(25,2) NOT NULL,
`nov` decimal(25,2) NOT NULL,
`dic` decimal(25,2) NOT NULL,
`vt` decimal(25,2) NOT NULL
)");
$filas=0;
if(strtoupper(substr($periodos1,0,1))=="A"){$tabla_ventas=$prefijo."ventas";$tabla_reconocimiento=$prefijo."reconocimiento";}
if(strtoupper(substr($periodos1,0,1))=="B"){$tabla_ventas=$prefijo."budget";$tabla_reconocimiento=$prefijo."transbudget";}
if(strtoupper(substr($periodos1,0,1))=="F"){$tabla_ventas=$prefijo."forecat";$tabla_reconocimiento=$prefijo."transforecat";}
if($tabla_ventas){
$smarty->assign("periodos1",$periodos1);
$total_v1=0;
$total_v2=0;
$total_v3=0;
$total_v4=0;
$total_v5=0;
$total_v6=0;
$total_v7=0;
$total_v8=0;
$total_v9=0;
$total_v10=0;
$total_v11=0;
$total_v12=0;
$registros=0;
$QryClientes=$ln->query("SELECT * FROM ".$prefijo."categorias ORDER BY descripcion");
while($rowFila=$ln->fetch($QryClientes)){
unset($idservicio,$servicio,$v1,$v2,$v3,$v4,$v5,$v6,$v7,$v8,$v9,$v10,$v11,$v12,$vt);
$idcategoria=$rowFila["id"];
$categoria=$rowFila["descripcion"];
$nompais=get_descripcion($prefijo."paises",$pais);
if(!$nompais)$nompais=$pais;
$mon=get_moneda($pais);
$str_pais=" and ($tabla_ventas.id_pais='".$pais."' or ".$prefijo."paises.grupo='".$pais."' or ".$prefijo."paises.region='".$pais."')";
$vacio=in_array("",$categorias);
$clave=in_array("$idcategoria",$categorias);
//echo "
vacio: ".$vacio.", clave: ".$clave;
if($clave || $vacio){
$escribir=false;
$Data["categoria"]="$categoria";
$Data_aux["categoria"]="$categoria";
for($mes=1;$mes<=12;$mes++){
//Determinar Comparar
if($moneda=="LOCAL"){
$QryCant=$ln->query("SELECT sum(if($tabla_ventas.id_moneda='".$mon["sigla"]."', $tabla_reconocimiento.valor * ($tabla_reconocimiento.probabilidad/100), ($tabla_reconocimiento.valor * ($tabla_reconocimiento.probabilidad/100))/".$prefijo."paises.tasa)) as valor1 FROM ((($tabla_ventas INNER JOIN $tabla_reconocimiento ON $tabla_ventas.id=$tabla_reconocimiento.id_ventas) INNER JOIN ".$prefijo."tiposperiodos ON $tabla_ventas.id_tipoperiodos=".$prefijo."tiposperiodos.id) INNER JOIN ".$prefijo."paises ON $tabla_ventas.id_pais=".$prefijo."paises.id) WHERE $tabla_ventas.id_categoria='".$rowFila["id"]."' $str_pais and $tabla_ventas.id_tipoperiodos='".$periodos1."' and $tabla_reconocimiento.ano=".$prefijo."tiposperiodos.ano and $tabla_reconocimiento.mes='$mes' and $tabla_ventas.activo='SI'");
}else{
$QryCant=$ln->query("SELECT sum(if($tabla_ventas.id_moneda='USD',$tabla_reconocimiento.valor * ($tabla_reconocimiento.probabilidad/100),($tabla_reconocimiento.valor * ($tabla_reconocimiento.probabilidad/100))/".$prefijo."paises.tasa)) as valor1 FROM ((($tabla_ventas INNER JOIN $tabla_reconocimiento ON $tabla_ventas.id=$tabla_reconocimiento.id_ventas) INNER JOIN ".$prefijo."tiposperiodos ON $tabla_ventas.id_tipoperiodos=".$prefijo."tiposperiodos.id) INNER JOIN ".$prefijo."paises ON $tabla_ventas.id_pais=".$prefijo."paises.id) WHERE $tabla_ventas.id_categoria='".$rowFila["id"]."' $str_pais and $tabla_ventas.id_tipoperiodos='".$periodos1."' and $tabla_reconocimiento.ano=".$prefijo."tiposperiodos.ano and $tabla_reconocimiento.mes='$mes' and $tabla_ventas.activo='SI'");
}
$rowClient=$ln->fetch($QryCant);
$vt=$vt+$rowClient["valor1"];
$Data["v".$mes]=$rowClient["valor1"];
$Data_aux["v".$mes]=number_format($rowClient["valor1"]);
if($rowClient["valor1"]!=0)$escribir=true;
$nomvar="total_v".$mes;
$$nomvar=$$nomvar+$rowClient["valor1"];
unset($rowClient);
}
//Decide si escribe el renglon
if($escribir){
$registros++;
$Data["vt"]=$vt;
$Data_aux["vt"]=number_format($vt);
if($class=="class=\"odd\"")$class="";
else $class="class=\"odd\"";
$Data_aux["class"]=$class;
$Data_aux["idtr"]="fila".$filas;
$Data_aux["tabla_detalle"]=get_detalle_catms($rowFila["id"],$pais,$periodos1,$moneda,"subfila".$filas);
$smarty->append('Data',$Data_aux);
$Data["categoria"]=str_replace("'","\'",$Data["categoria"]);
$QryDw=$ln->query("INSERT INTO rpt_catms_$idusuario (idcategoria,idpais,moneda,categoria,jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dic,vt) values('".$rowFila["id"]."','".$pais."','".$moneda."','".$Data["categoria"]."','".$Data["v1"]."','".$Data["v2"]."','".$Data["v3"]."','".$Data["v4"]."','".$Data["v5"]."','".$Data["v6"]."','".$Data["v7"]."','".$Data["v8"]."','".$Data["v9"]."','".$Data["v10"]."','".$Data["v11"]."','".$Data["v12"]."','".$vt."')");
}
}
$filas++;
}
$smarty->assign("total_v1",number_format($total_v1));
$smarty->assign("total_v2",number_format($total_v2));
$smarty->assign("total_v3",number_format($total_v3));
$smarty->assign("total_v4",number_format($total_v4));
$smarty->assign("total_v5",number_format($total_v5));
$smarty->assign("total_v6",number_format($total_v6));
$smarty->assign("total_v7",number_format($total_v7));
$smarty->assign("total_v8",number_format($total_v8));
$smarty->assign("total_v9",number_format($total_v9));
$smarty->assign("total_v10",number_format($total_v10));
$smarty->assign("total_v11",number_format($total_v11));
$smarty->assign("total_v12",number_format($total_v12));
$total_vt=$total_v1+$total_v2+$total_v3+$total_v4+$total_v5+$total_v6+$total_v7+$total_v8+$total_v9+$total_v10+$total_v11+$total_v12;
$smarty->assign("total_vt",number_format($total_vt));
$smarty->assign("pais",$nompais." - ".get_descripcion($prefijo."tiposperiodos",$periodos1));
$moned=get_moneda($pais);
if($moneda=="LOCAL" && $moned)$str_mon=$moned["nombre"];
else $str_mon="DOLAR";
$smarty->assign("str_mon",$str_mon);
$smarty->assign("filas",$filas);
if($registros==0){
$mensaje=$mensaje."NO HAY DATOS";
$plantilla="resultado.html";
$accion="error";
}
}
}break;
case "descargar":{
$nomarchivo="CategoryMonthlySales_".date('Y-m-d_H-i-s',time()).".csv";
$file=$rootdir."files/descargables/".$nomarchivo;
unlink($file);
$fp = fopen($file,"w");
fwrite($fp,$cadena);
$periodos1=str_replace("
"," ",$periodos1);
//Titulos de la Tabla
$cadena="CATEGORY MONTHLY SALES $pais $periodos1 $str_mon\r\n\r\nCATEGORY;CLIENT;SERVICE;JAN;FEB;MAR;APR;MAY;JUN;JUL;AUG;SEP;OCT;NOV;DIC;FULL YEAR\r\n\r\n";
//Escribir los encabezados del informe
fwrite($fp,$cadena);
//Escribir las filas del informe
$QryInforme=$ln->query("SELECT * FROM rpt_catms_$idusuario");
$v1=0;
$v2=0;
$v3=0;
$v4=0;
$v5=0;
$v6=0;
$v7=0;
$v8=0;
$v9=0;
$v10=0;
$v11=0;
$v12=0;
$filas=0;
while($ro=$ln->fetch($QryInforme)){
$ocliente=str_replace("'","\'",$ro["categoria"]);
$cadena="$ocliente;;;".$ro["jan"].";".$ro["feb"].";".$ro["mar"].";".$ro["apr"].";".$ro["may"].";".$ro["jun"].";".$ro["jul"].";".$ro["aug"].";".$ro["sep"].";".$ro["oct"].";".$ro["nov"].";".$ro["dic"].";".$ro["vt"]."\r\n";
$cadena=str_replace(".",",",$cadena);
fwrite($fp,$cadena);
$v1=$v1+$ro["jan"];
$v2=$v2+$ro["feb"];
$v3=$v3+$ro["mar"];
$v4=$v4+$ro["apr"];
$v5=$v5+$ro["may"];
$v6=$v6+$ro["jun"];
$v7=$v7+$ro["jul"];
$v8=$v8+$ro["aug"];
$v9=$v9+$ro["sep"];
$v10=$v10+$ro["oct"];
$v11=$v11+$ro["nov"];
$v12=$v12+$ro["dic"];
$vt=$vt+$ro["vt"];
$cadena=get_detalle_catms($ro["idcategoria"],$ro["idpais"],$periodos1,$ro["moneda"],"subfila".$filas,"txt");
//echo "Cliente : ".$ro["idcliente"].", Pais : ".$ro["idpais"].", Periodos : ".$periodos1.", Moneda ".$ro["moneda"].", subfila".$filas."
Cadena :".$cadena;
fwrite($fp,$cadena."\r\n");
$filas++;
}
//Adicionar los Totales
$cadena="\r\n TOTALES;;;".$v1.";".$v2.";".$v3.";".$v4.";".$v5.";".$v6.";".$v7.";".$v8.";".$v9.";".$v10.";".$v11.";".$v12.";".$vt.";";
$cadena=str_replace(".",",",$cadena);
fwrite($fp,$cadena);
fclose($fp);
//forzar la descarga
$filename = $nomarchivo;
$size = filesize($file);
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
header("Content-Transfer-Encoding: text");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Length: $size");
@readfile("$file");
exit;
}
break;
}
}
$smarty->assign('titulo',$title);
$smarty->assign('accion',$accion);
$smarty->assign('idpagina',$idpagina);
$smarty->assign('permiso_pagina',$permisos[$idpagina]);
$smarty->assign('pagina',strtoupper($titulos[$idpagina]));
$smarty->assign('mensaje',$mensaje);
$smarty->display($plantilla);
$ln->desconectar();
?>