<?php
/* ERRORES ENCONTRADOS EN EL CODIGO
- $codigonotaria=$tramite['notaria']['codigonotaria']; Aqui tiene que estar['codigonotaria'] en minuscula segun la BD
*/
require_once('../lib/nusoap.php');
$server = new soap_server;
//$ns="http://190.81.122.150:8282/cuowebservice";
$ns = "http://localhost/SOAP/NuSOAP/Licencia";
$server->configurewsdl('ApplicationServices', $ns);
$server->wsdl->schematargetnamespace = $ns;
$server->wsdl->encoding="ISO-8859";
/* * ********************************************************
DEFINICION DE DATOS DE NOTARIA
* ******************************************************** */
$server->wsdl->addComplexType(
'notaria', 'complexType', 'struct', 'all', '', array(
'codigonotaria' => array('name' => 'codigonotaria', 'type' => 'xsd:string'),
'razonsocial' => array('name' => 'razonsocial', 'type' => 'xsd:string'),
'direccion' => array('name' => 'direccion', 'type' => 'xsd:string'),
'ubigeo' => array('name' => 'ubigeo', 'type' => 'xsd:string')
)
);
/* * ********************************************************
DEFINICION DE DATOS DE SOLICITANTE
* ******************************************************** */
$server->wsdl->addComplexType(
'solicitante', 'complexType', 'struct', 'all', '', array(
'tipodocumento' => array('name' => 'tipodocumento', 'type' => 'xsd:string'),
'dni' => array('name' => 'dni', 'type' => 'xsd:string'),
'nombres' => array('name' => 'nombres', 'type' => 'xsd:string'),
'apellidopaterno' => array('name' => 'apellidopaterno', 'type' => 'xsd:string'),
'apellidomaterno' => array('name' => 'apellidomaterno', 'type' => 'xsd:string'),
'correoelectronico' => array('name' => 'correoelectronico', 'type' => 'xsd:string'),
'numerocelular' => array('name' => 'numerocelular', 'type' => 'xsd:string')
)
);
/**********************************************************
DEFINICION DE DATOS DE SOCIOS
**********************************************************/
$server->wsdl->addComplexType(
'socios', 'complexType', 'struct', 'all', '', array(
'numerodocumento' => array('name' => 'numerodocumento', 'type' => 'xsd:string'),
'tipodocumento' => array('name' => 'tipodocumento', 'type' => 'xsd:string'),
'nombres' => array('name' => 'nombres', 'type' => 'xsd:string'),
'apellidopaterno' => array('name' => 'apellidopaterno', 'type' => 'xsd:string'),
'apellidomaterno' => array('name' => 'apellidomaterno', 'type' => 'xsd:string'),
'direccion' => array('name' => 'direccion', 'type' => 'xsd:string'),
'montoaporte' => array('name' => 'montoaporte', 'type' => 'xsd:decimal')
)
);
/* * ********************************************************
DEFINICION DE TIPO COMPLEJO socios
* *********************************************************/
$server->wsdl->addComplexType(
'Arreglodesocios', // Nombre
'complexType', // Tipo de Clase
'array', // Tipo de PHP
'', // Compositor
'SOAP-ENC:Array', // Restricted Base
array(), array(
array('ref' => 'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:socios[]')
), 'tns:socios'
);
/* * ********************************************************
DEFINICION DE DATOS DE EMPRESA
* ******************************************************** */
$server->wsdl->addComplexType(
'empresa', 'complexType', 'struct', 'all', '', array(
'tiposociedad' => array('name' => 'tiposociedad', 'type' => 'xsd:string'),
'numerotitulo' => array('name' => 'numerotitulo', 'type' => 'xsd:string'),
'razonsocial' => array('name' => 'razonsocial', 'type' => 'xsd:string'),
'denominacionabreviada' => array('name' => 'denominacionabreviada', 'type' => 'xsd:string'),
'ubigeo' => array('name' => 'ubigeo', 'type' => 'xsd:string'),
'objetosocial' => array('name' => 'objetosocial', 'type' => 'xsd:string'),
'tipoaporte' => array('name' => 'tipoaporte', 'type' => 'xsd:string'),
'montocapitalsocial' => array('name' => 'montocapitalsocial', 'type' => 'xsd:decimal'),
'valoraccion' => array('name' => 'valoraccion', 'type' => 'xsd:decimal'),
'tipocancelacion' => array('name' => 'tipocancelacion', 'type' => 'xsd:string'),
'porcentajeCancelado' => array('name' => 'porcentajeCancelado', 'type' => 'xsd:int'),
'Arreglodesocios' => array('name' => 'Arreglodesocios', 'type' => 'tns:Arreglodesocios')
)
);
/* * ********************************************************
DEFINICION DE DATOS TRAMITE
* ******************************************************** */
$server->wsdl->addComplexType(
'tramite', 'complexType', 'struct', 'all', '', array(
'notaria' => array('name' => 'notaria', 'type' => 'tns:notaria'),
'solicitante' => array('name' => 'solicitante', 'type' => 'tns:solicitante'),
'empresa' => array('name' => 'empresa', 'type' => 'tns:empresa')
)
);
function zfill($valor, $max, $char) {
for ($i = strlen($valor); $i < $max; $i++) {
$valor = $char . $valor;
}
return $valor;
}
//jlbugarin ongei-pcm
function obtenerCuo($estado, $institucion) {
$institucion = strtoupper($institucion); //strtoupper — Convierte un string a mayúsculas
$estado = strtoupper($estado);
if (!empty($institucion) && $institucion == "SNRP" && $estado == "S") { //empty — Determina si una variable está vacía
$cuo = '0803004010';
$db = new mysqli();
$db_result = $db->connect("localhost", "root", "", "psc_new");
//$db_result = $db->connect("localhost", "root", "amazonas", "psc_new");
//$sql = "select max(CAST(cuo AS SIGNED))+1 as cuo from verifica";
$sql="select max(CAST(cuo AS SIGNED))+1 as cuo from verifica WHERE cuo NOT LIKE '444%';";
$result = $db->query($sql);
if (mysqli_errno($db))
printf("mySql error %s\n", $db->error);
$row = mysqli_fetch_assoc($result);
$cuo = zfill($row['cuo'], 10, '0');
$sql = "insert into verifica(ip,fecha,estado,cuo) values('$institucion',now(),'$estado','$cuo');";
$result = $db->query($sql);
if (mysqli_errno($db))
printf("mySql error %s\n", $db->error);
$db->close();
return $cuo;
}else {
return "01"; //no envio institucion
}
}
//jlbugarin ongei-pcm
function CUOrecibeTramite($estado, $tramite) {
$cuo='0803004010';
if($estado!=""){
$db = new mysqli();
$db_result = $db->connect ("localhost", "root", "","psc_new");
//$sql="select max(cuo)+1 as cuo from verifica";
//$sql="select max(CAST(cuo AS SIGNED))+1 as cuo from verifica";
$sql="select max(CAST(cuo AS SIGNED))+1 as cuo from verifica WHERE cuo NOT LIKE '444%';";
$result = $db->query($sql);
if (mysqli_errno($db)) printf("mySql error %s\n", $db->error);
$row = mysqli_fetch_assoc($result);
$cuo=zfill($row['cuo'],10,'0');
$sql="insert into verifica(ip,fecha,estado,cuo) values('local',now(),'$estado','$cuo');";
$result = $db->query($sql);
if (mysqli_errno($db)) printf("mySql error %s\n", $db->error);
//****************************************************************************
// solo valor de notaria
//****************************************************************************
$codigonotaria=$tramite['notaria']['codigonotaria'];
$razonsocial=$tramite['notaria']['razonsocial'];
$direccion=$tramite['notaria']['direccion'];
$ubigeo=$tramite['notaria']['ubigeo'];
$sql = "insert into notaria(codigonotaria,razonsocial,direccion,ubigeo,cuo)
values('$codigonotaria','$razonsocial','$direccion','$ubigeo','$cuo');";
$result = $db->query($sql);
if (mysqli_errno($db)) printf("mySql error %s\n", $db->error);
//****************************************************************************
// solicitante
//****************************************************************************
$dni=$tramite['solicitante']['dni'];
$nombres=$tramite['solicitante']['nombres'];
$apellidopaterno=$tramite['solicitante']['apellidopaterno'];
$apellidomaterno=$tramite['solicitante']['apellidomaterno'];
$correoelectronico=$tramite['solicitante']['correoelectronico'];
$sql = "insert into solicitante(dni,nombres,apellidopaterno,apellidomaterno,correoelectronico,cuo)
values('$dni','$nombres','$apellidopaterno','$apellidomaterno','$correoelectronico','$cuo');";
$result = $db->query($sql);
if (mysqli_errno($db)) printf("mySql error %s\n", $db->error);
//****************************************************************************
// empresa
//****************************************************************************
$tiposociedad=$tramite['empresa']['tiposociedad'];
$numerotitulo=$tramite['empresa']['numerotitulo'];
$razonsocial=$tramite['empresa']['razonsocial'];
$denominacionabreviada=$tramite['empresa']['denominacionabreviada'];
$ubigeo=$tramite['empresa']['ubigeo'];
$objetosocial=$tramite['empresa']['objetosocial'];
$tipoaporte=$tramite['empresa']['tipoaporte'];
$montocapitalsocial=$tramite['empresa']['montocapitalsocial'];
$valoraccion=$tramite['empresa']['valoraccion'];
$tipocancelacion=$tramite['empresa']['tipocancelacion'];
$porcentajeCancelado=$tramite['empresa']['porcentajeCancelado'];
//****************************************************************************
// array de socios
$socios=$tramite['empresa']['socios']; //Agrege el arroba
//$socios=$tramite['empresa']['socios']; --- ESTO ES PARTE DEL CODIGO.
//****************************************************************************
//En el codigo de insert, agregre SOCIO, es cosa de eliminar si sale algo mal
$sql = "insert into empresa(tiposociedad,numerotitulo,razonsocial,denominacionabreviada,ubigeo,objetosocial,tipoaporte,
montocapitalsocial,valoraccion,porcentajeCancelado,tipocancelacion,cuo)
values('$tiposociedad','$numerotitulo','$razonsocial','$denominacionabreviada','$ubigeo','$objetosocial','$tipoaporte',
'$montocapitalsocial','$valoraccion','$porcentajeCancelado','$tipocancelacion','$cuo');";
$result = $db->query($sql);
if (mysqli_errno($db)) printf("mySql error %s\n", $db->error);
//****************************************************************************
// socios
//****************************************************************************
foreach ($socios as $data) {
$numerodocumento=$data['numerodocumento'];
$tipodocumento=$data['tipodocumento'];
$nombres=$data['nombres'];
$apellidopaterno=$data['apellidopaterno'];
$apellidomaterno=$data['apellidomaterno'];
$direccion=$data['direccion'];
$montoaporte=$data['montoaporte'];
$sql = "insert into socios(numerodocumento,tipodocumento,nombres,apellidopaterno,apellidomaterno,direccion,montoaporte,cuo)
values('$numerodocumento','$tipodocumento','$nombres','$apellidopaterno','$apellidomaterno','$direccion','$montoaporte','$cuo');";
$result = $db->query($sql);
if (mysqli_errno($db)) printf("mySql error %s\n", $db->error);
}
$db->close();
}
return $cuo;
}
$server->register(
'CUOrecibeTramite', // Nombre del Metodo
array('estado' => 'xsd:string', 'tramite' => 'tns:tramite'), // Parametros de Entrada
array('return' => 'xsd:string'), // Parametros de Salida
$ns, // Namespace
$ns . '#ShowArchivos', // Soapaction
'rpc', // Style
'encoded', // Use
'Retorna cuo' // Documentation
);
//jbugarin-ongei-pcm
$server->register(
'obtenerCuo', // Nombre del Metodo
array('estado' => 'xsd:string', 'institucion' => 'xsd:string'), // Parametros de Entrada
array('return' => 'xsd:string'), // Parametros de Salida
$ns, // Namespace
$ns . '#ShowArchivos', // Soapaction
'rpc', // Style
'encoded', // Use
'Retorna string CUO' // Documentation
);
//jbugarin-ongei-pcm
if (isset($HTTP_RAW_POST_DATA)) {
$input = $HTTP_RAW_POST_DATA;
} else {
$input = implode("\r\n", file('php://input'));
}
$server->service($input);
exit;
?>