private function NewUser() { $DB = new DataBase(); $nombre = filter_input(INPUT_POST, "nombre"); $apellido_p = filter_input(INPUT_POST, "apellido_p"); $apellido_m = filter_input(INPUT_POST, "apellido_m"); $fecha_nac = filter_input(INPUT_POST, "fecha_nac"); $curp = filter_input(INPUT_POST, "curp"); $usuario = filter_input(INPUT_POST, "usuario"); $password = filter_input(INPUT_POST, "password"); $Repeated = "SELECT * FROM Usuarios WHERE nombre_usuario COLLATE utf8_bin = '{$usuario}'"; $ResultRepetaed = $DB->ConsultaSelect("CFDI", $Repeated); if ($ResultRepetaed['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al comprobar que el usuario no estuviera registrado previamente</p><br>Detalles:<br><br>" . $ResultRepetaed['Estado']); return; } if (count($ResultRepetaed['ArrayDatos']) > 0) { XML::XmlResponse("RepeatedUser", 1, "El usuario '{$nombre}' ya existe"); return 0; } $Insert = "INSERT INTO Usuarios (nombre_usuario,password,nombre,apellido_materno,apellido_paterno,curp,fecha_nac,tipo_usuario,fecha_alta)\r\n VALUES ('{$usuario}' ,'{$password}', '{$nombre}','{$apellido_m}','{$apellido_p}','{$curp}','{$fecha_nac}','usuario',now())"; if (($ResultInsert = $DB->ConsultaQuery("CFDI", $Insert)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al registrar el nuevo usuario</p><br>Detalles:<br><br>{$ResultInsert}"); return 0; } XML::XmlResponse("NewUser", 1, "El usuario '{$usuario}' se dio de alta con éxito"); }
public function InsertHistorical($content, $IdUser, $id_detalle, $id_validacion, $ruta_xml, $ruta_pdf, $tipo_archivo) { $DB = new DataBase(); $q = "INSERT INTO historial_{$content} SET id_detalle={$id_detalle},id_validacion={$id_validacion},id_usuario={$IdUser}" . ",fecha_hora=now(),ruta_xml='{$ruta_xml}', ruta_pdf='{$ruta_pdf}', tipo_archivo='{$tipo_archivo}'"; $NewIdHistorical = $DB->ConsultaInsertReturnId("CFDI", $q); if (!($NewIdHistorical > 0)) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al insertar el registro en el histórico</p><br>Detalles:<br><br>{$NewIdHistorical}"); return 0; } return $NewIdHistorical; }
private function procesar_ruta_pdf() { $id_detalle = $_POST['id_detalle']; $server = $_SERVER['SERVER_NAME']; $ruta_pdf = $this->search_route_pdf($_POST['content'], $id_detalle); if (file_exists($ruta_pdf['ruta_pdf'])) { //La ruta del pdf es absoluta y solo se necesita la ruta a nivel de server por eso se reconstruye $directorio = explode("/", $ruta_pdf['ruta_pdf']); $ruta_nueva_pdf = '/'; for ($cont = 3; $cont < count($directorio); $cont++) { if ($cont + 1 == count($directorio)) { $ruta_nueva_pdf .= $directorio[$cont]; } else { $ruta_nueva_pdf .= $directorio[$cont] . '/'; } } $ruta = 'http://' . $server . $ruta_nueva_pdf; if ($_POST['content'] == 'nomina') { $clave_log = 1; } if ($_POST['content'] == 'cliente') { $clave_log = 2; } if ($_POST['content'] == 'proveedor') { $clave_log = 3; } // $log=new Log(); // $log->write_line(23, $_POST['id_login'],$_POST['id_detalle'],$clave_log);/* Registro Log */ //esta es la ruta que se envia al dialog que muestra el pdf // echo $ruta; $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; $root = $doc->createElement('PdfPath'); $doc->appendChild($root); $Package = $doc->createElement("Path", $ruta); $root->appendChild($Package); header("Content-Type:text/xml"); echo $doc->saveXML(); } else { XML::XmlResponse("Error", 0, "<p>No existe el pdf solicitado</p>"); } }
private function NewUser() { $DB = new DataBase(); $EnterpriseAlias = filter_input(INPUT_POST, "EnterpriseAlias"); $NewUserName = filter_input(INPUT_POST, "NewUsername"); $LastName = filter_input(INPUT_POST, "LastName"); $MLastName = filter_input(INPUT_POST, "MLastName"); $SystemUsername = filter_input(INPUT_POST, "SystemUsername"); $Password = filter_input(INPUT_POST, "Password"); $Repeated = "SELECT * FROM Users WHERE UserName COLLATE utf8_bin = '{$SystemUsername}'"; $ResultRepetaed = $DB->ConsultaSelect($EnterpriseAlias, $Repeated); if ($ResultRepetaed['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al comprobar que el usuario no estuviera registrado previamente</p><br>Detalles:<br><br>" . $ResultRepetaed['Estado']); return; } if (count($ResultRepetaed['ArrayDatos']) > 0) { XML::XmlResponse("RepeatedUser", 1, "El usuario '{$NewUserName}' ya existe"); return 0; } $now = date('Y-m-d'); $Insert = "INSERT INTO Users (UserName, Password, Name, LastName, MLastName, DischargeDate)\n VALUES ('{$SystemUsername}', '{$Password}', '{$NewUserName}', '{$LastName}', '{$MLastName}', '{$now}')"; $IdUser = $DB->ConsultaInsertReturnId($EnterpriseAlias, $Insert); if (!$IdUser > 0) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al registrar el nuevo usuario</p><br>Detalles:<br><br>{$ResultInsert}"); return 0; } $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; $root = $doc->createElement("NewUser"); $doc->appendChild($root); $mensaje_ = $doc->createElement('Mensaje', "Usuario '{$NewUserName}' registrado con éxito"); $root->appendChild($mensaje_); $IdUserXml = $doc->createElement("IdUser", $IdUser); $root->appendChild($IdUserXml); $NewUsernameSystemXml = $doc->createElement("SystemUsername", $SystemUsername); $root->appendChild($NewUsernameSystemXml); $UserName = $doc->createElement("UserName", $NewUserName); $root->appendChild($UserName); $LastNameXml = $doc->createElement("LastName", $LastName); $root->appendChild($LastNameXml); $MLastNameXml = $doc->createElement("MLastName", $MLastName); $root->appendChild($MLastNameXml); $DischargeDate = $doc->createElement("DischargeDate", $now); $root->appendChild($DischargeDate); header("Content-Type:text/xml"); echo $doc->saveXML(); }
public static function GetEnterprisePath($EnterpriseAlias) { $DB = new DataBase(); $Query = "SELECT ent.IdVolume, vol.VolumeName FROM Enterprises ent INNER JOIN Volumes vol ON " . "ent.IdVolume = vol.IdVolume WHERE ent.Alias COLLATE utf8_bin = '{$EnterpriseAlias}'"; $Result = $DB->ConsultaSelect("CSDOCS_CFDI", $Query, 1); if ($Result['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b< al consultar el Path del Volúmen</p><br>Detalles:<br><br>" . $Result['Estado']); return 0; } $Path = $Result['ArrayDatos'][0]['VolumeName']; if (!file_exists($Path)) { XML::XmlResponse("Error", 0, "<p><b>Error</b> el path de la empresa con Alias <b>{$EnterpriseAlias}</b> no existe.</p>"); return 0; } return $Path; }
private function conexion_imap($ruta_imap, $usuario, $password) { // echo "<p>$ruta_imap</p>"; // echo "<p>$usuario</p>"; // echo "<p>$password</p>"; /* Datos devueltos por default */ $estado = 1; if ($mbox = imap_open($ruta_imap, $usuario, $password)) { imap_close($mbox); } else { XML::XmlResponse("Error", 0, "<p>Ocurrió el siguiente error. " . imap_last_error() . ". <p>Revise que sus datos sean correctos</p>"); // $estado="Ocurrió el siguiente error. ".imap_last_error().". <p>Revise que sus datos sean correctos</p>"; $estado = 0; } return $estado; }
private function LogIn() { $DB = new DataBase(); // echo "<p>Ususario= ".$_POST['usuario']." Contraseña= ".$_POST['password']."</p>"; $EnterpriseAlias = filter_input(INPUT_POST, "EnterpriseAlias"); /* Alias de la empresa */ $IdEnterprise = filter_input(INPUT_POST, "IdEnterprise"); $UserName = filter_input(INPUT_POST, "UserName"); $idUser = 0; $Password = filter_input(INPUT_POST, "Password"); $q = ''; /* Modo administración solo puede entrar root */ if (strcasecmp($UserName, 'root') != 0 and strcasecmp($IdEnterprise, 0) == 0) { XML::XmlResponse("AccessDenied", 0, "<p>Acceso solo para root</p>"); return 0; } if (strcasecmp($EnterpriseAlias, "Manager") == 0) { $q = "SELECT * FROM Users WHERE UserName COLLATE utf8_bin = '{$UserName}' AND Password COLLATE utf8_bin = '{$Password}'"; } else { $q = "SELECT * FROM Users WHERE UserName COLLATE utf8_bin = '{$UserName}' AND Password COLLATE utf8_bin = '{$Password}'"; } $ResultLogin = $DB->ConsultaSelect($EnterpriseAlias, $q); if ($ResultLogin['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al iniciar sesión</p><br>Detalles:<br><br>" . $ResultLogin['Estado']); return 0; } $UserInfo = $ResultLogin['ArrayDatos']; if (count($UserInfo) > 0) { if (strcasecmp($UserName, "root") == 0) { $IdEnterprise = 1; } $nombre_usuario = $UserInfo[0]['UserName']; $idUser = $UserInfo[0]['IdUser']; } else { XML::XmlResponse("AccessDenied", 0, "<p>Usuario no registrado</p>"); return 0; } /* Se busca que la empresa este registrada */ if ($IdEnterprise > 0) { $EnterpriseLogin = "******"; $ResultEnterprisesLogin = $DB->ConsultaSelect($EnterpriseAlias, $EnterpriseLogin); if ($ResultEnterprisesLogin['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al solicitar la empresa {$EnterpriseAlias}</p><br>Detalles:<br><br>" . $ResultEnterprisesLogin['Estado']); return 0; } if (!($ResultEnterprisesLogin['ArrayDatos'] > 0)) { XML::XmlResponse("AccessDenied", 0, "<p>Empresa desconocida</p>"); return 0; } } $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; $root = $doc->createElement('Login'); $doc->appendChild($root); $id_usuario_ = $doc->createElement('IdUser', $idUser); $root->appendChild($id_usuario_); $nombre_usuario = $doc->createElement('UserName', $UserName); $root->appendChild($nombre_usuario); $EnterpriseNameXml = $doc->createElement("EnterpriseName", $EnterpriseAlias); $root->appendChild($EnterpriseNameXml); $IdEnterpriseXml = $doc->createElement("IdEnterprise", $IdEnterprise); $root->appendChild($IdEnterpriseXml); header("Content-Type:text/xml"); echo $doc->saveXML(); }
private function GetActiveEmails() { $DB = new DataBase(); $EnterpriseAlias = filter_input(INPUT_POST, "EnterpriseAlias"); $IdUser = filter_input(INPUT_POST, "IdUser"); $UserName = filter_input(INPUT_POST, "UserName"); $ActiveEmailsQuery = "SELECT IdEmail, User FROM EmailEngine"; $ActiveEmailResult = $DB->ConsultaSelect($EnterpriseAlias, $ActiveEmailsQuery); if ($ActiveEmailResult['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al consultar los correos activos</p><br>Detalles:<br><br>" . $ActiveEmailResult['Estado']); return 0; } XML::XmlArrayResponse("ActiveEmails", "Email", $ActiveEmailResult['ArrayDatos']); }
private function GetXmlStructure() { $XmlPath = filter_input(INPUT_POST, "XmlPath"); $content = filter_input(INPUT_POST, "content"); $IdLogin = filter_input(INPUT_POST, "IdLogin"); if (file_exists($XmlPath)) { $xml_contents = file_get_contents($XmlPath); $xml_ = preg_replace("/(<\\/?)(\\w+):([^>]*>)/", "\$1\$2\$3", $xml_contents); $xml = simplexml_load_string($xml_); header('Content-Type: text/xml'); echo $xml->saveXML(); $log = new Log(); if ($content == 'nomina') { $clave_log = 1; } if ($content == 'cliente') { $clave_log = 2; } if ($content == 'proveedor') { $clave_log = 3; } // $log->write_line(18, $IdLogin, 0 , $clave_log);/* Registro Log */ } else { XML::XmlResponse("Error", 0, "<p><b>Error</b>, no existe el documento solicitado.</p>"); } }
function InsertValidationCfdi($EnterpriseAlias, $content, $validacion, $ReceiptPath) { $DB = new DataBase(); $webService = $validacion->getElementsByTagName("WebService")->item(0)->nodeValue; $EmisorRfc = $validacion->getElementsByTagName("EmisorRfc")->item(0)->nodeValue; $ReceptorRfc = $validacion->getElementsByTagName("ReceptorRFC")->item(0)->nodeValue; $FechaHoraEnvio = $validacion->getElementsByTagName("FechaHoraEnvio")->item(0)->nodeValue; $FechaHoraRespuesta = $validacion->getElementsByTagName("FechaHoraRespuesta")->item(0)->nodeValue; $TotalFactura = $validacion->getElementsByTagName("TotalFactura")->item(0)->nodeValue; $uuid = $validacion->getElementsByTagName("UUID")->item(0)->nodeValue; $CodigoEstatus = $validacion->getElementsByTagName("CodigoEstatus")->item(0)->nodeValue; $Estado = $validacion->getElementsByTagName("Estado")->item(0)->nodeValue; $md5 = $validacion->getElementsByTagName("AcuseRecibo")->item(0)->nodeValue; $q = "INSERT INTO validacion_{$content} (FechaHora_envio, FechaHora_respuesta, emisor_rfc," . "receptor_rfc, total_factura, uuid, codigo_estatus, estado, md5, web_service, ruta_acuse)" . " VALUES ('{$FechaHoraEnvio}', '{$FechaHoraRespuesta}', '{$EmisorRfc}', '{$ReceptorRfc}'" . ", {$TotalFactura}, '{$uuid}', '{$CodigoEstatus}', '{$Estado}', '{$md5}', '{$webService}', '{$ReceiptPath}')"; $NewIdReceipt = $DB->ConsultaInsertReturnId($EnterpriseAlias, $q); if (!$NewIdReceipt > 0) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al registrar la validación del nuevo Cfdi</p><br>Detalles:<br><br>{$NewIdReceipt}"); return 0; } return $NewIdReceipt; }
private function GetListEnterprisesXml() { $DB = new DataBase(); $content = filter_input(INPUT_POST, "content"); $QuerySelect = ''; if (strcasecmp($content, "provider") == 0) { $QuerySelect = "SELECT *FROM emisor_factura_proveedor"; } if (strcasecmp($content, "client") == 0) { $QuerySelect = "SELECT *FROM emisor_factura_cliente"; } if (strcasecmp($content, "payroll") == 0) { $QuerySelect = "SELECT *FROM emisor_recibo_nomina"; } $Result = $DB->ConsultaSelect("CFDI", $QuerySelect); if ($Result['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al obtener el listado de empresas</p><br>Detalles:<br><br>" . $Result['Estado']); return 0; } $Enterprises = $Result['ArrayDatos']; $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; $root = $doc->createElement('Enterprises'); for ($cont = 0; $cont < count($Enterprises); $cont++) { $Enterprise = $doc->createElement("Enterprise"); $IdEnterprise = $doc->createElement("IdEnterprise", $Enterprises[$cont]["idemisor"]); $Enterprise->appendChild($IdEnterprise); $EnterpriseName = $doc->createElement("Name", $Enterprises[$cont]['nombre']); $Enterprise->appendChild($EnterpriseName); $EnterpriseRFC = $doc->createElement("RFC", $Enterprises[$cont]['rfc']); $Enterprise->appendChild($EnterpriseRFC); $root->appendChild($Enterprise); } $doc->appendChild($root); header("Content-Type:text/xml"); echo $doc->saveXML(); }
private function CreateDataBaseFile($DataBaseName) { $RoutFile = filter_input(INPUT_SERVER, "DOCUMENT_ROOT"); /* /var/services/web */ if (!file_exists("{$RoutFile}/Config/{$DataBaseName}/")) { if (!($mkdir = mkdir("{$RoutFile}/Config/{$DataBaseName}", 0777, true))) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear el directorio base de la nueva empresa </p><br>Detalles:<br><br>{$mkdir}"); return 0; } } if (!($File = fopen("{$RoutFile}/Config/{$DataBaseName}/BD.ini", "w"))) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al abrir el archivo config de BD</p>"); return 0; } if (strcasecmp($DataBaseName, "Manager") == 0) { $Password_ = "Admcs1234567"; $DataBaseName = "CSDOCS_CFDI"; $User_ = "Manager"; } else { $Password_ = "12345"; $User_ = $DataBaseName; } $localhost = Encrypter::encrypt("localhost"); $Port = Encrypter::encrypt("3306"); $User = Encrypter::encrypt($User_); $Password = Encrypter::encrypt($Password_); $DataBaseName_ = Encrypter::encrypt($DataBaseName); fwrite($File, 'Host="' . $localhost . '"' . PHP_EOL); fwrite($File, 'Port="' . $Port . '"' . PHP_EOL); fwrite($File, 'User="******"' . PHP_EOL); fwrite($File, 'Password="******"' . PHP_EOL); fwrite($File, 'Schema="' . $DataBaseName_ . '"' . PHP_EOL); fclose($File); return 1; }
private function Begin() { $DB = new DataBase(); $XML = new XML(); $content = filter_input(INPUT_POST, "content"); $log = new Log(); $IdUser = filter_input(INPUT_POST, "IdUser"); $IdEnterprise = filter_input(INPUT_POST, "IdEnterprise"); $StartDate = filter_input(INPUT_POST, "StartDate"); $EndDate = filter_input(INPUT_POST, "EndDate"); $SearchWord = filter_input(INPUT_POST, "SearchWord"); $Match = ''; $Key = 0; $TableName = ''; $SpecificEnterprise = ''; if (strcasecmp($content, "provider") == 0) { $Key = 3; $TableName = "proveedor"; } if (strcasecmp($content, "client") == 0) { $Key = 2; $TableName = "cliente"; } if (strcasecmp($content, "payroll") == 0) { $Key = 1; $TableName = "nomina"; } if ($IdEnterprise > 0 and !strlen($SearchWord) > 0) { $SpecificEnterprise = "WHERE det.id_emisor={$IdEnterprise} "; } else { if ($IdEnterprise > 0) { $SpecificEnterprise = " AND det.id_emisor={$IdEnterprise} "; } } if (strlen($SearchWord) > 0) { $Match = "WHERE MATCH (det.Full) AGAINST ('{$SearchWord}' IN BOOLEAN MODE)"; } if (strcasecmp($TableName, "proveedor") == 0 or strcasecmp($TableName, "cliente") == 0) { $SearchQuery = "SELECT em.Idemisor, em.nombre, em.rfc, rec.id_receptor, rec.nombre, rec.rfc " . "FROM detalle_factura_{$TableName} det " . "LEFT JOIN emisor_factura_{$TableName} em on det.id_emisor = em.idemisor " . "INNER JOIN receptor_factura_{$TableName} rec ON rec.id_receptor = det.id_receptor " . "{$Match} {$SpecificEnterprise} GROUP BY em.rfc"; } if (strcasecmp($TableName, "nomina") == 0) { $SearchQuery = "SELECT em.Idemisor, em.nombre, em.rfc, rec.id_receptor, rec.nombre, rec.rfc " . "FROM detalle_recibo_{$TableName} det " . "LEFT JOIN emisor_recibo_{$TableName} em on det.id_emisor = em.idemisor " . "INNER JOIN receptor_recibo_{$TableName} rec ON rec.id_receptor = det.id_receptor " . "{$Match} {$SpecificEnterprise} GROUP BY em.rfc"; } $SearchResult = $DB->QuerySelectArray("CFDI", $SearchQuery); if ($SearchResult['Estado'] != 1) { $XML->XmlResponse("Error", 0, "<p><b>Error</b> al realizar la búsqueda</p><br>Detalles:<br><br>" . $SearchResult['Estado']); return 0; } $SearchArray = $SearchResult['ArrayDatos']; $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; $root = $doc->createElement('Search'); for ($cont = 0; $cont < count($SearchArray) - 1; $cont++) { $Result = $doc->createElement("Result"); $IdTransmiter = $doc->createElement("IdTransmiter", $SearchArray[$cont][0]); $Result->appendChild($IdTransmiter); $TransmiterName = $doc->createElement("TransmiterName", $SearchArray[$cont][1]); $Result->appendChild($TransmiterName); $TRansmiterRFC = $doc->createElement("TransmiterRfc", $SearchArray[$cont][2]); $Result->appendChild($TRansmiterRFC); $IdReceiver = $doc->createElement("IdReceiver", $SearchArray[$cont][3]); $Result->appendChild($IdReceiver); $ReceiverName = $doc->createElement("ReceiverName", $SearchArray[$cont][4]); $Result->appendChild($ReceiverName); $ReceiverRfc = $doc->createElement("ReceiverRfc", $SearchArray[$cont][5]); $Result->appendChild($ReceiverRfc); $root->appendChild($Result); } $doc->appendChild($root); header("Content-Type:text/xml"); echo $doc->saveXML(); // $log->log_registro_busqueda($IdUser,$IdEnterprise,$SearchWord,$StartDate,$EndDate,$Key);/* Registro Log */ }
private function GetFiles() { $DB = new DataBase(); $IdUser = filter_input(INPUT_POST, "IdUser"); $IdUserName = filter_input(INPUT_POST, "UserName"); $content = filter_input(INPUT_POST, "content"); $IdReceiver = filter_input(INPUT_POST, "IdReceiver"); $StartDate = filter_input(INPUT_POST, "StartDate"); $EndDate = filter_input(INPUT_POST, "EndDate"); $IdTransmiter = filter_input(INPUT_POST, "IdTransmiter"); $SearchWord = trim(filter_input(INPUT_POST, "SearchWord"), ' '); $WhereTransmiter = ''; $Match = ''; $Key = 0; $TableName = ''; $q = ''; if ($IdTransmiter > 0) { $WhereTransmiter = "AND det.id_emisor = {$IdTransmiter}"; } if (strcasecmp($content, "provider") == 0) { $Key = 3; $TableName = "proveedor"; } if (strcasecmp($content, "client") == 0) { $Key = 2; $TableName = "cliente"; } if (strcasecmp($content, "payroll") == 0) { $Key = 1; $TableName = "nomina"; } if (strlen($SearchWord) > 0) { $Match = " AND MATCH (det.Full) AGAINST ('{$SearchWord}' IN BOOLEAN MODE) "; } if (strcasecmp($content, 'Provider') == 0 or strcasecmp($content, 'Client') == 0) { if ($StartDate == "" and $EndDate == "") { $q = "SELECT det.id_detalle, det.fecha, det.folio, det.subTotal, det.descuento, det.total,ruta_xml, det.ruta_pdf, det.id_validacion, det.tipo_archivo, val.ruta_acuse FROM detalle_{$TableName} det inner join validacion_{$TableName} val on det.id_validacion=val.id_validacion WHERE det.id_receptor={$IdReceiver} {$WhereTransmiter} {$Match}"; } if ($StartDate != "" and $EndDate != "") { $q = "SELECT det.id_detalle, det.fecha, det.folio, det.subTotal, det.descuento, det.total,ruta_xml, det.ruta_pdf, det.id_validacion, det.tipo_archivo, val.ruta_acuse FROM detalle_{$TableName} det inner join validacion_{$TableName} val on det.id_validacion=val.id_validacion WHERE id_receptor={$IdReceiver} {$WhereTransmiter} AND (det.fecha BETWEEN '{$StartDate}' AND '{$EndDate}') {$Match}"; } if ($StartDate != "" and $EndDate == "") { $q = "SELECT det.id_detalle, det.fecha, det.folio, det.subTotal, det.descuento, det.total,ruta_xml, det.ruta_pdf, det.id_validacion, det.tipo_archivo, val.ruta_acuse FROM detalle_{$TableName} det inner join validacion_{$TableName} val on det.id_validacion=val.id_validacion WHERE det.fecha>='{$StartDate}' AND id_receptor={$IdReceiver} {$WhereTransmiter} {$Match}"; } if ($StartDate == "" and $EndDate != "") { $q = "SELECT det.id_detalle, det.fecha, det.folio, det.subTotal, det.descuento, det.total,ruta_xml, det.ruta_pdf, det.id_validacion, det.tipo_archivo, val.ruta_acuse FROM detalle_{$TableName} det inner join validacion_{$TableName} val on det.id_validacion=val.id_validacion WHERE det.fecha<='{$EndDate}' AND id_receptor={$IdReceiver} {$WhereTransmiter} {$Match}"; } } if (strcasecmp($content, 'PayRoll') == 0) { if ($StartDate == "" and $EndDate == "") { $q = "SELECT det.id_detalle, det.fecha, det.folio, det.subTotal, det.descuento, det.total,ruta_xml, det.ruta_pdf, det.id_validacion, det.tipo_archivo, val.ruta_acuse FROM detalle_cliente det inner join validacion_cliente val on det.id_validacion=val.id_validacion WHERE det.id_receptor={$IdReceiver} and det.id_emisor={$IdTransmiter}"; } if ($StartDate != "" and $EndDate != "") { $q = "SELECT id_detalle,FechaPago,SalarioBaseCotApor,SalarioDiarioIntegrado,xml_ruta,pdf_ruta FROM detalle_nomina WHERE id_receptor={$IdReceiver} AND id_emisor={$IdTransmiter} AND (FechaPago BETWEEN '{$StartDate}' AND '{$EndDate}')"; } if ($StartDate != "" and $EndDate == "") { $q = "SELECT id_detalle,FechaPago,SalarioBaseCotApor,SalarioDiarioIntegrado,xml_ruta,pdf_ruta FROM detalle_nomina WHERE FechaPago>='{$StartDate}' AND id_receptor={$IdReceiver} AND id_emisor={$IdTransmiter}"; } if ($StartDate == "" and $EndDate != "") { $q = "SELECT id_detalle,FechaPago,SalarioBaseCotApor,SalarioDiarioIntegrado,xml_ruta,pdf_ruta FROM detalle_nomina WHERE FechaPago<='{$EndDate}' AND id_receptor={$IdReceiver} AND id_emisor={$IdTransmiter}"; } } $ResultGetFiles = $DB->ConsultaSelect("CFDI", $q); if ($ResultGetFiles['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al intentar recuperar los CFDI's</p><br>Detalles:<br><br>" . $ResultGetFiles['Estado']); return 0; } $FilesArray = $ResultGetFiles['ArrayDatos']; $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; $root = $doc->createElement('Files'); for ($cont = 0; $cont < count($FilesArray); $cont++) { $Cfdi = $doc->createElement("File"); $IdCfdi = $doc->createElement("IdCfdi", $FilesArray[$cont]['id_detalle']); $Cfdi->appendChild($IdCfdi); $Fecha = $doc->createElement("Date", $FilesArray[$cont]['fecha']); $Cfdi->appendChild($Fecha); $folio = $doc->createElement("Folio", $FilesArray[$cont]['folio']); $Cfdi->appendChild($folio); $CfdiSubtotal = $doc->createElement("subTotal", $FilesArray[$cont]['subTotal']); $Cfdi->appendChild($CfdiSubtotal); $CfdiTotal = $doc->createElement("Total", $FilesArray[$cont]['total']); $Cfdi->appendChild($CfdiTotal); $CfdiRutaXml = $doc->createElement("XmlPath", $FilesArray[$cont]['ruta_xml']); $Cfdi->appendChild($CfdiRutaXml); $CfdiPdf = $doc->createElement("PdfPath", $FilesArray[$cont]['ruta_pdf']); $Cfdi->appendChild($CfdiPdf); $CfdiState = $doc->createElement("StateCfdi", $FilesArray[$cont]['tipo_archivo']); $Cfdi->appendChild($CfdiState); $CfdiIdValidation = $doc->createElement("IdValidationReceipt", $FilesArray[$cont]['id_validacion']); $Cfdi->appendChild($CfdiIdValidation); $CfdiReceiptPath = $doc->createElement("ReceiptValidationPath", $FilesArray[$cont]['ruta_acuse']); $Cfdi->appendChild($CfdiReceiptPath); $root->appendChild($Cfdi); } $doc->appendChild($root); header("Content-Type:text/xml"); echo $doc->saveXML(); }
private function RegisterVolumes() { $DB = new DataBase(); $RefularExpression = "/volume_.*/"; /* Ayuda a identificar un volumen (Inicio de línea de salida) */ $DiskDetail = shell_exec("df -m | grep volume"); $MemoryArray = preg_split('/\\s+/', trim($DiskDetail)); $Volumes = array(); for ($cont = 0; $cont < count($MemoryArray); $cont++) { $Volume = preg_match($RefularExpression, $MemoryArray[$cont]); if ($Volume) { $Volumes[] = array("FileSystem" => $MemoryArray[$cont], "Blocks" => $MemoryArray[$cont + 1], "Used" => $MemoryArray[$cont + 2], "Available" => $MemoryArray[$cont + 3], "Use" => $MemoryArray[$cont + 4], "Mounted" => $MemoryArray[$cont + 5]); } } /* Una vez obtenidos los volúmenes se registran en la BD */ for ($cont = 0; $cont < count($Volumes); $cont++) { $VolumeName = $Volumes[$cont]['Mounted']; // $FileSystem = $Volumes[$cont]['FileSystem']; // $Blocks = $Volumes[$cont]['Blocks']; $Used = $Volumes[$cont]['Used']; $Available = $Volumes[$cont]['Available']; $Total = (int) $Used + (int) $Available; $CheckIfExistVolume = "SELECT *FROM Volumes WHERE VolumeName COLLATE utf8_bin = '{$VolumeName}'"; $ResultCheck = $DB->ConsultaSelect("Manager", $CheckIfExistVolume); if ($ResultCheck['Estado'] != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al relizar registro de volúmenes</p><br>Detalles:<br><br>" . $ResultCheck['Estado']); return 0; } if (count($ResultCheck['ArrayDatos']) > 0) { continue; } /* Registro del volúmen */ $InsertVolume = "INSERT INTO Volumes (VolumeName, Used, Available, TotalMemory) VALUES ('{$VolumeName}', {$Used}, {$Available}, {$Total})"; if (($ResultInsert = $DB->ConsultaQuery("Manager", $InsertVolume)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al registrar el volumen <b>{$VolumeName}</b></p><br>Detalles:<br><br>{$ResultInsert}"); return 0; } } }
public function CreateEnterpriseInstance($DataBaseName) { $CreateDataBase = "CREATE DATABASE IF NOT EXISTS `{$DataBaseName}` /*!40100 DEFAULT CHARACTER SET utf8 */;"; if (($ResultCreateDataBase = $this->ConsultaQuery('', $CreateDataBase)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la Base de Datos</p><br>Detalles:<br><br>{$ResultCreateDataBase}"); return 0; } //SE CREA LA TABLA EMISOR DE RECIBO DE NOMINA $CreateEmisorNomina = "CREATE TABLE IF NOT EXISTS `emisor_recibo_nomina` (\r\n `idemisor` int(11) NOT NULL AUTO_INCREMENT,\r\n `rfc` varchar(100) NOT NULL,\r\n `nombre` varchar(45) NOT NULL,\r\n `pais` varchar(45) NOT NULL,\r\n `calle` varchar(200) NOT NULL,\r\n `estado` varchar(45) NOT NULL,\r\n `colonia` varchar(200) NOT NULL,\r\n `municipio` varchar(100) NOT NULL,\r\n `noExterior` int(11) DEFAULT NULL,\r\n `cp` int(11) NOT NULL,\r\n `pais_expedido` varchar(60) DEFAULT NULL,\r\n `calle_expedido` varchar(200) DEFAULT NULL,\r\n `estado_expedido` varchar(45) DEFAULT NULL,\r\n `colonia_expedido` varchar(200) DEFAULT NULL,\r\n `noExterior_expedido` int(11) DEFAULT NULL,\r\n `cp_expedido` int(11) DEFAULT NULL,\r\n PRIMARY KEY (`idemisor`,`rfc`)\r\n ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8"; if (($resulCreateEmisorNomina = $this->ConsultaQuery("{$DataBaseName}", $CreateEmisorNomina)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la Emisor Recibo de Nómina </p><br>Detalles:<br><br>{$resulCreateEmisorNomina}"); return 0; } // SE CREA LA TABLA RECEPTOR DE RECIBO DE NOMINA $ReceptorNomina = "CREATE TABLE IF NOT EXISTS `receptor_recibo_nomina` (\r\n `id_receptor` int(11) NOT NULL AUTO_INCREMENT,\r\n `curp` varchar(200) NOT NULL,\r\n `rfc` varchar(100) DEFAULT NULL,\r\n `nombre` varchar(200) DEFAULT NULL,\r\n `pais` varchar(45) DEFAULT NULL,\r\n `calle` varchar(200) DEFAULT NULL,\r\n `estado` varchar(200) DEFAULT NULL,\r\n `colonia` varchar(200) DEFAULT NULL,\r\n `municipio` varchar(200) DEFAULT NULL,\r\n `noExterior` varchar(10) DEFAULT NULL,\r\n `noInterior` varchar(10) DEFAULT NULL,\r\n `cp` varchar(10) DEFAULT NULL,\r\n PRIMARY KEY (`id_receptor`,`curp`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($resulReceptorNomina = $this->ConsultaQuery("{$DataBaseName}", $ReceptorNomina)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la Receptor Recibo de Nómina </p><br>Detalles:<br><br>{$resulReceptorNomina}"); return 0; } // SE CREA LA TABLA DETALLE DE RECIBO DE NOMINA $DetalleNomina = "CREATE TABLE IF NOT EXISTS `detalle_recibo_nomina` (\r\n `id_detalle_recibo_nomina` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_emisor` int(11) NOT NULL,\r\n `id_receptor` int(11) NOT NULL,\r\n `id_validacion` int(11) NOT NULL,\r\n `curp` varchar(60) NOT NULL,\r\n `registro_patronal` varchar(250) DEFAULT NULL,\r\n `NumEmpleado` int(11) DEFAULT NULL,\r\n `tipoRegimen` int(11) DEFAULT NULL,\r\n `NumSegSocial` varchar(250) DEFAULT NULL,\r\n `FechaPago` date DEFAULT NULL,\r\n `FechaInicialPago` date DEFAULT NULL,\r\n `FechaFinalPago` date DEFAULT NULL,\r\n `NumDiasPagados` decimal(10,0) DEFAULT NULL,\r\n `departamento` varchar(200) DEFAULT NULL,\r\n `clabe` varchar(200) DEFAULT NULL,\r\n `banco` varchar(100) DEFAULT NULL,\r\n `FechaInicioLaboral` date DEFAULT NULL,\r\n `antiguedad` int(11) DEFAULT NULL,\r\n `puesto` varchar(200) DEFAULT NULL,\r\n `TipoContrato` varchar(200) DEFAULT NULL,\r\n `TipoJornada` varchar(70) DEFAULT NULL,\r\n `PeriodicidadPago` varchar(45) DEFAULT NULL,\r\n `SalarioBaseCotApor` float DEFAULT NULL,\r\n `RiesgoPuesto` int(11) DEFAULT NULL,\r\n `SalarioDiarioIntegrado` float DEFAULT NULL,\r\n `id_CentroCosto` int(11) DEFAULT '0',\r\n `xml_ruta` varchar(220) DEFAULT NULL,\r\n `pdf_ruta` varchar(220) DEFAULT NULL,\r\n `tipo_archivo` varchar(45) DEFAULT 'original',\r\n `tipo_archivo_pdf` varchar(45) DEFAULT 'original',\r\n Full TEXT, \r\n PRIMARY KEY (`id_detalle_recibo_nomina`,`curp`,`id_validacion`),\r\n FULLTEXT (Full),\r\n KEY `FK1` (`id_emisor`),\r\n KEY `FK2_idx` (`id_receptor`),\r\n CONSTRAINT `FK1` FOREIGN KEY (`id_emisor`) REFERENCES `emisor_recibo_nomina` (`idemisor`) ON DELETE NO ACTION ON UPDATE NO ACTION,\r\n CONSTRAINT `FK2` FOREIGN KEY (`id_receptor`) REFERENCES `receptor_recibo_nomina` (`id_receptor`) ON DELETE NO ACTION ON UPDATE NO ACTION\r\n ) ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1\r\n "; if (($ResultDetalleNomina = $this->ConsultaQuery("{$DataBaseName}", $DetalleNomina)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la Detalle Recibo de Nómina </p><br>Detalles:<br><br>{$ResultDetalleNomina}"); return 0; } /******************** Histórico Nomina*********************/ $HistorialNomina = "CREATE TABLE IF NOT EXISTS `historial_nomina` (\r\n `id_historial` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_validacion` int(11) NOT NULL,\r\n `id_detalle` int(11) NOT NULL,\r\n `id_usuario` int(11) DEFAULT NULL,\r\n `fecha_hora` datetime NOT NULL,\r\n `ruta_xml` varchar(250) NOT NULL,\r\n `ruta_pdf` varchar(250) DEFAULT NULL,\r\n `tipo_archivo` varchar(45) NOT NULL,\r\n PRIMARY KEY (`id_historial`,`id_validacion`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='tipo_archivo (original o copia)'"; if (($ResultHistorialNomina = $this->ConsultaQuery("{$DataBaseName}", $HistorialNomina)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la Historial Recibo de Nómina </p><br>Detalles:<br><br>{$ResultHistorialNomina}"); return 0; } $ValidacionNomina = "CREATE TABLE IF NOT EXISTS `validacion_nomina` (\r\n `id_validacion` int(11) NOT NULL AUTO_INCREMENT,\r\n `FechaHora_envio` datetime NOT NULL,\r\n `FechaHora_respuesta` datetime NOT NULL,\r\n `emisor_rfc` varchar(100) NOT NULL,\r\n `receptor_rfc` varchar(100) NOT NULL, \r\n `total_factura` double NOT NULL,\r\n `uuid` varchar(100) NOT NULL,\r\n `codigo_estatus` varchar(100) NOT NULL,\r\n `estado` varchar(100) NOT NULL,\r\n `md5` varchar(100) NOT NULL,\r\n `web_service` varchar(250) NOT NULL,\r\n `ruta_acuse` varchar(250) NOT NULL,\r\n PRIMARY KEY (`id_validacion`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($ResultValidacionNomina = $this->ConsultaQuery("{$DataBaseName}", $ValidacionNomina)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la Validación Recibo de Nómina </p><br>Detalles:<br><br>{$ResultValidacionNomina}"); return 0; } /* Validación CFDI */ $ValidacionProveedor = "CREATE TABLE IF NOT EXISTS `validacion_proveedor` (\r\n `id_validacion` int(11) NOT NULL AUTO_INCREMENT,\r\n `FechaHora_envio` datetime NOT NULL,\r\n `FechaHora_respuesta` datetime NOT NULL,\r\n `emisor_rfc` varchar(100) NOT NULL,\r\n `receptor_rfc` varchar(100) NOT NULL, \r\n `total_factura` double NOT NULL,\r\n `uuid` varchar(100) NOT NULL,\r\n `codigo_estatus` varchar(100) NOT NULL,\r\n `estado` varchar(100) NOT NULL,\r\n `md5` varchar(100) NOT NULL,\r\n `web_service` varchar(250) NOT NULL,\r\n `ruta_acuse` varchar(250) NOT NULL,\r\n PRIMARY KEY (`id_validacion`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($ResultValidacionProveedor = $this->ConsultaQuery("{$DataBaseName}", $ValidacionProveedor)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la Validación Proveedor </p><br>Detalles:<br><br>{$ResultValidacionProveedor}"); return 0; } $Existe = "CREATE TABLE IF NOT EXISTS `existe` (\r\n `idexiste` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_emisor` int(11) NOT NULL,\r\n `nombre` varchar(200) DEFAULT NULL,\r\n `NoIntentos` int(11) DEFAULT '0',\r\n PRIMARY KEY (`idexiste`,`id_emisor`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Tabla que registra el numero de intentos que se trata de procesar un recibo de nomina o algun otro comprobante'"; if (($ResultExiste = $this->ConsultaQuery("{$DataBaseName}", $Existe)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Existe </p><br>Detalles:<br><br>{$ResultExiste}"); return 0; } $ResgistroPdf = "CREATE TABLE IF NOT EXISTS `registro_pdf` (\r\n `id_pdf` int(11) NOT NULL AUTO_INCREMENT,\r\n `nombre` varchar(200) DEFAULT NULL,\r\n PRIMARY KEY (`id_pdf`)\r\n ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COMMENT='Tabla que contiene los nombres de los PDF pendientes por insertar en la BD'"; if (($ResultRegistroPdf = $this->ConsultaQuery("{$DataBaseName}", $ResgistroPdf)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Registro Pdf </p><br>Detalles:<br><br>{$ResultRegistroPdf}"); return 0; } $sql = "CREATE TABLE IF NOT EXISTS `registro_xml` (\r\n `id_registro_xml` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_detalle` int(11) NOT NULL,\r\n `nombre_xml` varchar(200) DEFAULT NULL,\r\n PRIMARY KEY (`id_registro_xml`,`id_detalle`)\r\n ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1"; /*UTILIZADO EN CARGA RECIBO DE NOMINA */ // $ViewInsertPdf = "CREATE OR REPLACE VIEW `insert_pdf` AS select `registro_xml`.`id_detalle` AS `id_detalle`,`registro_pdf`.`nombre` AS `nombre` from (`registro_xml` join `registro_pdf` on((`registro_xml`.`nombre_xml` = `registro_pdf`.`nombre`)))"; // // if(($ResultViewInsertPdf = $this->ConsultaQuery("CSDOCS_CFDI", $ViewInsertPdf))!=1) // { // XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear la vista pdf insert </p><br>Detalles:<br><br>$ResultViewInsertPdf"); // return 0; // } /* Tabla emisor Factura Cliente */ $EmisorCliente = "CREATE TABLE IF NOT EXISTS `emisor_factura_cliente` (\r\n `idemisor` int(11) NOT NULL AUTO_INCREMENT,\r\n `rfc` varchar(100) NOT NULL,\r\n `nombre` varchar(100) NOT NULL,\r\n `pais` varchar(45) NOT NULL,\r\n `calle` varchar(200) NOT NULL,\r\n `estado` varchar(45) NOT NULL,\r\n `colonia` varchar(200) NOT NULL,\r\n `municipio` varchar(100) NOT NULL,\r\n `noExterior` varchar(10) DEFAULT NULL,\r\n `cp` varchar(10) NOT NULL,\r\n `localidad` varchar(250) DEFAULT NULL,\r\n `expedidoCalle` varchar(150) DEFAULT NULL,\r\n `expedidoNoExterior` varchar(10) DEFAULT NULL,\r\n `expedidoColonia` varchar(150) DEFAULT NULL,\r\n `expedidoLocalidad` varchar(150) DEFAULT NULL,\r\n `expedidoMunicipio` varchar(150) DEFAULT NULL,\r\n `expedidoEstado` varchar(150) DEFAULT NULL,\r\n `expedidoPais` varchar(150) DEFAULT NULL,\r\n `expedidoCP` varchar(10) DEFAULT NULL,\r\n PRIMARY KEY (`idemisor`,`rfc`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($RecultEmisorCliente = $this->ConsultaQuery("{$DataBaseName}", $EmisorCliente)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Emisor Cliente </p><br>Detalles:<br><br>{$RecultEmisorCliente}"); return 0; } $ReceptorCliente = "CREATE TABLE IF NOT EXISTS `receptor_factura_cliente` (\r\n `id_receptor` int(11) NOT NULL AUTO_INCREMENT,\r\n `rfc` varchar(200) NOT NULL,\r\n `nombre` varchar(200) DEFAULT NULL,\r\n `pais` varchar(45) DEFAULT NULL,\r\n `calle` varchar(200) DEFAULT NULL,\r\n `estado` varchar(200) DEFAULT NULL,\r\n `colonia` varchar(200) DEFAULT NULL,\r\n `municipio` varchar(200) DEFAULT NULL,\r\n `noExterior` varchar(10) DEFAULT NULL,\r\n `noInterior` varchar(10) DEFAULT NULL,\r\n `cp` varchar(10) DEFAULT NULL,\r\n `localidad` varchar(150) DEFAULT NULL,\r\n PRIMARY KEY (`id_receptor`,`rfc`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($ResultReceptorCliente = $this->ConsultaQuery("{$DataBaseName}", $ReceptorCliente)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Receptor Cliente </p><br>Detalles:<br><br>{$ResultReceptorCliente}"); return 0; } /* Tabla detalle factura cliente */ $DetalleCliente = "CREATE TABLE IF NOT EXISTS `detalle_factura_cliente` (\r\n `id_detalle` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_emisor` int(11) NOT NULL DEFAULT '0',\r\n `id_receptor` int(11) NOT NULL DEFAULT '0',\r\n `id_validacion` int(11) NOT NULL,\r\n `rfc_cliente` varchar(70) DEFAULT NULL,\r\n `serie` varchar(45) DEFAULT NULL,\r\n `folio` varchar(45) DEFAULT NULL,\r\n `fecha` date DEFAULT NULL,\r\n `formaDePago` varchar(200) DEFAULT NULL,\r\n `subTotal` double DEFAULT NULL,\r\n `descuento` double DEFAULT NULL,\r\n `total` double DEFAULT NULL,\r\n `metodoDePago` varchar(45) DEFAULT NULL,\r\n `tipoDeComprobante` varchar(100) DEFAULT NULL,\r\n `TipoCambio` decimal(10,0) DEFAULT NULL,\r\n `Moneda` varchar(45) DEFAULT NULL,\r\n `ruta_xml` varchar(250) DEFAULT NULL,\r\n `ruta_pdf` varchar(250) DEFAULT NULL,\r\n `tipo_archivo` varchar(45) DEFAULT 'original',\r\n `tipo_archivo_pdf` varchar(45) DEFAULT 'original',\r\n Full TEXT,\r\n PRIMARY KEY (`id_detalle`,`id_validacion`), \r\n FULLTEXT (Full),\r\n KEY `fk1_idx` (`id_emisor`),\r\n KEY `fk2_idx` (`id_receptor`),\r\n CONSTRAINT `f2` FOREIGN KEY (`id_receptor`) REFERENCES `receptor_factura_cliente` (`id_receptor`) ON DELETE NO ACTION ON UPDATE NO ACTION,\r\n CONSTRAINT `f1` FOREIGN KEY (`id_emisor`) REFERENCES `emisor_factura_cliente` (`idemisor`) ON DELETE NO ACTION ON UPDATE NO ACTION\r\n ) ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1"; if (($ResultDetalleCliente = $this->ConsultaQuery("{$DataBaseName}", $DetalleCliente)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Detalle Cliente </p><br>Detalles:<br><br>{$ResultDetalleCliente}"); return 0; } $HistorialCliente = "CREATE TABLE IF NOT EXISTS `historial_cliente` (\r\n `id_historial` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_validacion` int(11) NOT NULL,\r\n `id_detalle` int(11) NOT NULL,\r\n `id_usuario` int(11) DEFAULT NULL,\r\n `fecha_hora` datetime NOT NULL,\r\n `ruta_xml` varchar(250) NOT NULL,\r\n `ruta_pdf` varchar(250) DEFAULT NULL,\r\n `tipo_archivo` varchar(45) NOT NULL,\r\n PRIMARY KEY (`id_historial`,`id_validacion`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='tipo_archivo (original o copia)'"; if (($ResultHistorialCliente = $this->ConsultaQuery("{$DataBaseName}", $HistorialCliente)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Historial Cliente </p><br>Detalles:<br><br>{$ResultHistorialCliente}"); return 0; } $ValidacionCliente = "CREATE TABLE IF NOT EXISTS `validacion_cliente` (\r\n `id_validacion` int(11) NOT NULL AUTO_INCREMENT,\r\n `FechaHora_envio` datetime NOT NULL,\r\n `FechaHora_respuesta` datetime NOT NULL,\r\n `emisor_rfc` varchar(100) NOT NULL,\r\n `receptor_rfc` varchar(100) NOT NULL, \r\n `total_factura` double NOT NULL,\r\n `uuid` varchar(100) NOT NULL,\r\n `codigo_estatus` varchar(100) NOT NULL,\r\n `estado` varchar(100) NOT NULL,\r\n `md5` varchar(100) NOT NULL,\r\n `web_service` varchar(250) NOT NULL,\r\n `ruta_acuse` varchar(250) NOT NULL,\r\n PRIMARY KEY (`id_validacion`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($ResultValidacionCliente = $this->ConsultaQuery("{$DataBaseName}", $ValidacionCliente)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Validación Cliente </p><br>Detalles:<br><br>{$ResultValidacionCliente}"); return 0; } /* Facturas Proveedor */ $EmisorProveedor = "CREATE TABLE IF NOT EXISTS `emisor_factura_proveedor` (\r\n `idemisor` int(11) NOT NULL AUTO_INCREMENT,\r\n `rfc` varchar(100) NOT NULL,\r\n `nombre` varchar(100) NOT NULL,\r\n PRIMARY KEY (`idemisor`,`rfc`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($ResultEmisorProveedor = $this->ConsultaQuery("{$DataBaseName}", $EmisorProveedor)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Emisor Proveedor </p><br>Detalles:<br><br>{$ResultEmisorProveedor}"); return 0; } $ReceptorProveedor = "CREATE TABLE IF NOT EXISTS `receptor_factura_proveedor` (\r\n `id_receptor` int(11) NOT NULL AUTO_INCREMENT,\r\n `rfc` varchar(200) NOT NULL,\r\n `nombre` varchar(200) DEFAULT NULL,\r\n `pais` varchar(45) DEFAULT NULL,\r\n `calle` varchar(200) DEFAULT NULL,\r\n `estado` varchar(200) DEFAULT NULL,\r\n `colonia` varchar(200) DEFAULT NULL,\r\n `municipio` varchar(200) DEFAULT NULL,\r\n `noExterior` varchar(10) DEFAULT NULL,\r\n `noInterior` varchar(10) DEFAULT NULL,\r\n `cp` varchar(10) DEFAULT NULL,\r\n `localidad` varchar(150) DEFAULT NULL,\r\n PRIMARY KEY (`id_receptor`,`rfc`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($ResultReceptorProveedor = $this->ConsultaQuery("{$DataBaseName}", $ReceptorProveedor)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Receptor Proveedor </p><br>Detalles:<br><br>{$ResultReceptorProveedor}"); return 0; } $DetalleProveedor = "CREATE TABLE IF NOT EXISTS `detalle_factura_proveedor` (\r\n `id_detalle` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_emisor` int(11) NOT NULL DEFAULT '0',\r\n `id_receptor` int(11) NOT NULL DEFAULT '0',\r\n `id_validacion` int(11) NOT NULL,\r\n `rfc_cliente` varchar(70) DEFAULT NULL,\r\n `serie` varchar(45) DEFAULT NULL,\r\n `folio` varchar(45) DEFAULT NULL,\r\n `fecha` date DEFAULT NULL,\r\n `formaDePago` varchar(200) DEFAULT NULL,\r\n `subTotal` double DEFAULT NULL,\r\n `descuento` double DEFAULT NULL,\r\n `total` double DEFAULT NULL,\r\n `metodoDePago` varchar(45) DEFAULT NULL,\r\n `tipoDeComprobante` varchar(100) DEFAULT NULL,\r\n `TipoCambio` decimal(10,0) DEFAULT NULL,\r\n `Moneda` varchar(45) DEFAULT NULL,\r\n `ruta_pdf` varchar(250) DEFAULT NULL,\r\n `ruta_xml` varchar(250) DEFAULT NULL,\r\n `tipo_archivo` varchar(45) DEFAULT 'original',\r\n `tipo_archivo_pdf` varchar(45) DEFAULT 'original',\r\n Full TEXT,\r\n PRIMARY KEY (`id_detalle`,`id_validacion`),\r\n FULLTEXT (Full),\r\n KEY `fk1_idx` (`id_emisor`),\r\n KEY `fk2_idx` (`id_receptor`),\r\n CONSTRAINT `f3` FOREIGN KEY (`id_emisor`) REFERENCES `emisor_factura_proveedor` (`idemisor`) ON DELETE NO ACTION ON UPDATE NO ACTION,\r\n CONSTRAINT `f4` FOREIGN KEY (`id_receptor`) REFERENCES `receptor_factura_proveedor` (`id_receptor`) ON DELETE NO ACTION ON UPDATE NO ACTION\r\n ) ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1"; if (($ResultDetalleProveedor = $this->ConsultaQuery("{$DataBaseName}", $DetalleProveedor)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Detalle Proveedor </p><br>Detalles:<br><br>{$ResultDetalleProveedor}"); return 0; } $HistorialProveedor = "CREATE TABLE IF NOT EXISTS `historial_proveedor` (\r\n `id_historial` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_validacion` int(11) NOT NULL,\r\n `id_detalle` int(11) NOT NULL,\r\n `id_usuario` int(11) DEFAULT NULL,\r\n `fecha_hora` datetime NOT NULL,\r\n `ruta_xml` varchar(250) NOT NULL,\r\n `ruta_pdf` varchar(250) DEFAULT NULL,\r\n `tipo_archivo` varchar(45) NOT NULL,\r\n PRIMARY KEY (`id_historial`,`id_validacion`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='tipo_archivo (original o copia)'"; if (($ResultHistorialProveedor = $this->ConsultaQuery("{$DataBaseName}", $HistorialProveedor)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Historial Proveedor </p><br>Detalles:<br><br>{$ResultHistorialProveedor}"); return 0; } /*Registro de Usuarios */ $Users = "CREATE TABLE IF NOT EXISTS `Usuarios` (\r\n `IdUsuario` int(11) NOT NULL AUTO_INCREMENT,\r\n `IdCorreo` int(11) NOT NULL,\r\n `nombre_usuario` varchar(50) NOT NULL,\r\n `password` varchar(45) NOT NULL,\r\n `nombre` varchar(45) NOT NULL,\r\n `apellido_materno` varchar(45) NOT NULL,\r\n `apellido_paterno` varchar(45) DEFAULT NULL,\r\n `curp` varchar(45) DEFAULT NULL,\r\n `fecha_nac` date DEFAULT NULL,\r\n `tipo_usuario` varchar(45) NOT NULL,\r\n `estatus` int(11) DEFAULT '1',\r\n `fecha_alta` DATETIME DEFAULT NULL,\r\n `fecha_baja` DATETIME DEFAULT NULL,\r\n PRIMARY KEY (`IdUsuario`,`nombre_usuario`)\r\n ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"; if (($ResultUsers = $this->ConsultaQuery("{$DataBaseName}", $Users)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Usuarios </p><br>Detalles:<br><br>{$ResultUsers}"); return 0; } $Correo = "CREATE TABLE IF NOT EXISTS `correo` (\r\n `id_correo` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_empleado` int(11) NOT NULL,\r\n `servidor` varchar(45) NULL,\r\n `smtp` varchar(45) DEFAULT NULL,\r\n PuertoSmtp varchar(4) NOT NULL,\r\n `puerto` varchar(45) DEFAULT NULL,\r\n `seguridad` varchar(45) DEFAULT NULL,\r\n `auth` varchar(10) DEFAULT NULL,\r\n `password` varchar(45) DEFAULT NULL,\r\n `correo` varchar(45) DEFAULT NULL,\r\n `titulo_mostrar` varchar(45) DEFAULT NULL,\r\n `host_imap` varchar(150) DEFAULT NULL,\r\n `estatus` int(11) DEFAULT '1',\r\n PRIMARY KEY (`id_correo`,`id_empleado`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8"; if (($ResultCorreo = $this->ConsultaQuery("{$DataBaseName}", $Correo)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Correo </p><br>Detalles:<br><br>{$ResultCorreo}"); return 0; } /* Vista utilizada en Carga_Nomina_XML */ $VistaExistDetalle = "CREATE OR REPLACE VIEW exist_detalle AS select id_detalle_recibo_nomina, id_emisor, id_receptor, FechaPago, curp from detalle_recibo_nomina"; if (($ResultVistaExistDetalle = $this->ConsultaQuery("{$DataBaseName}", $VistaExistDetalle)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Vista Existe Detalle </p><br>Detalles:<br><br>{$ResultVistaExistDetalle}"); return 0; } // SE CREA LA TABLA RECEPTOR DE RECIBO DE NOMINA $MotorCorreo = "CREATE TABLE IF NOT EXISTS `motor_correo` (\r\n `id_motor` int(11) NOT NULL AUTO_INCREMENT,\r\n `id_correo` varchar(60) DEFAULT NULL,\r\n `id_emisor` int(11) DEFAULT NULL,\r\n `id_receptor` int(11) DEFAULT NULL,\r\n `id_detalle` int(11) DEFAULT NULL,\r\n `emisor_correo` varchar(100) DEFAULT NULL,\r\n `monto_factura` decimal(10,0) DEFAULT NULL,\r\n `folio` varchar(45) DEFAULT NULL,\r\n `fecha_factura` datetime DEFAULT NULL,\r\n `hora_recibido` datetime DEFAULT NULL,\r\n `fecha_ingreso` datetime DEFAULT NULL,\r\n `ruta_xml` text,\r\n `ruta_pdf` text,\r\n `estatus_insert` varchar(100) DEFAULT NULL,\r\n PRIMARY KEY (`id_motor`)\r\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Motor de Correo almacena los inserts realizados cuando se descarga, CFDI de cuentas de correo'"; if (($ResultMotorCorreo = $this->ConsultaQuery("{$DataBaseName}", $MotorCorreo)) != 1) { XML::XmlResponse("Error", 0, "<p><b>Error</b> al crear Motor Correo </p><br>Detalles:<br><br>{$ResultMotorCorreo}"); return 0; } return 1; }