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(); ?>