function ObtieneIdUsuario($strUsuario) { require_once '../CAD/clsCADUsu.php'; $clsCADUsu = new clsCADUsu(); $clsCADUsu->setStrBD($this->getStrBD()); return $clsCADUsu->ObtieneIdUsuario($strUsuario); }
function AltaExterna(&$num, $strUsuario, $strClienteNombre, $strClienteApellidos, $strEmpresa, $strPoblacion, $strDireccion, $lngCP, $strProvincia, $strTelefono, $strFax, $strEmail, $lngFactura, $lngExpediente, $datFechaServicio, $strServAfect, $strDescripcion, $strCodigo, $lngDepartamento, $strTipReclamacion, $optCri013) { logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna(&{$num},{$strUsuario},{$strClienteNombre},{$strClienteApellidos},{$strEmpresa},{$strPoblacion},\r\n {$strDireccion},{$lngCP},{$strProvincia},{$strTelefono},{$strFax},{$strEmail},{$lngFactura},\r\n {$lngExpediente},{$datFechaServicio},{$strServAfect},{$strDescripcion},{$strCodigo},{$lngDepartamento},\r\n {$strTipReclamacion},{$optCri013})>"); if ($strUsuario == '') { return 'No se puede realizar el Alta.'; } require_once '../CAD/clsCADUsu.php'; $clsCADUsu = new clsCADUsu(); $clsCADUsu->setStrBD($this->getStrBD()); logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna()->ObtieneIdUsuario({$strUsuario})>"); $idUsu = $clsCADUsu->ObtieneIdUsuario($strUsuario); logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna()->ObtieneRespDepartamento({$lngDepartamento})>"); $idResp = $clsCADUsu->ObtieneRespDepartamento($lngDepartamento); date_default_timezone_set('Europe/Madrid'); $strAnio = date("y", time()); //extraigo el lngId maximo que haya en la tabla tbReclamaciones, si hay nuestro lngId sera ese mas 1, sino será el 1 require_once '../general/' . $_SESSION['mapeo']; $db = new Db(); $db->conectar($this->getStrBD()); $strSQL = 'SELECT if(isnull(Max(lngId)),1,Max(lngId)+1) AS lngId FROM tbreclamaciones'; $stmt = $db->ejecutar($strSQL); if ($stmt) { $row = mysql_fetch_array($stmt); $lngId = $row['lngId']; } else { $lngId = 1; } logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna(): lngId: " . $lngId); //calculo el valor de la strReclamacion (es un numero compuesto por el numero de reclamacion una barra de division / y el año (2 cifras) //primero busco el valor del campo strReclamacion. Este campo tiene la parte izda (7 caracteres de numeracion anual //y 2 caracteres por la derecha del año Ej: 0000003/09). Buscamos el valro maximo de la parte izda de strReclamacion //filtrando por la parte derecha (año) $strSQL = 'SELECT Left(max(strReclamacion),7) AS numero FROM tbreclamaciones WHERE right(strReclamacion,2) = "' . $strAnio . '"'; $stmt = $db->ejecutar($strSQL); $row = mysql_fetch_array($stmt); $numAnual = ''; //si hay valor (que existe ya alguna reclamacion del año if ($row['numero'] == '') { $numAnual = '0000001/' . $strAnio; } else { $numAnual = $row['numero'] + 1; $long = strlen($numAnual); for ($i = 1; $i <= 7 - $long; $i++) { $numAnual = '0' . $numAnual; } $numAnual = $numAnual . '/' . $strAnio; } $strReclamacion = $numAnual; logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna(): strReclamacion: " . $strReclamacion); //extraigo el lngIdEmpleado según su strUsuario $lngIdEmpleado = $strUsuario; $strSQL = 'INSERT INTO tbreclamaciones(lngId, strReclamacion, lngIdEmpleado, lngIdResponsableAfect, strClienteNombre, ' . 'strClienteApellidos, strEmpresa, strDireccion, strPoblacion, lngCP, strProvincia, strTelefono, strTelefono2,strFax, ' . 'strEmail, lngFactura, lngExpediente, datFechaServicio, strServAfect, strDescripcion, datFechaAlta, ' . 'datFechaReclamacion, strCodigoOficina,lngIdDepartamento,lngTipologia,lngStatus,datFechaStatus,lngIdEmpleadoStatus) ' . 'VALUES (' . $lngId . ',"' . $strReclamacion . '",' . $idUsu . ',' . $idResp . ',"' . $strClienteNombre . '","' . $strClienteApellidos . '","' . $strEmpresa . '","' . $strDireccion . '","' . $strPoblacion . '",' . $lngCP . ',"' . $strProvincia . '","' . $strTelefono . '","' . $strTipReclamacion . '","' . $strFax . '","' . $strEmail . '",' . $lngFactura . ',' . $lngExpediente . ',"' . $datFechaServicio . '","' . $strServAfect . '","' . mysql_real_escape_string($strDescripcion) . '",' . 'now(),now(),"' . $strCodigo . '",' . $lngDepartamento . ',' . $optCri013 . ',1,now(),' . $idUsu . ') '; $stmt = $db->ejecutar($strSQL); logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna(): SQL: " . $strSQL); if (!$stmt) { logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna(): Consulta SQL fallida "); return 'No se puede realizar el Alta (2).<br/>'; } $strSQL = 'SELECT * from tbreclamaciones where right(strReclamacion,2) = "' . $strAnio . '"'; $stmt = $db->ejecutar($strSQL); $db->desconectar(); $num = mysql_num_rows($stmt); if ($num == 0) { $num = 1; } $num = $num . '/' . $strAnio; //si hemos llegado hasta aqui es que se ham realizado todas las operaciones correctamente (insercion de los datos //en la tabla tbreclamaciones) por lo que devolvemos true logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCADRecl->AltaExterna()< Insercion correcta TRUE"); return 'OK'; }