sesion_admon(); if(!$_SESSION["login"] || !$_SESSION["name_session"] || !$_SESSION["id_session"] || !$_SESSION["usuario"]){ print(""); }else{ if($_SESSION["login"]){ //print_r($_POST); $order=($campo && $orden ? "order by $campo $orden" : ""); $plantilla="dataforecast.html"; switch ($accion){ case "":{ //Construir el nombre verdadero de la tabla $smarty->assign('idpagina2',$idpagina2); $smarty->assign('txtbuscar',$txtbuscar); $smarty->assign('pais_sel',$pais_sel); $smarty->assign('anio_sel',$anio_sel); $smarty->assign('forecast_sel',$forecast_sel); $nomtabla=$prefijo.$tabla; unset($nombrecampo); // PROCEDIMIENTO QUE OBTIENE LOS CAMPOS A LISTAR EN EL PRIMER PANTALLAZO $sqlcam="SELECT sys_funcional.* FROM sys_funcional INNER JOIN sys_form ON sys_funcional.idform = sys_form.id WHERE sys_form.tabla = '".$nomtabla."' AND sys_funcional.activo = 'SI' AND sys_form.activo = 'SI' and sys_funcional.listado='SI' ORDER BY orden"; $qryCampos=$ln->query($sqlcam); if($ln->num_rows($qryCampos)){ $contador=0; while($row=$ln->fetch($qryCampos)){ if($row["descripcion"]!="probabilidad"){ $contador=$contador+1; $nombrecampo[$contador]=$row["descripcion"]; $labelcampo[$contador]=$row["label"]; if(substr($row["tabla_consulta"],0,4)=="sys_")$tabla_consulta[$contador]=$row["tabla_consulta"]; else $tabla_consulta[$contador]=$prefijo.$row["tabla_consulta"]; $tabla_consulta[$contador]=$row["tabla_consulta"]; $campo_consulta[$contador]=$row["campo_consulta"]; $andwhere[$contador]=$row["andwhere"]; } } } //CONSTRUIR LA CADENA QUE CONTIENE LOS NOMBRES DE LOS CAMPOS A MOSTRAR $str_campos=""; $str_titulo_campos=""; $i=1; unset($str_where); for($i=1;$i<=$contador;$i++){ $str_campos=$str_campos.$nombrecampo[$i]; if($campo==$nombrecampo[$i] && $orden=="desc"){ $titulo_campo="".$labelcampo[$i].""; }else{ $titulo_campo="".$labelcampo[$i].""; } $str_titulo_campos=$str_titulo_campos.$titulo_campo; if($i<$contador){ $str_campos=$str_campos.","; } } if($str_where)$str_where=$str_where.")"; unset($myfiltro); $limites=limit_pais($idusuario); unset($str_wherep); if($limites["tipo"]=="SI")$str_wherep=" and id='".$limites["pais"]."'"; if($limites["tipo"]=="GRUPO")$str_wherep=" and grupo='".$limites["grupo"]."'"; $Qrypaises=$ln->query("select * from dbo_paises WHERE pais_reconocimiento='SI' $str_wherep"); if(!$pais_sel){ if($_SESSION["pais_actual"])$paises[$_SESSION["pais_actual"]]=$_SESSION["nom_pais_actual"]; else $paises[""]="<<-- SELECCIONE -->>"; }else{ $paises[$pais_sel]=$pais_sel; } if($ln->num_rows($Qrypaises)){ while ($rowpaises =$ln->fetch($Qrypaises)) { $paises[$rowpaises['id']]=$rowpaises['descripcion']; } } $smarty->assign('paises',$paises); $ln->free_result($Qrypaises); //Combo Aņo unset($periodos); $Qryperiodo=$ln->query("select distinct ano from dbo_tiposperiodos order by ano desc"); if(!$anio_sel)$periodos[""]="<<-- SELECCIONE -->>"; while ($rowperiodo =$ln->fetch($Qryperiodo)) { $periodos[$rowperiodo['ano']]=$rowperiodo['ano']; } $smarty->assign('periodos',$periodos); $ln->free_result($Qryperiodo); //Seleccionar forecast if(!$pais_sel){ $pais_el=$_SESSION["pais_actual"]; }else{ $pais_el=$pais_sel; } $Qrypaises=$ln->query("select ".$prefijo."tiposperiodos.* from ".$prefijo."tiposperiodos left join (select * FROM ".$prefijo."forecat WHERE ".$prefijo."forecat.id_pais='$pais_el' and year(fecharec_inicio)='".$anio_sel."') as consulta on ".$prefijo."tiposperiodos.id=consulta.id_tipoperiodos WHERE ".$prefijo."tiposperiodos.id like 'F%' and ".$prefijo."tiposperiodos.activo='SI' and consulta.id_tipoperiodos IS NULL"); $forecasts[""]="<<-- SELECCIONE -->>"; if($ln->num_rows($Qrypaises)){ while ($rowpaises =$ln->fetch($Qrypaises)) { $forecasts[$rowpaises['id']]=$rowpaises['descripcion']; } } $smarty->assign('forecasts',$forecasts); $ln->free_result($Qrypaises); $Qrypaises=$ln->query("select ".$prefijo."tiposperiodos.* from ".$prefijo."tiposperiodos inner join (select * FROM ".$prefijo."forecat WHERE ".$prefijo."forecat.id_pais='$pais_el' and year(fecharec_inicio)='".$anio_sel."') as consulta on ".$prefijo."tiposperiodos.id=consulta.id_tipoperiodos WHERE ".$prefijo."tiposperiodos.id like 'F%' and ".$prefijo."tiposperiodos.activo='SI'"); $forecasts2[""]="<<-- SELECCIONE -->>"; if($ln->num_rows($Qrypaises)){ while ($rowpaises =$ln->fetch($Qrypaises)) { $forecasts2[$rowpaises['id']]=$rowpaises['descripcion']; } } $smarty->assign('forecasts2',$forecasts2); $ln->free_result($Qrypaises); $mostrar_datos=true; if(!$pais_sel){ if($str_where)$str_where=$str_where." and id_pais ='".$_SESSION["pais_actual"]."'"; else $str_where=" WHERE id_pais ='".$_SESSION["pais_actual"]."'"; }else{ if($str_where)$str_where=$str_where." and id_pais ='".$pais_sel."'"; else $str_where=" WHERE id_pais ='".$pais_sel."'"; } if($str_where)$str_where=$str_where." and year(fecharec_inicio) ='".$anio_sel."'"; else $str_where=" WHERE year(fecharec_inicio) ='".$anio_sel."'"; if($mostrar_datos){ $sqlcount = "SELECT count(*) FROM ".$prefijo."ventas $str_where "; $sql="SELECT $str_campos FROM ".$prefijo."ventas $str_where"; $valores=$pg->calculapaginacion($sqlcount, $Paginas, $pag); $valores=explode(";",$valores); $smarty->assign('paginacion',$pg->paginar($pag, $valores[0], $Paginas, "$PHP_SELF?tabla=$tabla&idpagina=$idpagina&pais_sel=$pais_sel&anio_sel=$anio_sel&campo=$campo&orden=$orden&accion=&pag=")); $Consulta=$ln->query("$sql $order limit $valores[1], $Paginas;"); if($ln->num_rows($Consulta)){ while ($row=$ln->fetch($Consulta)) { $str_valores_campos=""; for($i=1;$i<=$contador;$i++){ unset($desc,$str_tabla_consulta); if($campo_consulta[$i]=="id"){ if(substr($tabla_consulta[$i],0,4)=="sys_")$str_tabla_consulta=$tabla_consulta[$i]; else $str_tabla_consulta=$prefijo.$tabla_consulta[$i]; $buscando=" - ".get_descripcion($str_tabla_consulta,$row[$nombrecampo[$i]]); if($buscando!=" - ")$desc=$buscando; } $str_valores_campos=$str_valores_campos."".$row[$nombrecampo[$i]].$desc.""; } $smarty->append('Data',array('valores'=> $str_valores_campos,'id' => $row["id"],'class'=>$class)); if($class=="")$class = "class=\"odd\""; else $class = ""; } } $ln->free_result($Consulta); }else{ $ln->addlog($idusuario,"EL USUARIO NO HA CONFIGURADO SU SESION"); $mensaje=$mensaje."CONFIGURE PRIMERO SU SESION"; $plantilla="resultado.html"; $accion="error"; } //MUESTRA LA FORMA DE ORDENAR $smarty->assign('titulos_campos',$str_titulo_campos); $smarty->assign('tabla',$tabla); $smarty->assign('contarcampos',$contador + 2); $smarty->assign('campo',$campo); $smarty->assign('orden',$orden); $js->confirmar(); $js->novacio(); }break; case "procesar":{ $nomtabla=$prefijo.$tabla; unset($nombrecampo); // PROCEDIMIENTO QUE OBTIENE LOS CAMPOS A LISTAR EN EL PRIMER PANTALLAZO $sqlcam="SELECT sys_funcional.* FROM sys_funcional INNER JOIN sys_form ON sys_funcional.idform = sys_form.id WHERE sys_form.tabla = '".$nomtabla."' AND sys_funcional.activo = 'SI' AND sys_form.activo = 'SI' ORDER BY orden"; $qryCampos=$ln->query($sqlcam); if($ln->num_rows($qryCampos)){ $contador=0; while($row=$ln->fetch($qryCampos)){ if($row["descripcion"]!="id" && $row["descripcion"]!="probabilidad" && $row["descripcion"]!="id_tipoperiodos"){ $contador=$contador+1; $nombrecampo[$contador]=$row["descripcion"]; $labelcampo[$contador]=$row["label"]; if(substr($row["tabla_consulta"],0,4)=="sys_")$tabla_consulta[$contador]=$row["tabla_consulta"]; else $tabla_consulta[$contador]=$prefijo.$row["tabla_consulta"]; $tabla_consulta[$contador]=$row["tabla_consulta"]; $campo_consulta[$contador]=$row["campo_consulta"]; $andwhere[$contador]=$row["andwhere"]; } } } //CONSTRUIR LA CADENA QUE CONTIENE LOS NOMBRES DE LOS CAMPOS A MOSTRAR $str_campos=""; $str_titulo_campos=""; $i=1; unset($str_where,$campos); for($i=1;$i<=$contador;$i++){ $str_campos=$str_campos.$nombrecampo[$i]; $campos[]=$nombrecampo[$i]; if($i<$contador){ $str_campos=$str_campos.","; } } //realizar consulta a Actual $qryCiclo=$ln->query("SELECT id,$str_campos FROM ".$prefijo."ventas WHERE id_pais='$pais_sel' and year(fecharec_inicio)='$anio_sel'"); while($rowciclo=$ln->fetch($qryCiclo)){ unset($consec_nuevo,$str_values,$id_referencia); $id_referencia=$rowciclo["id"]; $consec_nuevo=consecutivo($forecast_sel,$pais_sel); for($i=0;$iquery("INSERT INTO ".$prefijo."forecat(id,$str_campos,probabilidad,id_tipoperiodos) values('".$consec_nuevo."'$str_values,'100','".$forecast_sel."')"); if($QryIns){ //echo "

Se inserto el registro principal... $consec_nuevo "; //Inserta las transacciones $qryTrans=$ln->query("SELECT * FROM ".$prefijo."reconocimiento WHERE id_ventas='".$id_referencia."'"); while($rowTrans=$ln->fetch($qryTrans)){ $QryInsTrans=$ln->query("INSERT INTO ".$prefijo."transforecat (ano,mes,id_tipoperiodos,id_ventas,valor,tipo_transaccion,observaciones,probabilidad) VALUES('".$rowTrans["ano"]."','".$rowTrans["mes"]."','".$forecast_sel."','".$consec_nuevo."','".$rowTrans["valor"]."','".$rowTrans["tipo_transaccion"]."','".$rowTrans["observaciones"]."','100')"); } $ln->free_result($qryTrans); $ln->free_result($QryInsTrans); unset($rowTrans); //echo "
Se insertaron Transacciones... $consec_nuevo "; //Inserta Incrementos $qryTrans=$ln->query("SELECT * FROM ".$prefijo."variaciones WHERE id_ventas='".$id_referencia."'"); while($rowTrans=$ln->fetch($qryTrans)){ $QryInsTrans=$ln->query("INSERT INTO ".$prefijo."variaciones (id_ventas,concepto,valor) VALUES('".$consec_nuevo."','".$rowTrans["concepto"]."','".$rowTrans["valor"]."')"); } $ln->free_result($qryTrans); $ln->free_result($QryInsTrans); unset($rowTrans); //echo "
Se insertaron los Incrementos... $consec_nuevo "; //Inserta Subcategorias $qryTrans=$ln->query("SELECT * FROM ".$prefijo."ventasubcat WHERE id_ventas='".$id_referencia."'"); while($rowTrans=$ln->fetch($qryTrans)){ $QryInsTrans=$ln->query("INSERT INTO ".$prefijo."ventasubcat (id_ventas,subcategoria,porcentaje) VALUES('".$consec_nuevo."','".$rowTrans["subcategoria"]."','".$rowTrans["porcentaje"]."')"); } $ln->free_result($qryTrans); unset($rowTrans); //echo "
Se insertaron Subcategorias... $consec_nuevo "; } } if($QryIns && $QryInsTrans){ $mensaje.="Se logro insertar los registros de Actual $pais_sel $anio_sel en $forecas_sel"; $ln->addlog($idusuario,"Se logro insertar los registros de Actual $pais_sel $anio_sel en $forecas_sel"); $plantilla="resultado3.html"; $accion="exito"; }else{ $mensaje.="Hubo problemas para exportar los datos $pais_sel $anio_sel en $forecas_sel"; $ln->addlog($idusuario,"Hubo problemas para exportar los datos $pais_sel $anio_sel en $forecas_sel"); $plantilla="resultado3.html"; $accion="error"; } }break; case "eliminar":{ //echo "Forecast : ".$forecast_del; //echo "Pais : ".$pais_del; $QryData=$ln->query("SELECT * FROM ".$prefijo."forecat WHERE id_tipoperiodos='$forecast_del' and id_pais='$pais_del'"); while($rowdel=$ln->fetch($QryData)){ unset($idreferencia); $idreferencia=$rowdel["id"]; //Borrar Transacciones $QryDel=$ln->query("DELETE FROM ".$prefijo."transforecat WHERE id_ventas='".$idreferencia."'"); //Borrar Incrementos $QryDel=$ln->query("DELETE FROM ".$prefijo."variaciones WHERE id_ventas='".$idreferencia."'"); //Subcategorias $QryDel=$ln->query("DELETE FROM ".$prefijo."ventasubcat WHERE id_ventas='".$idreferencia."'"); } $QryDel=$ln->query("DELETE FROM ".$prefijo."forecat WHERE id_tipoperiodos='$forecast_del' and id_pais='$pais_del'"); if($QryDel){ $mensaje.="Se eliminaron los datos de Forecast : ".get_descripcion($prefijo."tiposperiodos",$forecast_del)." de ".get_descripcion($prefijo."paises",$pais_del); $ln->addlog($idusuario,"Elimino la data de Forecast : $forecast_del del pais : $pais_del"); $plantilla="resultado3.html"; $accion="exito"; }else{ $mensaje.="No se logro eliminar Forecast : ".get_descripcion($prefijo."tiposperiodos",$forecast_del)." de ".get_descripcion($prefijo."paises",$pais_del)." Intentelo de nuevo porfavor"; $ln->addlog($idusuario,"Intento Eliminar la data de Forecast : $forecast_del del pais : $pais_del"); $plantilla="resultado3.html"; $accion="error"; } }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(); }else{ echo "Debe loguearse primero..."; print(""); } } ?>