TFS_ANTIGUO/PrendarioDavivienda/ULA.Davivienda.WCFServiciosCobisGenerales/ULA.Davivienda.WCFServiciosCobisGenerales.BL/ConsultaClienteBL.vb

3485 lines
157 KiB
VB.net

Imports ULA.Davivienda.WCFServiciosCobisGenerales.DAL
Imports ULA.Davivienda.WCFServiciosCobisGenerales.Entidades
Imports Ultimus.Utilitarios
Imports System.Xml
Public Class ConsultaClienteBL
' Constante para indicar que se está trabajando en ambiente COBIS
#Const COBIS = 1
' Codigos de Errores
Const ERR_COBIS_1 = 1
Const ERR_COBIS_2 = 2
Const ERR_COBIS_3 = 3
Const ERR_COBIS_4 = 4
Const SQLTEXT& = &H23
Const SQLARRAY& = &H24
Const SQLVARBINARY& = &H25
Const SQLINTN& = &H26
Const SQLVARCHAR& = &H27
Const SQLBINARY& = &H2D
Const SQLIMAGE& = &H22
Const SQLCHAR& = &H2F
Const SQLINT1& = &H30
Const SQLBIT& = &H32
Const SQLINT2& = &H34
Const SQLINT4& = &H38
Const SQLMONEY& = &H3C
Const SQLDATETIME& = &H3D
Const SQLFLT8& = &H3E
Const SQLFLTN& = &H6D
Const SQLFLT4& = &H3E
Const SQLMONEYN& = &H6E
Const SQLDATETIMN& = &H6F
Const SQLAOPCNT& = &H4B
Const SQLAOPSUM& = &H4D
Const SQLAOPAVG& = &H4F
Const SQLAOPMIN& = &H51
Const SQLAOPMAX& = &H52
Const SQLAOPANY& = &H53
Const SQLAOPNOOP& = &H56
Const SQLMONEY4& = &H7A
Const SQLDATETIM4& = &H3A
Dim g_Login As String
Dim g_Clave As String
Dim g_Sucursal As String
Dim g_Rol As String
Dim g_Oficina As String
Dim g_Filial As String
Dim xmlDocEnv As Xml.XmlDocument
Dim rootElement As Xml.XmlElement
Dim gstrConnDatos As String
Dim gstrConnUltimus As String
Dim gstrConnSybase As String
Dim gstrServidorCOBIS As String
Dim gResponse
Dim gSession
Dim gProceso As String
Dim gEstatusConexionCOBIS As Integer
'Dim gobjAudit As ServiciosApoyo.Auditoria
Dim VTNum As Integer
Dim VTRow As Integer
Dim VTI As Object
Dim VTClave As String
Dim VTErr_Tipo As String
Dim VTErr_NumErr As Long
Dim VTErr_Sev As Integer
Dim VTErr_Msg As String
Dim VLErrorAut As String
Dim VTnumRets As Integer
Dim VTRetparam As String
Dim VTRetStatus As String
Dim VTresul As String
Dim Map As MAPASPLib.mapcon
Dim SqlConn As Integer
Dim crypt As Crypt = New Crypt()
Dim log As LogFile = New LogFile()
Public Sub New()
MyBase.New()
Dim bIsDummie As Boolean = False
Try
gstrServidorCOBIS = Configuration.ConfigurationManager.AppSettings("ServerCobisFisico")
bIsDummie = Configuration.ConfigurationManager.AppSettings("isDummie")
If (Not bIsDummie) Then
#If COBIS = 1 Then
Map = New MAPASPLib.mapcon
#End If
End If
gEstatusConexionCOBIS = 0
Catch ex As Exception
Throw New Exception("No fue posible inicializar el servicio. " + ex.Message)
End Try
End Sub
Public Function ConsultarSolicitante(req As ConsultarSolicitanteRequest) As ConsultarSolicitanteResponse
Dim bIsDummie As Boolean = False
Dim co_ente As String = String.Empty
Dim nElement As Xml.XmlElement = Nothing
Dim aElement As Xml.XmlElement = Nothing
Dim objPI As Xml.XmlProcessingInstruction
Dim resp As ConsultarSolicitanteResponse = Nothing
Try
resp = New ConsultarSolicitanteResponse()
bIsDummie = Configuration.ConfigurationManager.AppSettings("isDummie")
If (bIsDummie) Then
resp.resultado = "<?xml version='1.0'?><Resultado><ListaNegra><EstaEnListaNegra>NO</EstaEnListaNegra></ListaNegra><Detalle><co_ente>466863</co_ente><co_identificacion>C</co_identificacion><g_identificacion_cobis>05-0330-0410</g_identificacion_cobis><g_co_tipo_identificacion>1</g_co_tipo_identificacion><g_tipo_identificacion>Persona Fisica Nacional</g_tipo_identificacion><apellido_paterno>COREA</apellido_paterno><apellido_materno>BADILLA</apellido_materno><apellido_casada></apellido_casada><primer_nombre>JUAN </primer_nombre><segundo_nombre>CLIMACO </segundo_nombre><fecha_nacimiento>06/10/1982</fecha_nacimiento><seguro_social>00000000</seguro_social><co_sexo>M</co_sexo><co_nacionalidad>41</co_nacionalidad><nacionalidad>COSTARICENSE</nacionalidad><estado_civil>S</estado_civil><co_profesion>146</co_profesion><profesion>ANALISTA</profesion><calificacion>A1</calificacion><genera_divisas>2</genera_divisas><fecha_vencimiento>09/03/2020</fecha_vencimiento><estado_con_banco>1</estado_con_banco><co_pais_nacimiento>41</co_pais_nacimiento><pais_nacimiento>COSTA RICA</pais_nacimiento><grupo_economico>420</grupo_economico></Detalle><Direcciones><Direccion><nu_direccion>1</nu_direccion><co_pais>41</co_pais><de_pais>COSTA RICA</de_pais><co_provincia>1</co_provincia><de_provincia>SAN JOSE</de_provincia><co_canton>118</co_canton><de_canton>CURRIDABAT</de_canton><co_distrito>3</co_distrito><de_distrito>Sanchez</de_distrito><co_barrio>2</co_barrio><de_barrio>Lomas De Ayarco</de_barrio><co_tipo>DM</co_tipo><de_tipo></de_tipo><de_calle></de_calle><de_edificio></de_edificio><nu_casa></nu_casa><co_alquilado>N</co_alquilado><mo_mensualidad>0.00</mo_mensualidad><de_observacion>VILLAS DE AYARCO CASA 2-F DE H</de_observacion><co_vigente>S</co_vigente><co_distrito_area_metro>1</co_distrito_area_metro><Telefonos><Telefono><co_telefono>1</co_telefono><telefono>22726511</telefono><extension>----</extension><tipo_telefono>1</tipo_telefono><de_telefono>DOMICILIO</de_telefono></Telefono></Telefonos></Direccion><Direccion><nu_direccion>2</nu_direccion><co_pais>41</co_pais><de_pais>COSTA RICA</de_pais><co_provincia>1</co_provincia><de_provincia>SAN JOSE</de_provincia><co_canton>101</co_canton><de_canton>CENTRAL</de_canton><co_distrito>1</co_distrito><de_distrito>Carmen</de_distrito><co_barrio>9</co_barrio><de_barrio>Cuesta Moras</de_barrio><co_tipo>DC</co_tipo><de_tipo></de_tipo><de_calle></de_calle><de_edificio></de_edificio><nu_casa></nu_casa><co_alquilado>N</co_alquilado><mo_mensualidad>0.00</mo_mensualidad><de_observacion>DE LA CATEDRAL METROPOLITANA 2</de_observacion><co_vigente>S</co_vigente><co_distrito_area_metro>1</co_distrito_area_metro><Telefonos><Telefono><co_telefono>1</co_telefono><telefono>83982474</telefono><extension>----</extension><tipo_telefono>2</tipo_telefono><de_telefono>TRABAJO 1</de_telefono></Telefono><Telefono><co_telefono>2</co_telefono><telefono>22871000</telefono><extension>----</extension><tipo_telefono>2</tipo_telefono><de_telefono>TRABAJO 1</de_telefono></Telefono></Telefonos></Direccion></Direcciones><FuentesIngresos><FuenteIngreso><nu_fuente_ingreso>2</nu_fuente_ingreso><co_compania_catalogo></co_compania_catalogo><de_compania_normal>BANCO DAVIVIENDA COS</de_compania_normal><co_ocupacion>170</co_ocupacion><de_ocupacion>ANALISTA</de_ocupacion><mo_sueldo>1,037,400.00</mo_sueldo><co_rango></co_rango><de_rango></de_rango><co_verificado>N</co_verificado><co_vigencia>S</co_vigencia><fe_fecha_mod>09/04/2014</fe_fecha_mod><co_tipo_empleo>6</co_tipo_empleo><nu_empleado></nu_empleado><nu_planilla></nu_planilla><nu_segurosocial></nu_segurosocial><co_moneda>20</co_moneda></FuenteIngreso></FuentesIngresos><ReferenciasPersonales><ReferenciaPersonal><referencia>1</referencia><nombre>MARITZA</nombre><apellido_paterno>BADILLA</apellido_paterno><apellido_materno>RODRIGUEZ</apellido_materno><direccion>LIBERIA</direccion><parentesco>MADRE</parentesco><telefono_domicilio>83076103</telefono_domicilio><telefono_empresa></telefono_empresa><telefono_otro></telefono_otro><fecha_registro>29/05/2007</fecha_registro><fecha_modificacion>29/05/2007</fecha_modificacion><vigente>S</vigente><verificado>N</verificado><co_parentesco>3 </co_parentesco></ReferenciaPersonal><ReferenciaPersonal><referencia>2</referencia><nombre>GERARDO</nombre><apellido_paterno>BADILLA</apellido_paterno><apellido_materno>GARITA</apellido_materno><direccion>LIBERIA</direccion><parentesco>PRIMO ( A )</parentesco><telefono_domicilio>88119097</telefono_domicilio><telefono_empresa></telefono_empresa><telefono_otro></telefono_otro><fecha_registro>29/05/2007</fecha_registro><fecha_modificacion>29/05/2007</fecha_modificacion><vigente>S</vigente><verificado>N</verificado><co_parentesco>7 </co_parentesco></ReferenciaPersonal></ReferenciasPersonales><Emails><Email><co_email>1</co_email><de_email>juan.c.corea@davivienda.cr</de_email></Email></Emails><Pasivos><Pasivo><TIPOCUENTA>Ahorro</TIPOCUENTA><NUMEROCUENTA>01405279131</NUMEROCUENTA><DISPONIBLE>161,667.98</DISPONIBLE><SALDOPROMEDIO>289,872.85</SALDOPROMEDIO><MONEDA>COLONES</MONEDA><CODIGOTIPOCUENTA>AHONM</CODIGOTIPOCUENTA><CREDITOPROMEDIO>1,042,026.38</CREDITOPROMEDIO><FECHAINICIO>29/05/2007</FECHAINICIO><DEBITOPROMEDIO>1,165,470.02</DEBITOPROMEDIO></Pasivo><Pasivo><TIPOCUENTA>Ahorro</TIPOCUENTA><NUMEROCUENTA>01405279149</NUMEROCUENTA><DISPONIBLE>806.26</DISPONIBLE><SALDOPROMEDIO>288.53</SALDOPROMEDIO><MONEDA>DOLARES</MONEDA><CODIGOTIPOCUENTA>AHONM</CODIGOTIPOCUENTA><CREDITOPROMEDIO>319.50</CREDITOPROMEDIO><FECHAINICIO>29/05/2007</FECHAINICIO><DEBITOPROMEDIO>185.33</DEBITOPROMEDIO></Pasivo><Pasivo><TIPOCUENTA>Ahorro</TIPOCUENTA><NUMEROCUENTA>28426034711</NUMEROCUENTA><DISPONIBLE>56,894.48</DISPONIBLE><SALDOPROMEDIO>157,593.68</SALDOPROMEDIO><MONEDA>COLONES</MONEDA><CODIGOTIPOCUENTA>AHONN</CODIGOTIPOCUENTA><CREDITOPROMEDIO>137,733.91</CREDITOPROMEDIO><FECHAINICIO>14/12/2010</FECHAINICIO><DEBITOPROMEDIO>133,656.69</DEBITOPROMEDIO></Pasivo></Pasivos><DepositosPlazoFijo/><TOTALESPASIVOS><TOTALPASIVOSCOLONES>447466.53333333333333333333334</TOTALPASIVOSCOLONES><TOTALPASIVOSDOLARES>288.525</TOTALPASIVOSDOLARES><TOTALPLAZOSFIJOSCOLONES>0</TOTALPLAZOSFIJOSCOLONES><TOTALPLAZOSFIJOSDOLARES>0</TOTALPLAZOSFIJOSDOLARES></TOTALESPASIVOS><Activos><Prestamos><Prestamo><TIPOOPERACION>HIPOTECARIO</TIPOOPERACION><OPERACION>10400140714404014</OPERACION><SALDOACTUAL>26,545,882.56</SALDOACTUAL><FECHAVENCIMIENTO>01/11/2041</FECHAVENCIMIENTO><MONTOORIGINAL>28,140,000.00</MONTOORIGINAL><ESTADO></ESTADO><FECHAINICIO></FECHAINICIO><MONEDA>DOLARES</MONEDA><DIASMORA>0</DIASMORA><CUOTAMENSUAL>192,800.61</CUOTAMENSUAL></Prestamo><Prestamo><TIPOOPERACION>HIPOTECARIO</TIPOOPERACION><OPERACION>10400140725121118</OPERACION><SALDOACTUAL>19,847,907.37</SALDOACTUAL><FECHAVENCIMIENTO>01/08/2035</FECHAVENCIMIENTO><MONTOORIGINAL>20,000,000.00</MONTOORIGINAL><ESTADO></ESTADO><FECHAINICIO>0.00</FECHAINICIO><MONEDA>DOLARES</MONEDA><DIASMORA>0</DIASMORA><CUOTAMENSUAL>168,204.77</CUOTAMENSUAL></Prestamo></Prestamos><ACUMULADOCOLONES>0</ACUMULADOCOLONES><ACUMULADODOLARES>46393789.93</ACUMULADODOLARES><CUOTATOTALCOLONES>0</CUOTATOTALCOLONES><CUOTATOTALDOLARES>0</CUOTATOTALDOLARES><HIPOTECACOLONES>0</HIPOTECACOLONES><HIPOTECADOLARES>46393789.93</HIPOTECADOLARES><PRENDARIOCOLONES>0</PRENDARIOCOLONES><PRENDARIODOLARES>0</PRENDARIODOLARES><PERSONALCOLONES>0</PERSONALCOLONES><PERSONALDOLARES>0</PERSONALDOLARES><TIENEOPERACIONESBANEX>SI</TIENEOPERACIONESBANEX></Activos><TarjetasCredito><Tarjetas><Tarjeta><TITULARTARJETA>4117573451363012</TITULARTARJETA><MONEDA>COLONES</MONEDA><LIMITE>0.00</LIMITE><SALDO>0.00</SALDO><PAGOMINIMO>0.00</PAGOMINIMO><CLASIFICACIONPAGO> - </CLASIFICACIONPAGO><ESTADO>A</ESTADO><DIASATRASO>0</DIASATRASO><FECHAAPERTURA>25/10/2012</FECHAAPERTURA><FECHAULTIMOPAGO></FECHAULTIMOPAGO><MONTOULTIMOPAGO>0.00</MONTOULTIMOPAGO><SECUENCIAL>516474</SECUENCIAL><NUMERO>4117573451363012</NUMERO></Tarjeta><Tarjeta><TITULARTARJETA>4117573451363012</TITULARTARJETA><MONEDA>DOLARES</MONEDA><LIMITE>300.00</LIMITE><SALDO>0.00</SALDO><PAGOMINIMO>0.00</PAGOMINIMO><CLASIFICACIONPAGO> - </CLASIFICACIONPAGO><ESTADO>A</ESTADO><DIASATRASO>0</DIASATRASO><FECHAAPERTURA>25/10/2012</FECHAAPERTURA><FECHAULTIMOPAGO></FECHAULTIMOPAGO><MONTOULTIMOPAGO>0.00</MONTOULTIMOPAGO><SECUENCIAL>516474</SECUENCIAL><NUMERO>4117573451363012</NUMERO></Tarjeta></Tarjetas><ACUMULADOCOLONES>0</ACUMULADOCOLONES><ACUMULADODOLARES>600</ACUMULADODOLARES><SALDOTOTALCOLONES>0</SALDOTOTALCOLONES><SALDOTOTALDOLARES>0</SALDOTOTALDOLARES></TarjetasCredito><Scoring><fe_creacion>05/23/2007</fe_creacion><fe_ultimo_producto>07/30/2015</fe_ultimo_producto><creditos_cancelados>5</creditos_cancelados><cheques_devueltos></cheques_devueltos><castigado>0</castigado><max_atraso_historico>26</max_atraso_historico><max_atraso_12m>26</max_atraso_12m><max_atraso_6m>0</max_atraso_6m><max_atraso_3m>0</max_atraso_3m><operaciones_canceladas_6m>1</operaciones_canceladas_6m><atrasos_30dias>4</atrasos_30dias><morosidad>IGUAL O MENOR A 30 DIAS</morosidad><reestructurado>0</reestructurado><relclientebanco>8</relclientebanco><exposicion_tar>214543.00</exposicion_tar></Scoring><ScoringDetalle><Operacion2><toperacion>AUT</toperacion><max_atraso_hist>1</max_atraso_hist><max_atraso_3m>0</max_atraso_3m><max_atraso_6m>0</max_atraso_6m><max_atraso_12m>1</max_atraso_12m><max_atraso_act>0</max_atraso_act><ds_atraso_30d>1</ds_atraso_30d><prod_castigado>0</prod_castigado></Operacion2><Operacion3><toperacion>HVI</toperacion><max_atraso_hist>26</max_atraso_hist><max_atraso_3m>0</max_atraso_3m><max_atraso_6m>0</max_atraso_6m><max_atraso_12m>26</max_atraso_12m><max_atraso_act>0</max_atraso_act><ds_atraso_30d>3</ds_atraso_30d><prod_castigado>0</prod_castigado></Operacion3><Operacion4><toperacion>PCREFA</toperacion><max_atraso_hist>7</max_atraso_hist><max_atraso_3m>0</max_atraso_3m><max_atraso_6m>0</max_atraso_6m><max_atraso_12m>0</max_atraso_12m><max_atraso_act>0</max_atraso_act><ds_atraso_30d>0</ds_atraso_30d><prod_castigado>0</prod_castigado></Operacion4></ScoringDetalle></Resultado>"
resp.errCode = "00"
resp.errMessage = "OK"
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", resp.resultado)
Return resp
End If
xmlDocEnv = New Xml.XmlDocument
objPI = xmlDocEnv.CreateProcessingInstruction("xml", "version='1.0'")
xmlDocEnv.AppendChild(objPI)
rootElement = xmlDocEnv.CreateElement("Resultado")
xmlDocEnv.AppendChild(rootElement)
gProceso = req.Proceso.ToString()
If ConsultarLoginCOBIS(req.UserName, req.Password) Then
IniciarConexionCOBIS()
If SqlConn > 0 Then
If req.TipoIdentificacion = "Ente" Then
co_ente = req.Identificacion
Else
co_ente = ConsultarEnteSolicitante(req.Proceso.ToString(), req.Identificacion, req.TipoIdentificacion)
End If
'co_ente = "292"
If co_ente = "0" Then
nElement = xmlDocEnv.CreateElement("Detalle")
rootElement.AppendChild(nElement)
aElement = xmlDocEnv.CreateElement("co_ente")
aElement.InnerText = "NoEncontrado"
nElement.AppendChild(aElement)
Else
ConsultarListaNegra(req.Proceso.ToString(), co_ente)
ConsultarDatosGenerales(req.Proceso.ToString(), co_ente)
ConsultarDireccionesSolicitante(req.Proceso.ToString(), co_ente)
ConsultarFuentesIngreso(req.Proceso.ToString(), co_ente)
ConsultarReferenciasPersonales(req.Proceso.ToString(), co_ente)
ConsultarEmail(req.Proceso.ToString(), co_ente)
ConsultarPasivos(req.Proceso.ToString(), co_ente)
ConsultarActivos(req.Proceso.ToString(), co_ente)
ConsultarTarjetas(req.Proceso.ToString(), co_ente)
ConsultarScoring(req.Proceso.ToString(), co_ente)
End If
End If
resp.resultado = xmlDocEnv.InnerXml
resp.errCode = "00"
resp.errMessage = "OK"
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", xmlDocEnv.InnerXml)
End If
Catch ex As Exception
resp.errCode = "99"
resp.errMessage = ex.Message
resp.resultado = "<Resultado><Error>Error: " & ex.Message & "</Error></Resultado>"
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Finally
Try
If SqlConn > 0 And gEstatusConexionCOBIS = 1 Then
TerminarConexionCOBIS()
End If
Catch ex As Exception
resp.errCode = "99"
resp.errMessage = "Ha ocurrido un error al terminar la conexión con cobis"
End Try
End Try
Return resp
End Function
Public Function CrearCuenta(req As CrearCuentaRequest) As CrearCuentaResponse
Dim bIsDummie As Boolean = False
Dim resp As CrearCuentaResponse = Nothing
Dim intResultado As Integer = 0
Dim intNumeroError As Integer = 0
Dim strDescError As String = String.Empty
Dim strOrigenError As String = "CrearCuenta"
Dim aMatriz1(50, 100)
Try
resp = New CrearCuentaResponse()
gProceso = req.strProceso
bIsDummie = Configuration.ConfigurationManager.AppSettings("isDummie")
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", "Flag 0 =>" & req.ToString())
If (bIsDummie) Then
resp.resultado = "<?xml version='1.0'?>" + _
"<Resultado><CuentaAhorros>" + _
"<CUENTA><NUMCTA>123456789</NUMCTA><MONEDACTA>0</MONEDACTA><TIPOCTANUEVA>AHO</TIPOCTANUEVA></CUENTA>" + _
"<CUENTA><NUMCTA>987654321</NUMCTA><MONEDACTA>1</MONEDACTA><TIPOCTANUEVA>AHO</TIPOCTANUEVA></CUENTA>" + _
"</CuentaAhorros></Resultado>"
resp.errCode = "00"
resp.errMessage = "OK"
Return resp
End If
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", "Flag 1 =>" & req.strUsername)
If ConsultarLoginCOBIS(req.strUsername, req.strPassword) Then
IniciarConexionCOBIS()
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", "Flag 2 =>" & req.strUsername)
If SqlConn > 0 Then
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", "Flag 3 =>" & req.strUsername)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_cartera.sp_firma_docs_ultimus", 7402, gResponse, gSession) Then
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "7402")
Map.PMPasoValores(SqlConn, "@i_opcion", 0, SQLCHAR&, "C")
Map.PMPasoValores(SqlConn, "@i_oficina", 0, SQLINT4&, req.CodigoOficina)
Map.PMPasoValores(SqlConn, "@i_moneda", 0, SQLINT1&, req.Moneda)
Map.PMPasoValores(SqlConn, "@i_ccah_monto", 0, SQLMONEY&, req.MontoApertura)
Map.PMPasoValores(SqlConn, "@i_ccah_ente", 0, SQLINT4&, req.Ente)
Map.PMPasoValores(SqlConn, "@i_ccah_producto", 0, SQLVARCHAR&, req.TipoProducto)
Map.PMPasoValores(SqlConn, "@i_oficial", 0, SQLVARCHAR&, req.CodigoOficial)
Map.PMPasoValores(SqlConn, "@i_empresa", 0, SQLINT1&, "4")
Map.PMPasoValores(SqlConn, "@i_banco", 0, SQLVARCHAR&, req.NumeroOperacion)
Map.PMPasoValores(SqlConn, "@i_prod_banc", 0, SQLINT1&, req.TipoCuentaNueva)
Map.PMPasoValores(SqlConn, "@i_ing_neto_col", 0, SQLMONEY&, req.IngresoNetoCol)
Map.PMPasoValores(SqlConn, "@i_ing_bruto_col", 0, SQLMONEY&, req.IngresoBrutoCol)
Map.PMPasoValores(SqlConn, "@i_ing_neto_dol", 0, SQLMONEY&, req.IngresoNetoDol)
Map.PMPasoValores(SqlConn, "@i_ing_bruto_dol", 0, SQLMONEY&, req.IngresoBrutoDol)
Map.PMPasoValores(SqlConn, "@i_envio_ec", 0, SQLCHAR&, req.CoEnvioEstadoCuenta)
Map.PMPasoValores(SqlConn, "@i_incidente", 0, SQLINT4&, req.Incidente)
If req.SecEnvioEstadoCuenta <> "" Then
Map.PMPasoValores(SqlConn, "@i_sec_envio_ec", 0, SQLINT1&, req.SecEnvioEstadoCuenta)
End If
Map.PMPasoValores(SqlConn, "@i_ffecha", 0, SQLINT1&, "103")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_cartera", "sp_firma_docs_ultimus", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz1)
Map.PMChequea(SqlConn)
If Map.FMRetStatus(SqlConn) <> 0 Then
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, strOrigenError, strDescError)
End If
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_firma_docs_ultimus", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", "Flag 4 =>" & intResultado.ToString())
If (intResultado > 0) Then
resp.resultado = "<?xml version='1.0'?><Resultado><CuentaAhorros>"
For i As Integer = 0 To intResultado
resp.resultado += "<CUENTA><NUMCTA>" + aMatriz1(0, i + 1) + "</NUMCTA><MONEDACTA>" + IIf(aMatriz1(1, i + 1) = "20", "0", "1") + "</MONEDACTA><TIPOCTANUEVA>AHO</TIPOCTANUEVA></CUENTA>"
Next
resp.resultado += "</CuentaAhorros></Resultado>"
resp.errCode = "00"
resp.errMessage = "OK"
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", "Flag 5 =>" & resp.resultado)
Else
resp.errCode = "99"
resp.errMessage = "No se pudo obtener el resultado de la matriz de retorno."
End If
Else
resp.errCode = "99"
resp.errMessage = "RpcInit failed"
End If
Else
resp.errCode = "99"
resp.errMessage = "Connection failed"
End If
Else
resp.errCode = "99"
resp.errMessage = "Login failed"
End If
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", "Flag 6 =>" & resp.errCode & " - " & resp.errMessage)
Catch ex As Exception
resp.errCode = "99"
resp.errMessage = ex.Message
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Finally
Try
If SqlConn > 0 And gEstatusConexionCOBIS = 1 Then
TerminarConexionCOBIS()
End If
Catch ex As Exception
resp.errCode = "99"
resp.errMessage = "Ha ocurrido un error al terminar la conexión con cobis"
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", resp.errMessage)
End Try
End Try
Return resp
End Function
#Region "DesarrolloConsultarSecuenciales"
#Region "ConsultarSecuencialesSolicitante"
' #########################################################################################
' ConsultarSecuencialesSolicitante:
' #########################################################################################
Public Function ConsultarSecuencialesSolicitante(req As ConsultarSecuencialesSolicitanteRequest) As ConsultarSecuencialesSolicitanteResponse
Dim co_ente As String
Dim objPI As Xml.XmlProcessingInstruction
Dim nElement, aElement As Xml.XmlElement
Dim intNumeroError As Object
Dim strDescError As Object
Dim strOrigenError As Object
Dim strRespXML As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
Dim resp As ConsultarSecuencialesSolicitanteResponse = Nothing
intNumeroError = 0
gProceso = req.Proceso.ToString()
strRespXML = ""
Try
resp = New ConsultarSecuencialesSolicitanteResponse()
xmlDocEnv = New Xml.XmlDocument()
objPI = xmlDocEnv.CreateProcessingInstruction("xml", "version='1.0'")
xmlDocEnv.AppendChild(objPI)
rootElement = xmlDocEnv.CreateElement("Resultado")
xmlDocEnv.AppendChild(rootElement)
If ConsultarLoginCOBIS(req.strUsername, req.strPassword) Then
IniciarConexionCOBIS()
If SqlConn > 0 Then
If req.strTipoIdentificacion = "Ente" Then
co_ente = req.strIdentificacion
Else
co_ente = ConsultarEnteSolicitante(req.Proceso.ToString(), req.strIdentificacion, req.strTipoIdentificacion)
End If
'co_ente = "292"
If co_ente = "0" Then
nElement = xmlDocEnv.CreateElement("Detalle")
rootElement.AppendChild(nElement)
aElement = xmlDocEnv.CreateElement("co_ente")
aElement.InnerText = "NoEncontrado"
nElement.AppendChild(aElement)
Else
ConsultarSecuencialesDireccionesSolicitante(req.Proceso.ToString(), co_ente)
ConsultarSecuencialesFuentesIngreso(req.Proceso.ToString(), co_ente)
ConsultarSecuencialesReferenciasPersonales(req.Proceso.ToString(), co_ente)
ConsultarSecuencialesEmail(req.Proceso.ToString(), co_ente)
End If
End If
resp.resultado = xmlDocEnv.InnerXml
resp.errCode = "00"
resp.errMessage = "OK"
End If
Catch ex As Exception
Try
strError = excError.Message
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
resp.errCode = "99"
resp.errMessage = ex.Message
resp.resultado = "<Resultado><Error>Error: " & ex2.Message & "</Error></Resultado>"
End Try
Finally
If SqlConn > 0 And gEstatusConexionCOBIS = 1 Then
TerminarConexionCOBIS()
End If
resp.errCode = "99"
resp.errMessage = "Ha ocurrido un error al terminar la conexión con cobis"
End Try
Return resp
End Function
#End Region
#Region "ConsultarSecuencialesDireccionesSolicitante"
' #########################################################################################
' ConsultarSecuencialesDireccionesSolicitante:
' #########################################################################################
Private Function ConsultarSecuencialesDireccionesSolicitante(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(50, 50)
Dim aMatriz2(50, 50)
Dim aCampos(19) As String
Dim I, J, K, L, M As Integer
Dim nElement, aElement, nElement2, aElement2, aElement3 As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim intResultado As Integer
Dim intResultado2 As Integer
Dim DistritoAreaMetro As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarDireccionesSolicitante"
aCampos(0) = "co_direccion"
aCampos(1) = "co_pais"
aCampos(2) = "de_pais"
aCampos(3) = "co_provincia"
aCampos(4) = "de_provincia"
aCampos(5) = "co_canton"
aCampos(6) = "de_canton"
aCampos(7) = "co_distrito"
aCampos(8) = "de_distrito"
aCampos(9) = "co_barrio"
aCampos(10) = "de_barrio"
aCampos(11) = "co_tipo_direccion"
aCampos(12) = "de_tipo"
aCampos(13) = "de_calle"
aCampos(14) = "de_edificio"
aCampos(15) = "nu_casa"
aCampos(16) = "co_alquilado"
aCampos(17) = "mo_mensualidad"
aCampos(18) = "de_observacion"
aCampos(19) = "co_vigente"
Try
nElement = xmlDocEnv.CreateElement("Direcciones")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_direccion_cons", 1227, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "F")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1227")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_direccion_cons", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_direccion_cons", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For K = 1 To intResultado
nElement2 = xmlDocEnv.CreateElement("Direccion")
nElement.AppendChild(nElement2)
For J = 0 To 19
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
Next
DistritoAreaMetro = ObtenerAreaMetro(aMatriz(5, K), aMatriz(7, K))
aElement = xmlDocEnv.CreateElement("co_distrito_area_metro")
aElement.InnerText = DistritoAreaMetro
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("Telefonos")
nElement2.AppendChild(aElement)
' Obtener los telTfonos para esta direcci=n
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_telefono", 147, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "147")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
Map.PMPasoValores(SqlConn, "@i_direccion", 0, SQLINT1&, CStr(aMatriz(0, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_telefono", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For M = 1 To intResultado2
aElement2 = xmlDocEnv.CreateElement("Telefono")
aElement.AppendChild(aElement2)
aElement3 = xmlDocEnv.CreateElement("co_secuencial")
aElement3.InnerText = aMatriz2(0, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("telefono")
aElement3.InnerText = aMatriz2(1, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("extension")
aElement3.InnerText = aMatriz2(2, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("co_tipo")
aElement3.InnerText = aMatriz2(3, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("de_telefono")
aElement3.InnerText = aMatriz2(4, M)
aElement2.AppendChild(aElement3)
Next
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
#End Region
#Region "ConsultarSecuencialesFuentesIngreso"
' #########################################################################################
' ConsultarSecuencialesFuentesIngreso:
' #########################################################################################
Private Function ConsultarSecuencialesFuentesIngreso(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(15, 20)
Dim aMatriz2(30, 30)
Dim aCampos(15) As String
Dim I, J, K As Integer
Dim nElement, nElement2, aElement As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim intResultado, intResultado2 As Integer
Dim strDescripcionOcupacion As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarFuentesIngreso"
aCampos(0) = "co_empleo"
aCampos(1) = "co_compania_catalogo"
aCampos(2) = "de_compania_normal"
aCampos(3) = "co_ocupacion"
aCampos(4) = "de_ocupacion"
aCampos(5) = "mo_sueldo"
aCampos(6) = "co_rango"
aCampos(7) = "de_rango"
aCampos(8) = "co_verificado"
aCampos(9) = "co_vigencia"
aCampos(10) = "fe_fecha_mod"
aCampos(11) = "co_tipo_empleo"
aCampos(12) = "nu_empleado"
aCampos(13) = "nu_planilla"
aCampos(14) = "nu_segurosocial"
Try
nElement = xmlDocEnv.CreateElement("FuentesIngreso")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_empleo", 1231, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "F")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1231")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_empleo", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For K = 1 To intResultado
If (aMatriz(2, K) <> "" And aMatriz(2, K) <> Nothing) And _
(aMatriz(5, K) <> "" And aMatriz(5, K) <> Nothing) Then
nElement2 = xmlDocEnv.CreateElement("FuenteIngreso")
nElement.AppendChild(nElement2)
For J = 0 To 14
If J = 3 Then
strDescripcionOcupacion = ObtenerDescripcionOcupacion(aMatriz(J, K))
If strDescripcionOcupacion <> "NE" Then
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("de_ocupacion")
aElement.InnerText = strDescripcionOcupacion
nElement2.AppendChild(aElement)
Else
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = ""
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("de_ocupacion")
aElement.InnerText = ""
nElement2.AppendChild(aElement)
End If
Else
If J <> 4 Then
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
End If
End If
Next
' OHG 22 ENE 2007 - Obtener la moneda del ingreso
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_empleo", 1232, gResponse, gSession) Then
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "Q")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1232")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
Map.PMPasoValores(SqlConn, "@i_trabajo", 0, SQLINT2&, CStr(aMatriz(0, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_empleo", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_empleo", strDescError)
End If
End If
aElement = xmlDocEnv.CreateElement("co_moneda")
aElement.InnerText = aMatriz2(9, 1)
nElement2.AppendChild(aElement)
End If
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
#End Region
#Region "ConsultarSecuencialesReferenciasPersonales"
' #########################################################################################
' ConsultarSecuencialesReferenciasPersonales:
' #########################################################################################
Private Function ConsultarSecuencialesReferenciasPersonales(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(14, 20)
Dim aCampos(18) As String
Dim I, J, K As Integer
Dim nElement, nElement2, aElement, aElement2 As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intResultado As Integer
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
aCampos(1) = "no_referencia"
aCampos(2) = "nombre"
aCampos(3) = "apellido_paterno"
aCampos(4) = "apellido_materno"
aCampos(5) = "direccion"
aCampos(6) = "parentesco"
aCampos(7) = "telefono_domicilio"
aCampos(8) = "telefono_empresa"
aCampos(9) = "telefono_otro"
aCampos(10) = "fecha_registro"
aCampos(11) = "fecha_modificacion"
aCampos(12) = "vigente"
aCampos(13) = "verificado"
aCampos(14) = "co_parentesco"
Try
nElement = xmlDocEnv.CreateElement("ReferenciasPersonales")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_refpersonal", 136, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "136")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_refpersonal", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_refpersonal", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If intResultado > 2 Then
intResultado = 2
End If
For K = 1 To intResultado
nElement2 = xmlDocEnv.CreateElement("ReferenciaPersonal")
nElement.AppendChild(nElement2)
For J = 0 To 13
aElement = xmlDocEnv.CreateElement(aCampos(J + 1))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
Next
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
#End Region
#Region "ConsultarSecuencialesEmail"
' #########################################################################################
' ConsultarSecuencialesReferenciasPersonales:
' #########################################################################################
Private Function ConsultarSecuencialesEmail(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(13, 20)
Dim aCampos(18) As String
Dim I, J, K As Integer
Dim nElement, nElement2, aElement, aElement2 As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intResultado As Integer
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
Try
nElement = xmlDocEnv.CreateElement("Emails")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_email", 1269, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1269")
Map.PMPasoValores(SqlConn, "@i_modo", 0, SQLINT1&, "3")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_email", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_email", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If intResultado > 2 Then
intResultado = 2
End If
For K = 1 To intResultado
nElement2 = xmlDocEnv.CreateElement("Email")
nElement.AppendChild(nElement2)
aElement = xmlDocEnv.CreateElement("de_email")
aElement.InnerText = aMatriz(0, K)
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("co_email")
aElement.InnerText = aMatriz(1, K)
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("co_tipo_email")
aElement.InnerText = IIf(aMatriz(2, K) = "S", "PERSONAL", "TRABAJO")
nElement2.AppendChild(aElement)
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
#End Region
#End Region
#Region "Internal"
Private Function ConsultarReferenciasPersonales(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(14, 20)
Dim aCampos(18) As String
Dim I, J, K As Integer
Dim nElement, nElement2, aElement, aElement2 As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intResultado As Integer
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
'Dim objAudit As New ServiciosApoyo.Auditoria
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
aCampos(1) = "referencia"
aCampos(2) = "nombre"
aCampos(3) = "apellido_paterno"
aCampos(4) = "apellido_materno"
aCampos(5) = "direccion"
aCampos(6) = "parentesco"
aCampos(7) = "telefono_domicilio"
aCampos(8) = "telefono_empresa"
aCampos(9) = "telefono_otro"
aCampos(10) = "fecha_registro"
aCampos(11) = "fecha_modificacion"
aCampos(12) = "vigente"
aCampos(13) = "verificado"
aCampos(14) = "co_parentesco"
Try
nElement = xmlDocEnv.CreateElement("ReferenciasPersonales")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_refpersonal", 136, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "136")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_refpersonal", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_refpersonal", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If intResultado > 2 Then
intResultado = 2
End If
For K = 1 To intResultado
nElement2 = xmlDocEnv.CreateElement("ReferenciaPersonal")
nElement.AppendChild(nElement2)
For J = 0 To 13
aElement = xmlDocEnv.CreateElement(aCampos(J + 1))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
Next
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
Private Function ConsultarPasivos(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(12, 20)
Dim aMatriz2(130, 20)
Dim aMatriz3(130, 20)
Dim aMatriz4(130, 20)
Dim aCampos(18) As String
Dim I, J, K, L As Integer
Dim nElement, nElement2, aElement As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim intResultado, intResultado2 As Integer
Dim decSaldoPromedio, decTotalSaldosCuenta As Decimal
Dim decSP1, decSP2, decSP3, decSP4, decSP5, decSP6 As Decimal
Dim decTotalPasivosDolares, decTotalPasivosColones As Decimal
Dim strTemp As String
Dim aTemp() As String
Dim decSaldoPromedioTotalColones, decSaldoPromedioTotalDolares, decPlazoFijoDolares, decPlazoFijoColones As Decimal
decSaldoPromedioTotalColones = 0
decSaldoPromedioTotalDolares = 0
decTotalSaldosCuenta = 0
decTotalPasivosDolares = 0
decTotalPasivosColones = 0
decPlazoFijoDolares = 0
decPlazoFijoColones = 0
'Dim objAudit As New ServiciosApoyo.Auditoria
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarPasivos"
' CONSULTA DE PASIVOS
nElement = xmlDocEnv.CreateElement("Pasivos")
rootElement.AppendChild(nElement)
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_cli_posicion", 1176, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "C")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1176")
Map.PMPasoValores(SqlConn, "@i_cliente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_cli_posicion", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_cli_posicion", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For K = 1 To intResultado
If aMatriz(5, K) <> "0.00" Then
nElement2 = xmlDocEnv.CreateElement("Pasivo")
nElement.AppendChild(nElement2)
aElement = xmlDocEnv.CreateElement("TIPOCUENTA")
aElement.InnerText = "Corriente"
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("NUMEROCUENTA")
aElement.InnerText = aMatriz(0, K)
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("DISPONIBLE")
aElement.InnerText = aMatriz(5, K)
nElement2.AppendChild(aElement)
' Consultar los saldos de los últimos 6 meses
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_cuentas.sp_tr_cons_monet_cc", 79, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "79")
Map.PMPasoValores(SqlConn, "@i_cta", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
Map.PMPasoValores(SqlConn, "@i_mon", 0, SQLINT1&, CStr(aMatriz(6, K)))
Map.PMPasoValores(SqlConn, "@i_empresa", 0, SQLINT2&, "4")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_cuentas", "sp_tr_cons_monet_cc", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz3)
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz4)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If intResultado2 > 6 Then
intResultado2 = 6
End If
' Sumar los saldos al corte de cada mes
If intResultado2 > 0 Then
For L = 1 To intResultado2
decTotalSaldosCuenta = decTotalSaldosCuenta + IIf(IsNumeric(aMatriz4(1, L).ToString().Replace(",", "")), CDec(aMatriz4(1, L).ToString().Replace(",", "")), 0)
Next
End If
' Calcular el promedio de los saldos
decSaldoPromedio = decTotalSaldosCuenta / 6
aElement = xmlDocEnv.CreateElement("SALDOPROMEDIO")
aElement.InnerText = Format(decSaldoPromedio, "#,##0.00")
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONEDA")
If aMatriz(6, K) = "20" Then
aElement.InnerText = "COLONES"
decTotalPasivosColones = decTotalPasivosColones + decSaldoPromedio
Else
aElement.InnerText = "DOLARES"
decTotalPasivosDolares = decTotalPasivosDolares + decSaldoPromedio
End If
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("CODIGOTIPOCUENTA")
aElement.InnerText = aMatriz(7, K)
nElement2.AppendChild(aElement)
End If
' OHG 31 ENE 2007 - Consultar promedio de ingresos en los últimos tres meses
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_atm.sp_tm_con_datos_tarjeta", 25007, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "25007")
Map.PMPasoValores(SqlConn, "@i_cta_banco", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
Map.PMPasoValores(SqlConn, "@i_tipocta", 0, SQLVARCHAR&, "CTE")
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "5")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_atm", "sp_tm_con_datos_tarjeta", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If aMatriz(5, K) <> "0.00" Then
aElement = xmlDocEnv.CreateElement("CREDITOPROMEDIO")
Dim creditoPromedio As String = IIf(IsNumeric(aMatriz2(0, 1).ToString().Replace(",", "")), aMatriz2(0, 1).ToString().Replace(",", ""), "0")
aElement.InnerText = Format(CDec(creditoPromedio), "#,##0.00")
nElement2.AppendChild(aElement)
strTemp = aMatriz2(1, 1)
aTemp = Split(strTemp, "/")
If (aTemp.Length >= 3) Then
strTemp = aTemp(1) & "/" & aTemp(0) & "/" & aTemp(2)
End If
aElement = xmlDocEnv.CreateElement("FECHAINICIO")
aElement.InnerText = strTemp
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("DEBITOPROMEDIO")
Dim debitoPromedio As String = IIf(IsNumeric(aMatriz2(2, 1).ToString().Replace(",", "")), aMatriz2(2, 1).ToString().Replace(",", ""), "0")
aElement.InnerText = Format(CDec(debitoPromedio), "#,##0.00")
nElement2.AppendChild(aElement)
End If
Next
' Consulta de Cuentas de Ahorro
aCampos(0) = "nu_cuenta"
aCampos(1) = "saldo"
aCampos(2) = "retenciones"
aCampos(3) = "fecha_ult_act"
aCampos(4) = "limite_sobregiro"
aCampos(5) = "disponible"
aCampos(6) = "pignorado"
'aCampos(6) = "pignorado"
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_cli_posicion", 1176, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "A")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1176")
Map.PMPasoValores(SqlConn, "@i_cliente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_cli_posicion", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_cli_posicion", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For K = 1 To intResultado
If aMatriz(1, K) <> "0.00" Then
nElement2 = xmlDocEnv.CreateElement("Pasivo")
nElement.AppendChild(nElement2)
aElement = xmlDocEnv.CreateElement("TIPOCUENTA")
aElement.InnerText = "Ahorro"
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("NUMEROCUENTA")
aElement.InnerText = aMatriz(0, K)
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("DISPONIBLE")
aElement.InnerText = aMatriz(1, K)
nElement2.AppendChild(aElement)
' Consultar los saldos de los últimos 6 meses
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_ahorros.sp_tr_cons_ah", 230, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "230")
Map.PMPasoValores(SqlConn, "@i_cta", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
Map.PMPasoValores(SqlConn, "@i_mon", 0, SQLINT1&, CStr(aMatriz(5, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_ahorros", "sp_tr_cons_ah", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
decSP1 = CDec(IIf(IsNumeric(aMatriz2(20, 1).ToString().Replace(",", "")), aMatriz2(20, 1).ToString().Replace(",", ""), "0"))
decSP2 = CDec(IIf(IsNumeric(aMatriz2(21, 1).ToString().Replace(",", "")), aMatriz2(21, 1).ToString().Replace(",", ""), "0"))
decSP3 = CDec(IIf(IsNumeric(aMatriz2(22, 1).ToString().Replace(",", "")), aMatriz2(22, 1).ToString().Replace(",", ""), "0"))
decSP4 = CDec(IIf(IsNumeric(aMatriz2(23, 1).ToString().Replace(",", "")), aMatriz2(23, 1).ToString().Replace(",", ""), "0"))
decSP5 = CDec(IIf(IsNumeric(aMatriz2(24, 1).ToString().Replace(",", "")), aMatriz2(24, 1).ToString().Replace(",", ""), "0"))
decSP6 = CDec(IIf(IsNumeric(aMatriz2(25, 1).ToString().Replace(",", "")), aMatriz2(25, 1).ToString().Replace(",", ""), "0"))
decSaldoPromedio = (decSP1 + decSP2 + decSP3 + decSP4 + decSP5 + decSP6) / 6
aElement = xmlDocEnv.CreateElement("SALDOPROMEDIO")
aElement.InnerText = Format(decSaldoPromedio, "#,##0.00")
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONEDA")
If aMatriz(5, K) = "20" Then
aElement.InnerText = "COLONES"
decTotalPasivosColones = decTotalPasivosColones + decSaldoPromedio
Else
aElement.InnerText = "DOLARES"
decTotalPasivosDolares = decTotalPasivosDolares + decSaldoPromedio
End If
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("CODIGOTIPOCUENTA")
aElement.InnerText = aMatriz(6, K)
nElement2.AppendChild(aElement)
End If
' OHG 31 ENE 2007 - Consultar promedio de ingresos en los últimos tres meses
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_atm.sp_tm_con_datos_tarjeta", 25007, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "25007")
Map.PMPasoValores(SqlConn, "@i_cta_banco", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
Map.PMPasoValores(SqlConn, "@i_tipocta", 0, SQLVARCHAR&, "AHO")
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "5")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_atm", "sp_tm_con_datos_tarjeta", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If aMatriz(1, K) <> "0.00" Then
aElement = xmlDocEnv.CreateElement("CREDITOPROMEDIO")
Dim sCreditoPromedio As String = IIf(IsNumeric(aMatriz2(0, 1).ToString().Replace(",", "")), aMatriz2(0, 1).ToString().Replace(",", ""), "0")
aElement.InnerText = Format(CDec(sCreditoPromedio), "#,##0.00")
nElement2.AppendChild(aElement)
strTemp = aMatriz2(1, 1)
aTemp = Split(strTemp, "/")
If (aTemp.Length >= 3) Then
strTemp = aTemp(1) & "/" & aTemp(0) & "/" & aTemp(2)
End If
aElement = xmlDocEnv.CreateElement("FECHAINICIO")
aElement.InnerText = strTemp
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("DEBITOPROMEDIO")
Dim sDebitoPromedio As String = IIf(IsNumeric(aMatriz2(2, 1).ToString().Replace(",", "")), aMatriz2(2, 1).ToString().Replace(",", ""), "0")
aElement.InnerText = Format(CDec(sDebitoPromedio), "#,##0.00")
nElement2.AppendChild(aElement)
End If
Next
' Consulta de Plazos Fijos
aCampos(0) = "nu_cuenta"
aCampos(1) = "capital"
aCampos(2) = "tasa_interes"
aCampos(3) = "interes"
aCampos(4) = "fecha_vencimiento"
aCampos(5) = "pignorado"
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_cli_posicion", 1176, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "F")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1176")
Map.PMPasoValores(SqlConn, "@i_cliente", 0, SQLINT4&, CStr(co_ente))
Map.PMPasoValores(SqlConn, "@i_empresa", 0, SQLINT2&, "4")
Map.PMPasoValores(SqlConn, "@i_moneda", 0, SQLINT2&, "0")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_cli_posicion", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_cli_posicion", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
nElement = xmlDocEnv.CreateElement("DepositosPlazoFijo")
rootElement.AppendChild(nElement)
For K = 1 To intResultado
nElement2 = xmlDocEnv.CreateElement("PlazoFijo")
nElement.AppendChild(nElement2)
For J = 0 To 5
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
Next
Next
' CONSULTA DE PASIVOS
nElement = xmlDocEnv.CreateElement("TOTALESPASIVOS")
rootElement.AppendChild(nElement)
nElement2 = xmlDocEnv.CreateElement("TOTALPASIVOSCOLONES")
nElement2.InnerText = decTotalPasivosColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("TOTALPASIVOSDOLARES")
nElement2.InnerText = decTotalPasivosDolares
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("TOTALPLAZOSFIJOSCOLONES")
nElement2.InnerText = decPlazoFijoColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("TOTALPLAZOSFIJOSDOLARES")
nElement2.InnerText = decPlazoFijoDolares
nElement.AppendChild(nElement2)
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
'Throw ex
Finally
End Try
End Function
Private Function ConsultarListaNegra(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(50, 2)
Dim intResultado As Integer
Dim nElement, aElement As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim Fecha As String
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim strRespuesta As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
Dim co_info As String
'Dim objAudit As New ServiciosApoyo.Auditoria
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarListaNegra"
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_mala_ref", 120, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "M")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "120")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_mala_ref", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
'condicion que valida el valor devuelto por el SP, si esta en lista negra S- si esta, 0 no esta
co_info = aMatriz(0, 1)
If (co_info = "S") Then
strRespuesta = "SI"
Else
strRespuesta = "NO"
End If
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
strRespuesta = "NO"
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
nElement = xmlDocEnv.CreateElement("ListaNegra")
rootElement.AppendChild(nElement)
' No. Ente
aElement = xmlDocEnv.CreateElement("EstaEnListaNegra")
aElement.InnerText = strRespuesta
nElement.AppendChild(aElement)
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Finally
End Try
End Function
Private Function ConsultarFuentesIngreso(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(15, 20)
Dim aMatriz2(30, 30)
Dim aCampos(15) As String
Dim I, J, K As Integer
Dim nElement, nElement2, aElement As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim intResultado, intResultado2 As Integer
Dim strDescripcionOcupacion As String
'Dim objAudit As New ServiciosApoyo.Auditoria
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarFuentesIngreso"
aCampos(0) = "nu_fuente_ingreso"
aCampos(1) = "co_compania_catalogo"
aCampos(2) = "de_compania_normal"
aCampos(3) = "co_ocupacion"
aCampos(4) = "de_ocupacion"
aCampos(5) = "mo_sueldo"
aCampos(6) = "co_rango"
aCampos(7) = "de_rango"
aCampos(8) = "co_verificado"
aCampos(9) = "co_vigencia"
aCampos(10) = "fe_fecha_mod"
aCampos(11) = "co_tipo_empleo"
aCampos(12) = "nu_empleado"
aCampos(13) = "nu_planilla"
aCampos(14) = "nu_segurosocial"
Try
nElement = xmlDocEnv.CreateElement("FuentesIngresos")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_empleo", 1231, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1231")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_empleo", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For K = 1 To intResultado
If (aMatriz(2, K) <> "" And aMatriz(2, K) <> Nothing) And _
(aMatriz(5, K) <> "" And aMatriz(5, K) <> Nothing) Then
nElement2 = xmlDocEnv.CreateElement("FuenteIngreso")
nElement.AppendChild(nElement2)
For J = 0 To 14
If J = 3 Then
strDescripcionOcupacion = ObtenerDescripcionOcupacion(aMatriz(J, K))
If strDescripcionOcupacion <> "NE" Then
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("de_ocupacion")
aElement.InnerText = strDescripcionOcupacion
nElement2.AppendChild(aElement)
Else
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = ""
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("de_ocupacion")
aElement.InnerText = ""
nElement2.AppendChild(aElement)
End If
Else
If J <> 4 Then
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
End If
End If
Next
' OHG 22 ENE 2007 - Obtener la moneda del ingreso
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_empleo", 1232, gResponse, gSession) Then
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "Q")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1232")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
Map.PMPasoValores(SqlConn, "@i_trabajo", 0, SQLINT2&, CStr(aMatriz(0, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_empleo", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_empleo", strDescError)
End If
End If
aElement = xmlDocEnv.CreateElement("co_moneda")
aElement.InnerText = aMatriz2(9, 1)
nElement2.AppendChild(aElement)
End If
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Finally
End Try
End Function
Private Function ObtenerDescripcionOcupacion(ByVal CodOcupacion As String) As String
Dim xmlRespuesta As New Xml.XmlDocument
'Dim objConector As New WSConector.Conector
'Dim objAudit As New ServiciosApoyo.Auditoria
Dim strFuenteDatos As String = String.Empty
Dim strSP As String = String.Empty
Dim strRespXml As String
Dim aNombreParametro(1), aValorParametro(1) As String
Dim strError As String = String.Empty
Try
If gProceso = Enumerador.ProcesoUltimus.PrestamoPrendario.ToString() Then
strFuenteDatos = Enumerador.FuenteDatosUltimus.BPMPRENDARIO.ToString()
strSP = "usp_cp_obtener_descripcion_ocupacion"
End If
aNombreParametro(1) = "@i_codocupacion" : aValorParametro(1) = CInt(CodOcupacion)
strRespXml = outConector.EjecutarComandoSQLArreglo(gProceso, strFuenteDatos, strSP, aNombreParametro, aValorParametro, 0)
xmlRespuesta.LoadXml(strRespXml)
If xmlRespuesta.SelectSingleNode("NewDataSet").ChildNodes.Count > 0 Then
ObtenerDescripcionOcupacion = xmlRespuesta.InnerText
Else
ObtenerDescripcionOcupacion = "NE"
End If
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Finally
If strError <> "" Then
ObtenerDescripcionOcupacion = "Error: " & strError
End If
End Try
End Function
Private Function ConsultarDireccionesSolicitante(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(50, 50)
Dim aMatriz2(50, 50)
Dim aCampos(19) As String
Dim I, J, K, L, M As Integer
Dim nElement, aElement, nElement2, aElement2, aElement3 As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim intResultado As Integer
Dim intResultado2 As Integer
Dim DistritoAreaMetro As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarDireccionesSolicitante"
aCampos(0) = "nu_direccion"
aCampos(1) = "co_pais"
aCampos(2) = "de_pais"
aCampos(3) = "co_provincia"
aCampos(4) = "de_provincia"
aCampos(5) = "co_canton"
aCampos(6) = "de_canton"
aCampos(7) = "co_distrito"
aCampos(8) = "de_distrito"
aCampos(9) = "co_barrio"
aCampos(10) = "de_barrio"
aCampos(11) = "co_tipo"
aCampos(12) = "de_tipo"
aCampos(13) = "de_calle"
aCampos(14) = "de_edificio"
aCampos(15) = "nu_casa"
aCampos(16) = "co_alquilado"
aCampos(17) = "mo_mensualidad"
aCampos(18) = "de_observacion"
aCampos(19) = "co_vigente"
'Dim objAudit As New ServiciosApoyo.Auditoria
Try
nElement = xmlDocEnv.CreateElement("Direcciones")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_direccion_cons", 1227, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1227")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_direccion_cons", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_direccion_cons", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For K = 1 To intResultado
nElement2 = xmlDocEnv.CreateElement("Direccion")
nElement.AppendChild(nElement2)
For J = 0 To 19
aElement = xmlDocEnv.CreateElement(aCampos(J))
aElement.InnerText = aMatriz(J, K)
nElement2.AppendChild(aElement)
Next
DistritoAreaMetro = ObtenerAreaMetro(aMatriz(5, K), aMatriz(7, K))
aElement = xmlDocEnv.CreateElement("co_distrito_area_metro")
aElement.InnerText = DistritoAreaMetro
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("Telefonos")
nElement2.AppendChild(aElement)
' Obtener los telTfonos para esta direcci=n
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_telefono", 147, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "147")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
Map.PMPasoValores(SqlConn, "@i_direccion", 0, SQLINT1&, CStr(aMatriz(0, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_telefono", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
For M = 1 To intResultado2
aElement2 = xmlDocEnv.CreateElement("Telefono")
aElement.AppendChild(aElement2)
aElement3 = xmlDocEnv.CreateElement("co_telefono")
aElement3.InnerText = aMatriz2(0, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("telefono")
aElement3.InnerText = aMatriz2(1, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("extension")
aElement3.InnerText = aMatriz2(2, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("tipo_telefono")
aElement3.InnerText = aMatriz2(3, M)
aElement2.AppendChild(aElement3)
aElement3 = xmlDocEnv.CreateElement("de_telefono")
aElement3.InnerText = aMatriz2(4, M)
aElement2.AppendChild(aElement3)
Next
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw excError
Finally
End Try
End Function
Private Sub IniciarConexionCOBIS()
Dim type As Object = Nothing
Dim msgno As Object = Nothing
Dim severity As Object = Nothing
Dim msgtxt As Object = Nothing
Dim strError As String = String.Empty
'Dim objAudit As ServiciosApoyo.Auditoria
Try
'SqlConn = Map.SqlOpen(CStr(gstrServidorCOBIS), CStr("*" & g_Login), CStr(g_Clave))
SqlConn = Map.SqlOpen(CStr(gstrServidorCOBIS), CStr("" & g_Login), CStr(g_Clave))
If SqlConn > 0 Then
gEstatusConexionCOBIS = 1
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".master.sp_reclogin", 1502, gResponse, gSession) Then
' Envia los parametros del procedimiento
Map.PMPasoValores(SqlConn, "@i_role", 0, SQLINT1&, CStr(g_Rol))
Map.PMPasoValores(SqlConn, "@i_server", 0, SQLVARCHAR&, CStr(gstrServidorCOBIS))
Map.PMPasoValores(SqlConn, "@i_login", 0, SQLCHAR&, CStr(g_Login))
Map.PMPasoValores(SqlConn, "@i_terminal", 0, SQLCHAR&, "TERM-CONT")
Map.PMPasoValores(SqlConn, "@i_office", 0, SQLINT1&, CStr(g_Oficina))
' Ejecuto OK
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "master", "sp_reclogin", True, "") Then
Map.PMChequea(SqlConn)
If Map.FMMapeaMensaje(SqlConn, type, msgno, severity, msgtxt) <> -1 Then
Err.Clear()
Err.Number = 999 + ERR_COBIS_1
Err.Description = msgtxt
Err.Source = "IniciarConexionCOBIS"
Err.Raise(Err.Number, Err.Source, Err.Description)
End If
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
Err.Clear()
Err.Number = 999 ' NO SE COLOCA VTErr_NumErr YA que es tipo Long y causa problema a la hora de ejecutar el RAISE(No devuelve el verdadero mensaje de error)
Err.Description = VTErr_Msg
Err.Source = "IniciarConexionCOBIS"
Err.Raise(Err.Number, Err.Source, Err.Description)
End If
Else
Err.Clear()
Err.Number = 512 + ERR_COBIS_2
Err.Description = "COBIS - Error en RPCInit"
Err.Source = "IniciarConexionCOBIS"
Err.Raise(Err.Number, Err.Source, Err.Description)
End If
Else
Err.Clear()
Err.Number = 512 + ERR_COBIS_2
Err.Description = "No se pudo Conectar a la MAP"
Err.Source = "IniciarConexionCOBIS"
Err.Raise(Err.Number, Err.Source, Err.Description)
''objAudit.grabarLog(gProceso, "ConexionCOBIS", "MapSqlOpen", "E", "NoSePudoConectarALaMAP")
End If
Catch excError As Exception
strError = excError.Message
Throw excError
Finally
If strError <> "" Then
If gEstatusConexionCOBIS = 1 Then
TerminarConexionCOBIS()
End If
End If
End Try
End Sub
Private Function ConsultarLoginCOBIS(ByVal g_co_username As String, ByVal g_password As String) As Boolean
Dim intNumeroError As Object
Dim strDescError As Object
Dim strOrigenError As Object
Dim co_login, de_clave As String
Dim nu_filial, nu_oficina, nu_rol As Integer
''Dim objAudit As New ServiciosApoyo.Auditoria
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarLoginCOBIS"
Try
ObtenerOficinaUsuario2(g_co_username, g_password)
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Finally
If strError <> "" Then
Throw excError
ConsultarLoginCOBIS = False
Else
ConsultarLoginCOBIS = True
End If
End Try
End Function
Private Function ObtenerOficinaUsuario2(ByVal strUser As String,
ByVal strPassword As String)
Dim intNumeroError As Object
Dim excError As Exception
Dim strError As Object
Dim strOrigenError As Object
Dim strSql, strResp As String
Dim conConexion As New Odbc.OdbcConnection
Dim comCommand As New Odbc.OdbcCommand
Dim dapAdaptador As New Odbc.OdbcDataAdapter
Dim dstDatos As New DataSet
''Dim objConector As WSConector.Conector
Dim strFuenteDatos As String = String.Empty
Dim strSP As String = String.Empty
''Dim objAudit As New ServiciosApoyo.Auditoria
Dim aNombreParametro(2), aValorParametro(2) As String
Dim xmlDoc As New Xml.XmlDocument
Dim xmlRoot As Xml.XmlElement
intNumeroError = 0
strOrigenError = "ObtenerUsuarioOficina"
strError = ""
Try
g_Login = strUser
' Obtener los datos de conexión del usuario
conConexion.ConnectionString = ObtenerCadenaConexion("sybase")
strSql = "SELECT us_login, us_clave, us_oficina, us_filial FROM cobis..ad_usuario WHERE us_login = '" & strUser & "' and us_estado = 'V'"
comCommand.Connection = conConexion
comCommand.CommandType = CommandType.Text
comCommand.CommandText = strSql
dapAdaptador.SelectCommand = comCommand
conConexion.Open()
dapAdaptador.Fill(dstDatos)
conConexion.Close()
' Devolver XML
strResp = dstDatos.GetXml
xmlDoc.LoadXml(strResp)
xmlRoot = xmlDoc.DocumentElement.SelectSingleNode("//NewDataSet")
If xmlRoot.ChildNodes.Count > 0 Then
xmlRoot = xmlDoc.DocumentElement.SelectSingleNode("//NewDataSet/Table")
g_Filial = Trim(xmlRoot.SelectSingleNode("us_filial").InnerText)
g_Oficina = Trim(xmlRoot.SelectSingleNode("us_oficina").InnerText)
g_Clave = Trim(xmlRoot.SelectSingleNode("us_clave").InnerText)
Else
g_Clave = ""
End If
' ###########################################################
' Obtener el Rol con el que se conectará
' ###########################################################
If g_Clave <> "" Then
If gProceso = Enumerador.ProcesoUltimus.PrestamoPrendario.ToString() Then
strFuenteDatos = Enumerador.FuenteDatosUltimus.BPMPRENDARIO.ToString()
strSP = "usp_cp_obtener_rol_usuario"
End If
aNombreParametro(1) = "@i_modo" : aValorParametro(1) = "0"
aNombreParametro(2) = "@i_usuario" : aValorParametro(2) = strUser
strResp = outConector.EjecutarComandoSQLArreglo(gProceso, strFuenteDatos, strSP, aNombreParametro, aValorParametro, 0)
xmlDoc.LoadXml(strResp)
xmlRoot = xmlDoc.DocumentElement.SelectSingleNode("//NewDataSet")
If xmlRoot.ChildNodes.Count > 0 Then
xmlRoot = xmlDoc.DocumentElement.SelectSingleNode("//NewDataSet/Table")
g_Rol = Trim(xmlRoot.SelectSingleNode("Rol").InnerText)
g_Filial = Trim(xmlRoot.SelectSingleNode("Filial").InnerText)
g_Oficina = Trim(xmlRoot.SelectSingleNode("Oficina").InnerText)
Else
strError = "Por favor, Ingrese su Rol, Oficina y Filial en la Pantalla de Conexió#¡Muchas Gracias!"
Err.Raise(Err.Number, "ObtenerOficinaUsuario2", strError)
End If
Else
strError = "No se pudo encontrar su clave en SYBASE. Consulte a su Administrador"
Err.Raise(Err.Number, "ObtenerOficinaUsuario2", strError)
End If
Catch excError
Try
If strError = "" Then
strError = excError.Message
End If
''objAudit.grabarLog(gProceso, "consultaGeneral", "ObtenerOficinaUsuario", "E", strError)
Return strError
Catch ex As Exception
''grabarError(gProceso, "consultaGeneral", "ObtenerOficinaUsuario", "E", strError)
Return strError
End Try
End Try
Return strError
End Function
Private Function ObtenerCadenaConexion(ByVal FuenteDatos As String) As String
Dim strCadena As String = String.Empty
Dim objEncriptacion As New LibEncriptacion.Encriptacion
Dim strError As String = String.Empty
Try
strCadena = ReadWebConfig(FuenteDatos)
strCadena = objEncriptacion.getCadenaDesencriptada(strCadena, LibEncriptacion.Encriptacion.Llave.PUBLICA, strError)
Catch excError As Exception
Finally
objEncriptacion = Nothing
End Try
Return strCadena
End Function
Private Function ReadWebConfig(ByVal Cadena As String) As String
Try
ReadWebConfig = Configuration.ConfigurationManager.AppSettings(Cadena)
Catch ex As Exception
Throw ex
End Try
End Function
Private Sub TerminarConexionCOBIS()
If SqlConn > 0 Then
Map.PMPasoValores(SqlConn, "@i_server", 0, SQLCHAR&, CStr(gstrServidorCOBIS))
Map.PMPasoValores(SqlConn, "@i_login", 0, SQLCHAR&, CStr(g_Login))
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1502")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "master", "sp_endlogin", True, "") Then
Map.PMMapeaVariable(SqlConn, VTresul)
Map.PMChequea(SqlConn)
End If
Map.SqlClose(SqlConn)
SqlConn = 0
gEstatusConexionCOBIS = 0
End If
End Sub
Private Function ConsultarActivos(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(14, 20)
Dim aMatriz2(130, 10)
Dim aArreglo(100)
Dim aCampos(14) As String
Dim I, J, K As Integer
Dim nElement, nElement2, nElement3, aElement As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim intResultado, intResultado2 As Integer
Dim decAcumuladoColones, decAcumuladoDolares, decCuotaTotalColones, decCuotaTotalDolares As Decimal
Dim decHipotecaDolares, decHipotecaColones, decPrendarioDolares, decPrendarioColones, decPersonalDolares, decPersonalColones As Decimal
Dim strDiasMora, strTieneOperacionesBanex As String
Dim strTemp As String
decAcumuladoColones = 0.0
decAcumuladoDolares = 0.0
decCuotaTotalColones = 0.0
decCuotaTotalDolares = 0.0
decHipotecaDolares = 0.0
decHipotecaColones = 0.0
decPrendarioDolares = 0.0
decPrendarioColones = 0.0
decPersonalDolares = 0.0
decPersonalColones = 0.0
strTieneOperacionesBanex = "NO"
' Variables para Manejo de Errores
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarActivos"
' CONSULTA DE ACTIVOS
nElement = xmlDocEnv.CreateElement("Activos")
rootElement.AppendChild(nElement)
' Consulta de PrTstamos
aCampos(0) = "nu_cuenta"
aCampos(1) = "co_tipo"
aCampos(2) = "tipo"
aCampos(3) = "valor_inicial"
aCampos(4) = "saldo"
aCampos(5) = "tasa_interes"
aCampos(6) = "interes"
aCampos(7) = "cuenta_sabe"
aCampos(8) = "fecha_vencimiento"
aCampos(9) = "linea_credito"
aCampos(10) = "tipo_linea"
aCampos(11) = "rol"
aCampos(12) = "cuota"
aCampos(13) = "frecuencia"
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_cli_posicion", 1176, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "P")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1176")
Map.PMPasoValores(SqlConn, "@i_modo", 0, SQLINT1&, "0")
Map.PMPasoValores(SqlConn, "@i_cliente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_cli_posicion", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_cli_posicion", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
nElement2 = xmlDocEnv.CreateElement("Prestamos")
nElement.AppendChild(nElement2)
For K = 1 To intResultado
nElement3 = xmlDocEnv.CreateElement("Prestamo")
nElement2.AppendChild(nElement3)
intResultado2 = 0
' Consulta de PrTstamos
'aCampos(0) = "TIPOOPERACION"
'aCampos(1) = "OPERACION"
'aCampos(2) = "CUOTAMENSUAL"
'aCampos(3) = "SALDOACTUAL"
'aCampos(4) = "FECHAVENCIMIENTO"
'aCampos(5) = "ESTADO"
'aCampos(6) = "MONTOORIGINAL"
'aCampos(7) = "FECHAINICIO"
'aCampos(8) = "MONEDA"
aElement = xmlDocEnv.CreateElement("TIPOOPERACION")
aElement.InnerText = aMatriz(2, K)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("OPERACION")
aElement.InnerText = aMatriz(0, K)
nElement3.AppendChild(aElement)
If Mid(aMatriz(0, K), 3, 1) = "4" Then
strTieneOperacionesBanex = "SI"
End If
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_cartera.sp_qr_operacion", 7037, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "Q")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "7037")
Map.PMPasoValores(SqlConn, "@i_codigo", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_cartera", "sp_qr_operacion", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = intNumeroError & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_qr_operacion", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
' OHG 31 ENE 2007 - Se obtendrá la cuota mensual con otro SP, por eso se comentan las siguientes lfneas
'aElement = xmlDocEnv.CreateElement("CUOTAMENSUAL")
'aElement.InnerText = aMatriz2(42, 1)
'nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("SALDOACTUAL")
aElement.InnerText = aMatriz(4, K)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("FECHAVENCIMIENTO")
aElement.InnerText = aMatriz(8, K)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONTOORIGINAL")
aElement.InnerText = aMatriz(3, K)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("ESTADO")
aElement.InnerText = aMatriz2(29, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("FECHAINICIO")
aElement.InnerText = aMatriz2(2, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONEDA")
If aMatriz(12, K) = "20" Then
aElement.InnerText = "COLONES"
decCuotaTotalColones = decCuotaTotalColones + (CDec(Replace(Replace(aMatriz2(43, 1), ",", ""), ".", "")) / 100)
decAcumuladoColones = decAcumuladoColones + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Select Case Trim(aMatriz(1, K))
Case "PCON"
decPersonalColones = decPersonalColones + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Case "PCREFA"
decPersonalColones = decPersonalColones + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Case "HVI"
decHipotecaColones = decHipotecaColones + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Case "AUT"
decPrendarioColones = decPrendarioColones + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
End Select
Else
aElement.InnerText = "DOLARES"
decCuotaTotalDolares = decCuotaTotalDolares + (CDec(Replace(Replace(aMatriz2(43, 1), ",", ""), ".", "")) / 100)
decAcumuladoDolares = decAcumuladoDolares + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Select Case Trim(aMatriz(1, K))
Case "PCON"
decPersonalDolares = decPersonalDolares + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Case "PCREFA"
decPersonalColones = decPersonalColones + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Case "HVI"
decHipotecaDolares = decHipotecaDolares + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
Case "AUT"
decPrendarioDolares = decPrendarioDolares + (CDec(Replace(Replace(aMatriz(4, K), ",", ""), ".", "")) / 100)
End Select
End If
nElement3.AppendChild(aElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_cartera.sp_consulta_ultimus", 7980, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "7980")
Map.PMPasoValores(SqlConn, "@i_codigo", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_cartera", "sp_consulta_ultimus", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_consulta_ultimus", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
aElement = xmlDocEnv.CreateElement("DIASMORA")
aElement.InnerText = aMatriz2(11, 1)
nElement3.AppendChild(aElement)
' OHG 31 ENE 2007 - Obtener la cuota de la operaci=n de crTdito completa (capital, interTs, seguro)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_cartera.sp_con_datos_cartera", 7433, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "A")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "7433")
Map.PMPasoValores(SqlConn, "@i_oper_banco", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
Map.PMPasoValores(SqlConn, "@o_coderror", 0, SQLINT2&, "0")
Map.PMPasoValores(SqlConn, "@o_menerror", 0, SQLVARCHAR&, "")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_cartera", "sp_con_datos_cartera", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = intNumeroError & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_con_datos_cartera", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
aElement = xmlDocEnv.CreateElement("CUOTAMENSUAL")
aElement.InnerText = aMatriz2(0, 1)
nElement3.AppendChild(aElement)
Next
nElement2 = xmlDocEnv.CreateElement("ACUMULADOCOLONES")
nElement2.InnerText = decAcumuladoColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("ACUMULADODOLARES")
nElement2.InnerText = decAcumuladoDolares
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("CUOTATOTALCOLONES")
nElement2.InnerText = decCuotaTotalColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("CUOTATOTALDOLARES")
nElement2.InnerText = decCuotaTotalDolares
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("HIPOTECACOLONES")
nElement2.InnerText = decHipotecaColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("HIPOTECADOLARES")
nElement2.InnerText = decHipotecaDolares
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("PRENDARIOCOLONES")
nElement2.InnerText = decPrendarioColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("PRENDARIODOLARES")
nElement2.InnerText = decPrendarioDolares
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("PERSONALCOLONES")
nElement2.InnerText = decPersonalColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("PERSONALDOLARES")
nElement2.InnerText = decPersonalDolares
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("TIENEOPERACIONESBANEX")
nElement2.InnerText = strTieneOperacionesBanex
nElement.AppendChild(nElement2)
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
Private Function Consulta_Desc_TipoID(ByVal Co_TipoID As String)
'Dim objConector As WSConector.Conector
Dim strSql As String = String.Empty
Dim strResp As String = String.Empty
Dim strFuenteDatos As String = String.Empty
Dim aNombreParametro(4), aValorParametro(4) As String
Dim strError As String = String.Empty
Dim De_TipoID As String = String.Empty
'Dim objAudit As New ServiciosApoyo.Auditoria
Dim xmlDoc As New Xml.XmlDocument
Dim xmlRoot As Xml.XmlElement
'objConector = New WSConector.Conector
If gProceso = Enumerador.ProcesoUltimus.PrestamoPrendario.ToString() Then
strFuenteDatos = Enumerador.FuenteDatosUltimus.BPMPRENDARIO.ToString()
strSql = "usp_cp_obtener_catalogos"
End If
Try
aNombreParametro(1) = "@i_catalogo" : aValorParametro(1) = "TIPO_IDENTIFICACION"
aNombreParametro(2) = "@i_criteria" : aValorParametro(2) = ""
aNombreParametro(3) = "@i_filtro" : aValorParametro(3) = Co_TipoID
aNombreParametro(4) = "@i_modo" : aValorParametro(4) = 0
strResp = outConector.EjecutarComandoSQLArreglo(gProceso, strFuenteDatos, strSql, aNombreParametro, aValorParametro, 0)
xmlDoc.LoadXml(strResp)
If xmlDoc.ChildNodes.Count > 0 Then
xmlRoot = xmlDoc.DocumentElement.SelectSingleNode("//NewDataSet/Table")
De_TipoID = Trim(xmlRoot.SelectSingleNode("Descripcion").InnerText)
Else
Err.Raise(5366, "usp_cp_obtener_catalogos", "No se pudo encontrar la Descripci=n para el Tipo de Identificaci=n")
End If
Return De_TipoID
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
Private Function ConsultarDatosGenerales(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(70, 2)
Dim intResultado, i As Integer
Dim nElement, aElement As Xml.XmlElement
Dim nElement2, child As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim Fecha As String
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim codigo, descripcion As String
Dim xmlDoc As New Xml.XmlDocument
'Dim objConector As New WSConector.Conector
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
'Dim objAudit As New ServiciosApoyo.Auditoria
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarDatosGenerales"
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_persona_cons", 132, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "Q")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "132")
Map.PMPasoValores(SqlConn, "@i_persona", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_persona_cons", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_persona_cons", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
nElement = xmlDocEnv.CreateElement("Detalle")
rootElement.AppendChild(nElement)
' No. Ente
aElement = xmlDocEnv.CreateElement("co_ente")
aElement.InnerText = co_ente
nElement.AppendChild(aElement)
'********************************************************************************
'15/07/2008 - EO: Ajuste para retornar número de identificaci=n y tipo de persona
'********************************************************************************
Dim co_identificacion As String = ""
Dim identificacion As String = ""
Dim tipo_persona As String = ""
Dim comp, de_tipo_persona As String
Dim flag As Integer = 0
co_identificacion = aMatriz(29, 1).Trim()
tipo_persona = aMatriz(46, 1).Trim()
If co_identificacion = "P" Then
identificacion = aMatriz(6, 1).Trim()
Else
identificacion = aMatriz(5, 1).Trim()
End If
xmlDoc = ConsultarCatalogos("cl_rel_ptipo")
If xmlDoc Is Nothing = False Then
nElement2 = xmlDoc.SelectSingleNode("//Resultado")
For i = 0 To nElement2.ChildNodes.Count - 1
child = nElement2.ChildNodes(i)
codigo = child.SelectSingleNode("codigo").InnerText
descripcion = child.SelectSingleNode("descripcion").InnerText.Trim().Substring(0, 1)
If tipo_persona = descripcion Then
flag = 1
Exit For
End If
Next
If flag = 0 Then
Err.Raise(5367, "Valida_COBISvsCatalogo", "El C=digo de Tipo de Persona (" & tipo_persona & ") guardado en el MIS no se encuentra en la tabla (cl_rel_ptipo)")
End If
End If
If codigo = "9" Then
codigo = "11"
End If
de_tipo_persona = Consulta_Desc_TipoID(codigo)
' Codigo Identificacion
aElement = xmlDocEnv.CreateElement("co_identificacion")
aElement.InnerText = co_identificacion
nElement.AppendChild(aElement)
' Identificacion
aElement = xmlDocEnv.CreateElement("g_identificacion_cobis")
aElement.InnerText = identificacion
nElement.AppendChild(aElement)
' Codigo Tipo Persona
aElement = xmlDocEnv.CreateElement("g_co_tipo_identificacion")
aElement.InnerText = codigo
nElement.AppendChild(aElement)
' Descripcion Tipo Persona
aElement = xmlDocEnv.CreateElement("g_tipo_identificacion")
aElement.InnerText = de_tipo_persona
nElement.AppendChild(aElement)
'****************************************************************************
' Apellido Paterno
aElement = xmlDocEnv.CreateElement("apellido_paterno")
aElement.InnerText = aMatriz(0, 1)
nElement.AppendChild(aElement)
' Apellido Materno
aElement = xmlDocEnv.CreateElement("apellido_materno")
aElement.InnerText = aMatriz(1, 1)
nElement.AppendChild(aElement)
' Apellido Casada
aElement = xmlDocEnv.CreateElement("apellido_casada")
aElement.InnerText = aMatriz(28, 1)
nElement.AppendChild(aElement)
' Primer Nombre
aElement = xmlDocEnv.CreateElement("primer_nombre")
aElement.InnerText = aMatriz(2, 1)
nElement.AppendChild(aElement)
' Segundo Nombre
aElement = xmlDocEnv.CreateElement("segundo_nombre")
aElement.InnerText = aMatriz(27, 1)
nElement.AppendChild(aElement)
' Fecha Nacimiento
aElement = xmlDocEnv.CreateElement("fecha_nacimiento")
aElement.InnerText = aMatriz(17, 1)
nElement.AppendChild(aElement)
' Seguro Social
aElement = xmlDocEnv.CreateElement("seguro_social")
aElement.InnerText = aMatriz(30, 1)
nElement.AppendChild(aElement)
' Seguro Social
aElement = xmlDocEnv.CreateElement("co_sexo")
aElement.InnerText = aMatriz(3, 1)
nElement.AppendChild(aElement)
' C=digo de Nacionalidad
aElement = xmlDocEnv.CreateElement("co_nacionalidad")
aElement.InnerText = aMatriz(7, 1)
nElement.AppendChild(aElement)
' Nacionalidad
aElement = xmlDocEnv.CreateElement("nacionalidad")
aElement.InnerText = aMatriz(8, 1)
nElement.AppendChild(aElement)
' Estado Civil
aElement = xmlDocEnv.CreateElement("estado_civil")
aElement.InnerText = aMatriz(13, 1)
nElement.AppendChild(aElement)
' Codigo de Profesion
aElement = xmlDocEnv.CreateElement("co_profesion")
aElement.InnerText = aMatriz(9, 1)
nElement.AppendChild(aElement)
' Profesion
aElement = xmlDocEnv.CreateElement("profesion")
aElement.InnerText = aMatriz(10, 1)
nElement.AppendChild(aElement)
' Calificacion
aElement = xmlDocEnv.CreateElement("calificacion")
aElement.InnerText = aMatriz(31, 1)
nElement.AppendChild(aElement)
' Genera Divisas
aElement = xmlDocEnv.CreateElement("genera_divisas")
aElement.InnerText = aMatriz(42, 1)
nElement.AppendChild(aElement)
' Fecha de Vencimiento
aElement = xmlDocEnv.CreateElement("fecha_vencimiento")
aElement.InnerText = aMatriz(43, 1)
nElement.AppendChild(aElement)
'********************************************************************************
'29/07/2008 - EO: Ajuste para retornar el estado del cliente con el Banco
'********************************************************************************
' Estado del Cliente con el Banco
aElement = xmlDocEnv.CreateElement("estado_con_banco")
aElement.InnerText = aMatriz(36, 1)
nElement.AppendChild(aElement)
'********************************************************************************
'IFRS 25052017-- Ajuste para retornar el grupo economico
'********************************************************************************
' Grupo Económico IFRS 22-05-2017
aElement = xmlDocEnv.CreateElement("grupo_economico")
aElement.InnerText = aMatriz(20, 1)
nElement.AppendChild(aElement)
'********************************************************************************
'22/08/2008 - EO: Ajuste para retornar el Pais de Nacimiento
'********************************************************************************
Dim strFuenteDatos As String = String.Empty
Dim strSql As String = String.Empty
Dim objDataSet As New DataSet
Dim pais_nac As String
Dim co_pais_nac As String = aMatriz(51, 1)
Try
If co_pais_nac.Trim().Length > 0 Then
If gProceso = Enumerador.ProcesoUltimus.PrestamoPrendario.ToString() Then
strFuenteDatos = Enumerador.FuenteDatosUltimus.BPMPRENDARIO.ToString()
strSql = "SELECT Pais FROM Catalogos.Nacionalidad WHERE IdNacionalidad = " & co_pais_nac
End If
objDataSet = outConector.EjecutarComandoSQLXMLDataSet(gProceso, strFuenteDatos, strSql)
pais_nac = objDataSet.Tables(0).Rows(0).Item(0).ToString()
Else
pais_nac = ""
End If
Catch ex As Exception
pais_nac = ""
End Try
' Codigo de Pais de Nacimiento
aElement = xmlDocEnv.CreateElement("co_pais_nacimiento")
aElement.InnerText = co_pais_nac
nElement.AppendChild(aElement)
' Pais de Nacimiento
aElement = xmlDocEnv.CreateElement("pais_nacimiento")
aElement.InnerText = pais_nac
nElement.AppendChild(aElement)
'********************************************************************************
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
Private Function ConsultarCatalogos(ByVal Tabla As String) As XmlDocument
Dim aMatriz(2, 20)
Dim intResultado, i As Integer
Dim xmlDoc As Xml.XmlDocument
Dim root, nElement, aElement As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim Fecha As String
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
'Dim objAudit As New ServiciosApoyo.Auditoria
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarCatalogos"
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_hp_catalogo", "601", gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_tabla", 0, SQLVARCHAR&, Tabla)
Map.PMPasoValores(SqlConn, "@i_tipo", 0, SQLVARCHAR&, "A")
Map.PMPasoValores(SqlConn, "@i_modo", 0, SQLINT2&, "0")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_hp_catalogo", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_persona_cons", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
xmlDoc = New Xml.XmlDocument
objPI = xmlDoc.CreateProcessingInstruction("xml", "version='1.0'")
xmlDoc.AppendChild(objPI)
root = xmlDoc.CreateElement("Resultado")
xmlDoc.AppendChild(root)
For i = 1 To intResultado
nElement = xmlDoc.CreateElement("Detalle")
root.AppendChild(nElement)
'C=digo
aElement = xmlDoc.CreateElement("codigo")
aElement.InnerText = aMatriz(0, i)
nElement.AppendChild(aElement)
'Descripci=n
aElement = xmlDoc.CreateElement("descripcion")
aElement.InnerText = aMatriz(1, i)
nElement.AppendChild(aElement)
Next
If intResultado = 0 Then
intNumeroError = 4367
strDescError = "No se encontraron registros en la tabla " & Tabla
Err.Raise(intNumeroError, "sp_hp_catalogo", strDescError)
End If
Return xmlDoc
Catch ex As Exception
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Throw ex
End Try
End Function
Private Function ObtenerAreaMetro(ByVal CTCanton As String, ByVal CTDistrito As String) As String
Dim xmlRespuesta As New Xml.XmlDocument
'Dim objConector As New WSConector.Conector
'Dim objAudit As New ServiciosApoyo.Auditoria
Dim strFuenteDatos As String = String.Empty
Dim strSP As String = String.Empty
Dim strRespXml As String
Dim aNombreParametro(2), aValorParametro(2) As String
Dim strError As String = String.Empty
Try
If gProceso = Enumerador.ProcesoUltimus.PrestamoPrendario.ToString() Then
strFuenteDatos = Enumerador.FuenteDatosUltimus.BPMPRENDARIO.ToString()
strSP = "usp_cp_obtener_area_metro"
End If
aNombreParametro(1) = "@co_canton" : aValorParametro(1) = CTCanton
aNombreParametro(2) = "@co_distrito" : aValorParametro(2) = CTDistrito
strRespXml = outConector.EjecutarComandoSQLArreglo(gProceso, strFuenteDatos, strSP, aNombreParametro, aValorParametro, 0)
xmlRespuesta.LoadXml(strRespXml)
If xmlRespuesta.SelectSingleNode("NewDataSet").ChildNodes.Count > 0 Then
ObtenerAreaMetro = xmlRespuesta.SelectSingleNode("//NewDataSet/Table/AreaMetro").InnerText
Else
ObtenerAreaMetro = ""
End If
Catch ex As Exception
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
ObtenerAreaMetro = "Error: " & strError
Finally
End Try
End Function
Private Function ConsultarEmail(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(13, 20)
Dim aCampos(18) As String
Dim I, J, K As Integer
Dim nElement, nElement2, aElement, aElement2 As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intResultado As Integer
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
'Dim objAudit As New ServiciosApoyo.Auditoria
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
Try
nElement = xmlDocEnv.CreateElement("Emails")
rootElement.AppendChild(nElement)
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_email", 1269, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "S")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1269")
Map.PMPasoValores(SqlConn, "@i_modo", 0, SQLINT1&, "1")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_email", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_email", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If intResultado > 2 Then
intResultado = 2
End If
For K = 1 To intResultado
nElement2 = xmlDocEnv.CreateElement("Email")
nElement.AppendChild(nElement2)
aElement = xmlDocEnv.CreateElement("co_email")
aElement.InnerText = K
nElement2.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("de_email")
aElement.InnerText = aMatriz(0, K)
nElement2.AppendChild(aElement)
Next
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw excError
Finally
End Try
End Function
Private Function ConsultarEnteSolicitante(ByVal Proceso As String, ByVal strIdentificacion As String, ByVal strTipoIdentificacion As String) As String
Dim co_ente As String
Dim intResp As Integer
Dim intElem As Integer
Dim intNumeroError As Object
Dim strDescError As Object
Dim strOrigenError As Object
Dim aMatriz(100, 100)
Dim intResultado As Integer
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarEnteSolicitante"
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_se_ente", 1182, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_subtipo", 0, SQLCHAR&, "P")
' i_tipo = 2 para Cedula; i_tipo = 3 para Pasaporte
If strTipoIdentificacion = "C" Then
Map.PMPasoValores(SqlConn, "@i_tipo", 0, SQLINT1&, "2")
Else
Map.PMPasoValores(SqlConn, "@i_tipo", 0, SQLINT1&, "3")
End If
Map.PMPasoValores(SqlConn, "@i_modo", 0, SQLINT1&, "0")
Map.PMPasoValores(SqlConn, "@i_nombre_bus", 0, SQLVARCHAR&, "%")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT4&, "1182")
Map.PMPasoValores(SqlConn, "@i_valor", 0, SQLVARCHAR&, CStr(strIdentificacion))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_se_ente", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
If intResultado <> 0 Then
co_ente = aMatriz(0, 1)
Else
co_ente = "0"
End If
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_se_ente", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
strDescError = ex.Message
strOrigenError = ex.Source
Finally
If intNumeroError <> 0 Then
Select Case intNumeroError
Case -2147220988
ConsultarEnteSolicitante = "0"
Case Else
Err.Raise(intNumeroError, strOrigenError, strDescError)
End Select
Else
ConsultarEnteSolicitante = co_ente
End If
End Try
End Function
Private Function ConsultarScoring(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(15, 2)
Dim aMatriz2(8, 50)
Dim aMatriz3(2, 20)
Dim intResultado, intResultado2, intResultado3 As Integer
Dim nElement, nElement2, aElement, cElement As Xml.XmlElement
'Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim i As Integer
Dim producto As String
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
'Dim objAudit As New ServiciosApoyo.Auditoria
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarScoring"
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cobis.sp_cons_scoring_ente", 1273, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "1273")
Map.PMPasoValores(SqlConn, "@i_ente", 0, SQLINT4&, CStr(co_ente))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cobis", "sp_cons_scoring_ente", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
intResultado3 = Map.FMMapeaMatriz(SqlConn, aMatriz3)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_cons_scoring_ente", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
nElement = xmlDocEnv.CreateElement("Scoring")
rootElement.AppendChild(nElement)
' Fecha de Creacion del Ente
aElement = xmlDocEnv.CreateElement("fe_creacion")
aElement.InnerText = aMatriz(0, 1)
nElement.AppendChild(aElement)
' Fecha de Aperura del Ultimo Producto
aElement = xmlDocEnv.CreateElement("fe_ultimo_producto")
aElement.InnerText = aMatriz(1, 1)
nElement.AppendChild(aElement)
' Cantidad de Creditos Cancelados
aElement = xmlDocEnv.CreateElement("creditos_cancelados")
aElement.InnerText = aMatriz(2, 1)
nElement.AppendChild(aElement)
' Cantidad de Cheques Devueltos
aElement = xmlDocEnv.CreateElement("cheques_devueltos")
aElement.InnerText = aMatriz(3, 1)
nElement.AppendChild(aElement)
' Marca de Castigo o Incobrable
aElement = xmlDocEnv.CreateElement("castigado")
aElement.InnerText = aMatriz(4, 1)
nElement.AppendChild(aElement)
' Maximo Atraso Historico
aElement = xmlDocEnv.CreateElement("max_atraso_historico")
aElement.InnerText = aMatriz(5, 1)
nElement.AppendChild(aElement)
' Maximo Atraso en los ultimos 12 meses
aElement = xmlDocEnv.CreateElement("max_atraso_12m")
aElement.InnerText = aMatriz(6, 1)
nElement.AppendChild(aElement)
' Maximo Atraso en los ultimos 6 meses
aElement = xmlDocEnv.CreateElement("max_atraso_6m")
aElement.InnerText = aMatriz(7, 1)
nElement.AppendChild(aElement)
' Maximo Atraso en los ultimos 3 meses
aElement = xmlDocEnv.CreateElement("max_atraso_3m")
aElement.InnerText = aMatriz(8, 1)
nElement.AppendChild(aElement)
' Cantidad de Operaciones Canceladas
aElement = xmlDocEnv.CreateElement("operaciones_canceladas_6m")
aElement.InnerText = aMatriz(9, 1)
nElement.AppendChild(aElement)
' Numero de Atrasas de Maximo 30 dias durante los 9 meses anteriores
aElement = xmlDocEnv.CreateElement("atrasos_30dias")
aElement.InnerText = aMatriz(10, 1)
nElement.AppendChild(aElement)
' Morosidad
aElement = xmlDocEnv.CreateElement("morosidad")
aElement.InnerText = aMatriz(11, 1)
nElement.AppendChild(aElement)
' Producto Reestructurado
aElement = xmlDocEnv.CreateElement("reestructurado")
aElement.InnerText = aMatriz(12, 1)
nElement.AppendChild(aElement)
' Relacion del Cliente con el Banco
aElement = xmlDocEnv.CreateElement("relclientebanco")
aElement.InnerText = aMatriz(13, 1)
nElement.AppendChild(aElement)
'*******************************************************************
'03-03-2009 EO Ajuste para capturar el detalle del scoring
'*******************************************************************
If intResultado2 > 0 Then
nElement2 = xmlDocEnv.CreateElement("ScoringDetalle")
rootElement.AppendChild(nElement2)
For i = 1 To intResultado2
aElement = xmlDocEnv.CreateElement("Operacion" & i + 1)
nElement2.AppendChild(aElement)
' Tipo de Operaci=n
cElement = xmlDocEnv.CreateElement("toperacion")
cElement.InnerText = aMatriz2(0, i)
aElement.AppendChild(cElement)
' Maximo Atraso Historico
cElement = xmlDocEnv.CreateElement("max_atraso_hist")
cElement.InnerText = aMatriz2(1, i)
aElement.AppendChild(cElement)
' Maximo atrase en 3 meses
cElement = xmlDocEnv.CreateElement("max_atraso_3m")
cElement.InnerText = aMatriz2(2, i)
aElement.AppendChild(cElement)
' Maximo atraso en 6 meses
cElement = xmlDocEnv.CreateElement("max_atraso_6m")
cElement.InnerText = aMatriz2(3, i)
aElement.AppendChild(cElement)
' Maximo atraso en 12 meses
cElement = xmlDocEnv.CreateElement("max_atraso_12m")
cElement.InnerText = aMatriz2(4, i)
aElement.AppendChild(cElement)
' Maximo atraso actual
cElement = xmlDocEnv.CreateElement("max_atraso_act")
cElement.InnerText = aMatriz2(5, i)
aElement.AppendChild(cElement)
' Atraso de 30 dias
cElement = xmlDocEnv.CreateElement("ds_atraso_30d")
cElement.InnerText = aMatriz2(6, i)
aElement.AppendChild(cElement)
' Producto Castigado
cElement = xmlDocEnv.CreateElement("prod_castigado")
cElement.InnerText = aMatriz2(7, i)
aElement.AppendChild(cElement)
Next
End If
'**********************************************************************
'24-06-2009 EO Ajuste para retornar exposicion del cliente por producto
'**********************************************************************
If intResultado3 > 0 Then
For i = 1 To intResultado3
producto = aMatriz3(0, i).ToUpper().Trim()
Select Case producto.Trim()
Case "AUTOS"
' Exposicion Autos
aElement = xmlDocEnv.CreateElement("exposicion_aut")
aElement.InnerText = aMatriz3(1, i).Replace(",", "")
nElement.AppendChild(aElement)
Case "CONSUMIDOR"
' Exposicion Perosnales
aElement = xmlDocEnv.CreateElement("exposicion_per")
aElement.InnerText = aMatriz3(1, i).Replace(",", "")
nElement.AppendChild(aElement)
Case "HIPOTECAS"
' Exposicion Hipotecas
aElement = xmlDocEnv.CreateElement("exposicion_hip")
aElement.InnerText = aMatriz3(1, i).Replace(",", "")
nElement.AppendChild(aElement)
Case "TARJETAS"
' Exposicion Tarjetas
aElement = xmlDocEnv.CreateElement("exposicion_tar")
aElement.InnerText = aMatriz3(1, i).Replace(",", "")
nElement.AppendChild(aElement)
End Select
Next
End If
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
Private Function ConsultarTarjetas(ByVal Proceso As String, ByVal co_ente As String)
Dim aMatriz(14, 45)
Dim aMatriz2(130, 10)
Dim aMatriz3(130, 10)
Dim aArreglo(100)
Dim aCampos(14) As String
Dim I, J, K As Integer
Dim nElement, nElement2, nElement3, aElement As Xml.XmlElement
Dim objPI As Xml.XmlProcessingInstruction
Dim intNumeroError As Integer
Dim strDescError As String
Dim strOrigenError As String
Dim intResultado, intResultado2, intResultado3 As Integer
Dim decAcumuladoColones, decAcumuladoDolares, decSaldoTotalColones, decSaldoTotalDolares As Decimal
Dim strTemp As String
Dim aTemp() As String
Dim strLimite As String
Dim strCodMoneda As String
Dim PagoMinimo1, PagoMinimo2 As String
Dim strFeUltPago1, strFeUltPago2 As String
Dim arrFeUltPago1(), arrFeUltPago2() As String
decAcumuladoColones = 0.0
decAcumuladoDolares = 0.0
decSaldoTotalColones = 0.0
decSaldoTotalDolares = 0.0
'Dim objAudit As New ServiciosApoyo.Auditoria
' Variables para Manejo de Errores
Dim excError As Exception
Dim strError As String
intNumeroError = 0
strDescError = ""
strOrigenError = "ConsultarTarjetas"
' CONSULTA DE ACTIVOS
nElement = xmlDocEnv.CreateElement("TarjetasCredito")
rootElement.AppendChild(nElement)
Try
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_atm.sp_tm_listar_tarjetas_cliente", 25008, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "25008")
Map.PMPasoValores(SqlConn, "@i_cliente", 0, SQLINT4&, CStr(co_ente))
' OHG 22 FEB 2007 - Se agreg= parámetro adicional para optimizar la búsqueda
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "B")
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_atm", "sp_tm_listar_tarjetas_cliente", True, "") Then
intResultado = Map.FMMapeaMatriz(SqlConn, aMatriz)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
Err.Raise(intNumeroError, "sp_cli_posicion", strDescError)
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
nElement2 = xmlDocEnv.CreateElement("Tarjetas")
nElement.AppendChild(nElement2)
For K = 1 To intResultado
If aMatriz(1, K) = "A" Then
intResultado2 = 0
' Obtener detalle de Tarjetas de Credito
If Map.FMRpcInit(SqlConn, CStr(gstrServidorCOBIS) & ".cob_atm.sp_tm_con_datos_tarjeta", 25007, gResponse, gSession) Then
' Envia el paso de parámetros
Map.PMPasoValores(SqlConn, "@i_operacion", 0, SQLCHAR&, "1")
Map.PMPasoValores(SqlConn, "@t_trn", 0, SQLINT2&, "25007")
Map.PMPasoValores(SqlConn, "@i_codigo", 0, SQLVARCHAR&, CStr(aMatriz(0, K)))
If Map.FMTransmitirRPC(SqlConn, CStr(gstrServidorCOBIS), "cob_atm", "sp_tm_con_datos_tarjeta", True, "") Then
intResultado2 = Map.FMMapeaMatriz(SqlConn, aMatriz2)
intResultado3 = Map.FMMapeaMatriz(SqlConn, aMatriz3)
Map.PMChequea(SqlConn)
Else
Map.FMMapeaMensaje(SqlConn, VTErr_Tipo, VTErr_NumErr, VTErr_Sev, VTErr_Msg)
Map.PMChequea(SqlConn)
intNumeroError = vbObjectError + 512 + ERR_COBIS_4
strDescError = VTErr_NumErr & "- " & VTErr_Sev & "- " & VTErr_Msg
End If
VTRetStatus = Map.FMRetStatus(SqlConn)
Map.PMChequea(SqlConn)
End If
If aMatriz2(6, 1) <> Nothing And aMatriz2(6, 1) <> "0.00" Then
strLimite = aMatriz2(6, 1)
strCodMoneda = "20"
decSaldoTotalColones = decSaldoTotalColones + (CDec(Replace(Replace(aMatriz2(3, 1), ",", ""), ".", "")) / 100)
decAcumuladoColones = decAcumuladoColones + (CDec(Replace(Replace(strLimite, ",", ""), ".", "")) / 100)
Else
If aMatriz2(7, 1) <> Nothing And aMatriz2(7, 1) <> "0.00" Then
strLimite = aMatriz2(7, 1)
strCodMoneda = "0"
Else
strLimite = "0"
strCodMoneda = "0"
End If
decSaldoTotalDolares = decSaldoTotalDolares + (CDec(Replace(Replace(aMatriz2(4, 1), ",", ""), ".", "")) / 100)
decAcumuladoDolares = decAcumuladoDolares + (CDec(Replace(Replace(strLimite, ",", ""), ".", "")) / 100)
End If
' OHG 19 FEB 2007 - Se agreg= una condici=n con intResultado2 para evitar que trate de buscar datos de Tarjetas de CrTdito
If (strLimite <> "0" And strLimite <> "0.00") And (aMatriz2(16, 1) = "C") And (intResultado2 > 0) Then
nElement3 = xmlDocEnv.CreateElement("Tarjeta")
nElement2.AppendChild(nElement3)
aElement = xmlDocEnv.CreateElement("TITULARTARJETA")
aElement.InnerText = aMatriz2(1, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONEDA")
aElement.InnerText = "COLONES"
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("LIMITE")
aElement.InnerText = aMatriz2(6, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("SALDO")
aElement.InnerText = aMatriz2(3, 1)
nElement3.AppendChild(aElement)
If Double.Parse(aMatriz3(0, 1).ToString().Replace(",", "")) < 0 Then
PagoMinimo1 = "0.00"
Else
PagoMinimo1 = aMatriz3(0, 1)
End If
aElement = xmlDocEnv.CreateElement("PAGOMINIMO")
aElement.InnerText = PagoMinimo1
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("CLASIFICACIONPAGO")
aElement.InnerText = aMatriz3(4, 1) & " - " & aMatriz3(5, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("ESTADO")
aElement.InnerText = aMatriz2(5, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("DIASATRASO")
aElement.InnerText = aMatriz3(6, 1)
nElement3.AppendChild(aElement)
' OHG 31 ENE 2007 - Ajuste para la fecha de apertura se presente en formato dd/mm/yyyy
strTemp = aMatriz2(2, 1)
If Len(Trim(strTemp)) > 0 Then
aTemp = Split(strTemp, "/")
If (aTemp.Length >= 3) Then
strTemp = aTemp(1) & "/" & aTemp(0) & "/" & aTemp(2)
End If
End If
aElement = xmlDocEnv.CreateElement("FECHAAPERTURA")
aElement.InnerText = strTemp ' OHG 31 ENE 2007
nElement3.AppendChild(aElement)
'AAP Para mostrar fecha en formato dd/MM/yyyy
strFeUltPago1 = aMatriz3(2, 1)
If Len(Trim(strFeUltPago1)) > 0 Then
arrFeUltPago1 = Split(strFeUltPago1, "/")
If (arrFeUltPago1.Length >= 3) Then
strFeUltPago1 = arrFeUltPago1(1) & "/" & arrFeUltPago1(0) & "/" & arrFeUltPago1(2)
End If
End If
aElement = xmlDocEnv.CreateElement("FECHAULTIMOPAGO")
aElement.InnerText = strFeUltPago1
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONTOULTIMOPAGO")
aElement.InnerText = aMatriz3(9, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("SECUENCIAL")
aElement.InnerText = aMatriz2(0, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("NUMERO")
aElement.InnerText = aMatriz2(1, 1)
nElement3.AppendChild(aElement)
'Se agrego para que cada registros retornara dos set uno colones y otro dolares A.P.
nElement3 = xmlDocEnv.CreateElement("Tarjeta")
nElement2.AppendChild(nElement3)
aElement = xmlDocEnv.CreateElement("TITULARTARJETA")
aElement.InnerText = aMatriz2(1, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONEDA")
aElement.InnerText = "DOLARES"
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("LIMITE")
aElement.InnerText = aMatriz2(7, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("SALDO")
aElement.InnerText = aMatriz2(4, 1)
nElement3.AppendChild(aElement)
If Double.Parse(aMatriz3(1, 1).ToString().Replace(",", "")) < 0 Then
PagoMinimo2 = "0.00"
Else
PagoMinimo2 = aMatriz3(1, 1)
End If
aElement = xmlDocEnv.CreateElement("PAGOMINIMO")
aElement.InnerText = PagoMinimo2
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("CLASIFICACIONPAGO")
aElement.InnerText = aMatriz3(4, 1) + " - " + aMatriz3(5, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("ESTADO")
aElement.InnerText = aMatriz2(5, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("DIASATRASO")
aElement.InnerText = aMatriz3(7, 1)
nElement3.AppendChild(aElement)
' OHG 31 ENE 2007 - Ajuste para la fecha de apertura se presente en formato dd/mm/yyyy
strTemp = aMatriz2(2, 1)
If Len(Trim(strTemp)) > 0 Then
aTemp = Split(strTemp, "/")
If (aTemp.Length >= 3) Then
strTemp = aTemp(1) & "/" & aTemp(0) & "/" & aTemp(2)
End If
End If
aElement = xmlDocEnv.CreateElement("FECHAAPERTURA")
aElement.InnerText = strTemp ' OHG 31 ENE 2007
nElement3.AppendChild(aElement)
'AAP Para mostrar fecha en formato dd/MM/yyyy
strFeUltPago2 = aMatriz3(3, 1)
If Len(Trim(strFeUltPago2)) > 0 Then
arrFeUltPago2 = Split(strFeUltPago2, "/")
If (arrFeUltPago2.Length >= 3) Then
strFeUltPago2 = arrFeUltPago2(1) & "/" & arrFeUltPago2(0) & "/" & arrFeUltPago2(2)
End If
End If
aElement = xmlDocEnv.CreateElement("FECHAULTIMOPAGO")
aElement.InnerText = strFeUltPago2
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("MONTOULTIMOPAGO")
aElement.InnerText = aMatriz3(10, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("SECUENCIAL")
aElement.InnerText = aMatriz2(0, 1)
nElement3.AppendChild(aElement)
aElement = xmlDocEnv.CreateElement("NUMERO")
aElement.InnerText = aMatriz2(1, 1)
nElement3.AppendChild(aElement)
End If
End If
Next
nElement2 = xmlDocEnv.CreateElement("ACUMULADOCOLONES")
nElement2.InnerText = decAcumuladoColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("ACUMULADODOLARES")
nElement2.InnerText = decAcumuladoDolares
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("SALDOTOTALCOLONES")
nElement2.InnerText = decSaldoTotalColones
nElement.AppendChild(nElement2)
nElement2 = xmlDocEnv.CreateElement("SALDOTOTALDOLARES")
nElement2.InnerText = decSaldoTotalDolares
nElement.AppendChild(nElement2)
Catch ex As Exception
Try
log.EscribirArchivo("ULA.Davivienda.WCFServiciosCobisGenerales", ex)
Catch ex2 As Exception
End Try
Throw ex
Finally
End Try
End Function
#End Region
End Class