function AltaExterna(&$num, $strUsuario, $strClienteNombre, $strClienteApellidos, $strEmpresa, $strPoblacion, $strDireccion, $lngCP, $strProvincia, $strTelefono, $strFax, $strEmail, $lngFactura, $lngExpediente, $datFechaServicio, $strServAfect, $strDescripcion, $strOficina, $strDepartamento, $strTipencuesta, $optCri013, $strOficina2, $strTipencuesta2) { logger('traza', 'clsCNEnc.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCNEnc->AltaExterna()>"); //validación datos entrada if (is_null($strUsuario)) { $alta = 'Falta usuario.'; } $datFechaServicio2 = '000-00-00 00:00:00'; if ($datFechaServicio == '') { date_default_timezone_set('Europe/Madrid'); $datFechaServicio2 = date('Y-m-d h:m:s'); } else { //pasarla a DATETIME 0000-00-00 00:00:00 $datFechaServicio2 = fecha_to_DATETIME($datFechaServicio); } if (!isset($strDireccion)) { $strDireccion = ''; } if (!is_numeric($lngFactura)) { $lngFactura = 0; } if (!is_numeric($lngExpediente)) { $lngExpediente = 0; } if (!is_numeric($lngCP)) { $lngCP = 0; } if (!isset($strPoblacion)) { $strPoblacion = ''; } if (!isset($strTelefono)) { $strTelefono = ''; } if (!isset($strFax)) { $strFax = ''; } //Control de la oficina $oficina = explode('.', $strOficina); $strCodigo = $oficina[0]; //comprobamos que el numero de oficina exista en la tabla tboficina //sino existe asigno false a la variable de control $existeOficina logger('traza', 'clsCNEnc.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCNEnc->AltaExterna()->existeOficina({$strCodigo})>"); $existeOficina = $this->existeOficina($strCodigo); //si el dato de la oficina viene vacio o no existe la oficina le asigno la oficina del usuario $datos = array(); if (isset($strOficina) && $strOficina == '' || $existeOficina == 'NO') { require_once '../CN/clsCNUsu.php'; $clsCNUsu = new clsCNUsu(); $clsCNUsu->setStrBD($this->getStrBD()); logger('traza', 'clsCNEnc.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCNEnc->AltaExterna()->ObtieneOficinaDep_usuario(" . $_SESSION['usuario'] . ")>"); $datos = $clsCNUsu->ObtieneOficinaDep_usuario($_SESSION['usuario']); $ofi = explode('.', $datos['strOficina']); $strCodigo = $ofi[0]; } //Control del departamento //si el dato del departamento viene vacio o no existe en la tabla tbdepartamentos, le asigno el departamento del usuario $lngDepartamento = 'null'; //no existe departamento logger('traza', 'clsCNEnc.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCNEnc->AltaExterna()->existeDpto({$strDepartamento})>"); $existeDpto = $this->existeDpto($strDepartamento); if (isset($strDepartamento) && $strDepartamento == '' || $existeDpto == 'NO') { logger('traza', 'clsCNEnc.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCNEnc->AltaExterna():lngDepartamento: " . $lngDepartamento); } else { //sino busco el $lngDepartamento require_once '../CN/clsCNDep.php'; $clsCNDep = new clsCNDep(); $clsCNDep->setStrBD($this->getStrBD()); logger('traza', 'clsCNEnc.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCNEnc->AltaExterna()->ObtieneIdDep({$strDepartamento})>"); $lngDepartamento = $clsCNDep->ObtieneIdDep($strDepartamento); } $strDescripcion = substr($strDescripcion, 0, 800); require_once '../CAD/clsCADEnc.php'; $clsCADEnc = new clsCADEnc(); $clsCADEnc->setStrBD($this->getStrBD()); $alta = $clsCADEnc->AltaExterna($num, $strUsuario, $strClienteNombre, $strClienteApellidos, $strEmpresa, $strPoblacion, $strDireccion, $lngCP, $strProvincia, $strTelefono, $strFax, $strEmail, $lngFactura, $lngExpediente, $datFechaServicio2, $strServAfect, $strDescripcion, $strCodigo, $lngDepartamento, $strTipencuesta, $optCri013); return $alta; }