Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SISTEMA CORPORATIVO
ASIGNATURA:
BASE DE DATOS II
PRESENTADO POR:
GRUPO # 4
AILYN A. GARCIA MAT. 1-13-1805
ALVIN CASTILLO MAT. 2-14-0899
ELIZABETH PEÑA MAT. 1-16-2844
JOSE R. MOREL MAT. 1-16-0328
ASESOR:
ING. JOSE REYES.
1. Realizar_solicitud_préstamo ........................................................................................... 12
2. Realizar_análisis_creditício ............................................................................................. 12
3. Realizar_contrato ............................................................................................................ 13
4. Realizar_pagos ................................................................................................................ 13
5. Realizar_nota_crédito ..................................................................................................... 13
6. Realizar_cancelación_crédito.......................................................................................... 13
7. Realizar_notificación_pago_atrasado ............................................................................. 14
8. RealizaSolicitudAplazamiento ......................................................................................... 14
9. RealizarModificaciónContrato......................................................................................... 14
10. RealizarIncumplimientoContr ..................................................................................... 14
11. RealizaFinalizaciónDevolución_garantia ..................................................................... 14
ÍNDICE DE LOS PROCEDIMIENTOS ALMACENADOS .................................................................... 15
Conclusión ................................................................................................................................... 45
Bibliografía .................................................................................................................................. 46
Referencias .................................................................................................................................. 47
ANEXOS ....................................................................................................................................... 47
2
PROPUESTA ORIGINAL DEL SISTEMA DE GESTIÓN DE PRÉSTAMOS ....................................... 52
Descripción .......................................................................................................................... 52
Objetivos ............................................................................................................................. 52
General ................................................................................................................................ 52
Específicos ........................................................................................................................... 53
Objeto de negocio ............................................................................................................... 53
Beneficios ............................................................................................................................ 53
CAMBIOS REALIZADOS A LA PROPUESTA DEL SISTEMA ......................................................... 53
PREGUNTAS BASE DE DATOS PARA EL CUBO.......................................................................... 54
GRÁFICOS DEL CUBO ............................................................................................................... 56
PRESENTACIÓN DE LOS DIFERENTES DIAGRAMAS.................................................................. 61
Diagramas de procesos ....................................................................................................... 62
Diagrama de flujo de proceso y datos (circular) ................................................................. 68
................................................................................................................................................. 69
PLANTILLAS.............................................................................................................................. 69
Formularios ............................................................................................................................. 70
Procedimientos que utilizan esos formularios ........................................................................ 70
[Date]
3
INTRODUCCIÓN
Este documento final es el fruto de meses de continuo trabajo que implico desde la
investigación y documentación de lo que se trata el sistema de préstamo a diversas
entidades, la presentación de la propuesta, realización de diagramas de procesos y de
flujo que muestra cuales son los datos que deben de ser introducidos, la creación de una
base de datos normalizada que cuento con los aspectos necesarios para satisfacer los
requerimientos del software con su respectivo diagrama de entidad relación, la
elaboración de procedimiento de inserción masiva y sus procedimientos, el llenado de
un 10% de los registros de flujo diario y finalmente el estudio de esos datos utilizando
la herramienta de análisis de Excel.
[Date]
4
DESCRIPCIÓN DEL FUNCIONAMIENTO DEL SISTEMA Y SUS
DIVERSAS GESTIONES DE NEGOCIOS DERIVADAS
Pasado esta fase se registra en nuestro sistema cualquier documento legal previamente
verificados y luego se toma la decisión basada en las informaciones prestadas. En caso
de ser aprobado se pasa al procedimiento del contrato donde se introduce el monto,
plazo, tipo, amortización y cualquier otro dato referente con la observación de que pudo
haber cambiado desde la solicitud al contrato oficial. La siguiente función es la de cobro
de cuota donde se generara una nota de crédito ante el pago y donde se cobra mora en
caso de retraso. El sistema de préstamo tiene la capacidad de notificar cuando se haya
retrasado en los pagos.
5
Alcance del sistema
El sistema propuesto tiene como alcance principal el poder cubrir las actividades
relacionada a préstamos realizados por financieros informales además de poder crear un
registro de los préstamos. Este sistema podrá consultar el estado relacionado a los
prestamos actuales o el historial de crédito de los prestatarios para realizar transacciones
financieras con un mayor nivel de credibilidad y seguridad.
Gestiones de negocios
Nuestros sistemas de prestamos cuenta con varias gestiones de negocios de las cuales
está la principal que es la gestión de préstamos, luego tenemos el análisis de crédito
donde se utiliza una cantidad de personas para estudiar los datos previamente
introducido, el estudio legal que conlleva procesos hechos por abogados, después está el
área de cobros donde está un personal dedicado al recibimiento de las cuotas, además se
tiene un área de caso de retraso dedicado a la notificación como también un área de peso
legal en caso de incumplimiento.
General
Gestionar de forma eficiente los registros de los préstamos otorgados para así tener un
control de las operaciones realizadas.
Específicos
Tener historial de pagos.
Proporcionar informaciones relevantes para la toma de decisiones posteriores del
usuario basado en la información financiera proporcionadas por los mismos.
Imprimir recibos.
Registrar usuarios y préstamos.
Ser adaptable a las necesidades del mercado actual para así estar de forma
amigable al usuario con una interfaz flexible y fácil de manejar para facilitar una
mejor gestión en su uso.
[Date]
6
PASOS PARA REALIZAR ANALYSIS SERVICES
A continuación, presentaremos los pasos tomados para realizar cubo utilizando Excel:
1) Primero abrimos Excel y creamos un libro en blanco con se muestra en la
imagen posterior.
Para ello:
o Clic en archivo
o Clic en guardar
o Clic en examinar
7
3) Después de haber guardado el archivo nos dirigimos a la pestaña Datos y
hacemos clic.
[Date]
8
6) Luego de conectarnos a la base de datos seleccionamos las tablas que queremos
usar en nuestras consultas para esto palomeamos la casilla “seleccionar varios
elementos”, y procedemos a seleccionar las tablas que requiramos y al terminar
cliqueamos “Cargar”.
7) Finalmente nos aparecerán unas listas de las tablas que cargamos exitosamente
en nuestra base de datos luego de esto podemos continuar con las consultas.
8) Ahora agregamos una tabla dinámica para poder visualizar nuestra consulta,
para ello vamos a la Pestaña insertar, -> tabla dinámica y luego en el nuevo
cuadro de diálogo “Ok”.
[Date]
9
9) Luego para realizar una consulta solo tenemos que arrastrar los campos de las
tablas a las áreas correspondientes.
10) Ahora para realizar una consulta como ejemplo queremos un reporte de todos los
clientes y poder filtrarlos por su sexo, nacionalidad y estado civil.
Para ello primeramente traemos los registros que necesitamos es decir
los clientes en nuestra base de datos, para ello arrastramos en campo
nombre de la entidad al área “Filas” y cómo podemos ver
automáticamente me trae todos los nombres de las entidades de la base
de datos.
[Date]
10
Debemos filtrar que solo aparezcan los nombres de los clientes pues en
este momento presenta los nombres de todas las entidades, para ello
arrastramos el campo “id_ent” de la tabla “Clientes” al área Valores para
que haga coincidir los nombres de las entidades con los códigos
almacenados en la tabla de clientes.
Por el momento solo visualizamos los nombres de los clientes solo debemos agregar los
campos por los que deseamos filtrar la información en el área filtros, en este caso: sexo.
Nacionalidad y estado civil.
11
PROCESOS Y SUBPROCESOS
cc. Insertar_datosusuario
12
3. Realizar_contrato n. Insertar_pago_historial
a. Insertar_entidad o. Insertar_pagos_atraso
b. Insertar_relacion p. Relacionar_pagovsprest
c. Relacionar_entvsrelacion q. Insertar_formas_pagos
d. Insertar_tiporegistro
5. Realizar_nota_crédito
e. Insertar_formas_pagos
a. Realizar_contrato
f. Insertar_garantia
b. Realizar_pago
g. Insertar_tipo_prestamo
c. Relacionar_amortizacion
h. Relacionar_amortizacion
d. Relacionar_amorvscontr
i. Relacionar_amortizacion
e. Insertar_entidad
vscontrato
f. Insertar_tiporegistro
j. Insertar_doc_legales
g. Insertar_datos_usuario
k. Insertar_tasa
h. Relacionar_perm_usu
l. Insertar_datos_usuario
i. Relacionar_pagovsprest
m. Relacionar_permisosvsus
j. Insertar_historial_pago
uario
n. Relacionar_estvscontrato
4. Realizar_pagos 6. Realizar_cancelación_crédito
a. Insertar_entidad a. Realizar_contrato
b. Insertar_contrato b. Insertar_entidad
c. Insertar_metodo_pago c. Relacionar_estadovscont
d. Insertar_cuentabancarias d. Insertar_tiporegistro
e. Relacionar_entidadvscue e. Relacionar_amortizacion
ntasbancarias f. Relacionar_amortizacion
f. Insertar_tarjeta vscontrato
g. Relacionar_entvstarjeta g. Insertar_historial_pago
h. Insertar_cheque h. Relacionar_pagovscontr
i. Relacionar_entvscheque
j. Insertar_datos_usuarios
k. Relacionar_permvsusu
l. Relacionar_amortizacion
m. Relacionar_amortizacion
[Date]
vscontrato
13
7. Realizar_notificación- f. Relacionar_amortizacion
_pago_atrasado vscontrato
a. Realizar_contrato
10. RealizarIncumplimientoContr
b. Insertar_entidad
a. Realizar_contrato
c. Relacionar_estvscontrato
b. Insertar_entidad
d. Insertar_tiporegistro
c. Relacionar_estadovscont
e. Relacionar_amortizacion
d. Insertar_tiporegistro
f. Relacionar_amortizacion
e. Relacionar_amortizacion
vscontrato
f. Relacionar_amortizacion
g. Insertar_historial_pago
vscontrato
h. Relacionar_pagovscontr
g. Insertar_historial_pago
i. Insertar_direccion
h. Relacionar_pagovscontr
j. Insertar_pais
i. Insertar_direccion
k. Insertar_region
j. Insertar_pais
l. Insertar_provincia
k. Insertar_region
m. Insertar_municipio
l. Insertar_provincia
n. Insertar_sector
m. Insertar_municipio
o. Insertar_calle
n. Insertar_sector
p. Relacionar_sectorvscalle
o. Insertar_calle
8. RealizaSolicitudAplazamiento p. Relacionar_sectorvscalle
a. Insertar_entidad
11. RealizaFinalizaciónDevolución
b. Realizar_contrato
_garantia
c. Insertar_formas_pagos
a. Insertar_entidad
d. Insertar_tiporegistro
b. Realizar_contrato
e. Relacionar_estadovssolic
c. Relacionar_documentovs
itud_aplazamiento
entidad
9. RealizarModificaciónContrato d. Relacionar_estadovscont
a. Insertar_entidad rato
b. Realizar_contrato e. Insertar_tiporegistro
c. Realizar_solicitud_aplaz f. Insertar_garantia
amiento g. Insertar_documento_lega
d. Relacionar_amortizacion les
[Date]
e. Insertar_tiporegistro h. Insertar_historial_credi
14
ÍNDICE DE LOS PROCEDIMIENTOS ALMACENADOS
16
id_aplazamiento=@id_aplazamiento,num_contrato=@num
_contrato,razon=@razon,cuotas_pagadas=@cuotas_paga
das,fecha_solicitud=@fecha_solicitud,extencion=@ex
tencion,nueva_forma_pago=@nueva_forma_pago,presupu
esto_actual=@presupuesto_actual Where
id_aplazamiento = @id_aplazamiento
SELECT* From solicitud_aplazamiento
Where id_aplazamiento = @id_aplazamiento and
num_contrato = @num_contrato and nueva_forma_pago
= @nueva_forma_pago
GO
17
--7) Insertar documentos --8) Insertar usuario
CREATE PROCEDURE [dbo].[Insert_Documento] CREATE PROCEDURE [dbo].[Insert_DatosUsuario]
( (
@doc VARCHAR(200), @id_ent int,
@id_tip int, @login varchar(200),
[dbo].[Insert_CorreoVsEntidad] (
( @IdEnt int,
@id_ent int, @RNC varchar(50),
@id_cor int @Renglon int,
) @status bit
as )
if not EXISTS(SELECT id_ent from AS
CorreoVsEntidad where id_ent = @id_ent and IF(@IdEnt<=0)
id_cor = @id_cor) BEGIN
insert into CorreoVsEntidad(id_ent,id_cor) SELECT @IdEnt=MAX(IdEnt) from DatosEmpresariales
values(@id_ent,@id_cor) if @IdEnt is null set @IdEnt=0
else set @IdEnt = @IdEnt + 1
UPDATE CorreoVsEntidad set end
id_ent=@id_ent,id_cor=@id_cor Where id_ent = if not EXISTS(SELECT IdEnt from DatosEmpresariales
@id_ent AND id_cor = @id_cor where IdEnt=@IdEnt)
SELECT* From CorreoVsEntidad Where id_ent = insert into
@id_ent and id_cor = @id_cor DatosEmpresariales(IdEnt,RNC,Renglon,status)
values(@IdEnt,@RNC,@Renglon,@status)
else
UPDATE DatosEmpresariales set
IdEnt=@IdEnt,RNC=@RNC,Renglon=@Renglon,status=@sta
tus Where IdEnt=@IdEnt
SELECT * From DatosEmpresariales Where
IdEnt=@IdEnt
[Date]
18
@STATUS BIT @password varchar(200),
) @tip_user int,
AS @status bit
IF(@doc<=0) )
BEGIN AS
SELECT @doc=MAX(doc) from Documento IF(@id_ent<=0)
if @doc is null set @doc=0 BEGIN
set @doc = @doc + 1 SELECT @id_ent=MAX(id_ent) from DatosUsuario
end if @id_ent is null set @id_ent=0
if not EXISTS(SELECT doc from Documento where set @id_ent = @id_ent + 1
doc=@doc) end
insert into Documento(doc,id_tip,STATUS) if not EXISTS(SELECT id_ent from DatosUsuario
values(@doc,@id_tip,@STATUS) where id_ent=@id_ent)
else insert into
UPDATE Documento set DatosUsuario(id_ent,login,password,tip_user,status
doc=@doc,id_tip=@id_tip,STATUS=@STATUS Where )
doc=@doc values(@id_ent,@login,@password,@tip_user,@status)
SELECT * From Documento Where doc=@doc else
UPDATE DatosUsuario set
id_ent=@id_ent,login=@login,password=@password,tip
_user=@tip_user,status=@status Where
id_ent=@id_ent
SELECT * From DatosUsuario Where id_ent=@id_ent
19
if not EXISTS(SELECT cod_calle FROM Calle Where upper(nom_calle)=upper(@Calle)) EXEC @cod_calle=
dbo.Insert_Calle 0,@Sector,1
else select @cod_calle=cod_calle from Calle where upper(nom_calle)=upper(@Calle)
if not EXISTS (SELECT cod_sec, cod_calle from SectorVsCalle where cod_sec=@cod_sec and
cod_calle=@cod_calle) EXEC dbo.Insert_SectorVsCalle @cod_sec,@cod_calle
20
--14) Insertar entidadVSregistros --15) Insertar municipio
CREATE PROCEDURE [dbo].[Insert_EntidadVsTipoRegistro] CREATE PROCEDURE [dbo].[Insert_Municipio]
( (
@id_ent int, @cod_mun INT,
@id_reg int @nom_mun VARCHAR(50),
) @cod_pro INT,
as @status BIT
if not EXISTS(SELECT id_ent from )
EntidadVsTipoRegistro where id_ent = @id_ent and AS
id_reg = @id_reg) IF(@cod_mun<=0)
insert into EntidadVsTipoRegistro(id_ent,id_reg) BEGIN
values(@id_ent,@id_reg) SELECT @cod_mun=MAX(cod_mun) from Municipio
else if @cod_mun is null set @cod_mun=0
UPDATE EntidadVsTipoRegistro set set @cod_mun = @cod_mun + 1
id_ent=@id_ent,id_reg=@id_reg Where id_ent = @id_ent end
AND id_reg = @id_reg if not EXISTS(SELECT cod_mun from Municipio where
SELECT* From EntidadVsTipoRegistro Where id_ent = cod_mun=@cod_mun)
@id_ent and id_reg = @id_reg insert into Municipio(cod_mun,nom_mun,cod_pro,status)
values(@cod_mun,@nom_mun,@cod_pro,@status)
else
UPDATE Municipio set
cod_mun=@cod_mun,nom_mun=@nom_mun,cod_pro=@cod_pro,st
atus=@status Where cod_mun=@cod_mun
SELECT * From Municipio Where cod_mun=@cod_mun
--18) PersonasVSapellido
CREATE PROCEDURE [dbo].[Insert_PersonaVsApellido]
(@id_ent int,
@apellido varchar(200))
as
[Date]
21
declare @id_apellido int
if not exists(select id_reg from TipoRegistro where upper(des_tip)=upper(@apellido)) exec @id_apellido =
dbo.Insert_TipoRegistro 0,@apellido,'APELLIDO',1
else select @id_apellido = id_reg from TipoRegistro where upper(des_tip)=upper(@apellido)
if not EXISTS(SELECT id_ent from PersonaVsApellido where id_ent = @id_ent and id_apellido = @id_apellido)
insert into PersonaVsApellido(id_ent,id_apellido) values(@id_ent,@id_apellido)
elseUPDATE PersonaVsApellido set id_ent=@id_ent,id_apellido=@id_apellido Where id_ent = @id_ent AND
id_apellido = @id_apellido
SELECT* From PersonaVsApellido Where id_ent = @id_ent and id_apellido = @id_apellido
22
if @cod_pro is null set @cod_pro=0 if @cod_reg is null set @cod_reg =0
set @cod_pro = @cod_pro + 1 set @cod_reg = @cod_reg + 1
end end
if not EXISTS(SELECT cod_pro from Provincia if not EXISTS(SELECT cod_reg from Region where
where cod_pro=@cod_pro) cod_reg =@cod_reg )
insert into insert into
Provincia(cod_pro,nom_pro,cod_reg,status) Region(cod_reg,nom_reg,cod_pais,status)
values(@cod_pro,@nom_pro,@cod_reg,@status) values(@cod_reg,@nom_reg,@cod_pais,@status)
else else
UPDATE Provincia set UPDATE Region set
cod_pro=@cod_pro,nom_pro=@nom_pro,cod_reg=@cod_ cod_reg=@cod_reg,nom_reg=@nom_reg,cod_pais=@cod_p
reg,status=@status Where cod_pro=@cod_pro ais,status=@status Where cod_reg =@cod_reg
SELECT * From Provincia Where cod_pro=@cod_pro SELECT * From Region Where cod_reg =@cod_reg
23
@cod_sec and cod_calle = @cod_calle UPDATE Telefono set
id_tel=@id_tel,tel=@tel,extencion=@extencion,tip_tel=@tipo_tel
Where id_tel=@id_tel
SELECT * From Telefono Where id_tel=@id_tel
24
BEGIN SELECT
SELECT @num_cue=MAX(num_cue) from @id_documento=MAX(id_documento) from
CuentasBancarias Documentos_legales
if @num_cue is null set @num_cue=0 if @id_documento is null set
set @num_cue =@num_cue + 1 @id_documento=0
end set @id_documento = @id_documento +
if not EXISTS(SELECT num_cue from 1
CuentasBancarias where num_cue = @num_cue and end
tip_cue = @tip_cue ) if not EXISTS(SELECT id_documento from
insert into Documentos_legales where id_documento =
CuentasBancarias(num_cue,tip_cue,banco,status) @id_documento)
insert into
values(@num_cue,@tip_cue,@banco,@status) Documentos_legales(id_documento,descripcion,foto)
else
UPDATE CuentasBancarias set values(@id_documento,@descripcion,@foto)
num_cue=@num_cue,tip_cue=@tip_cue,banco=@banco,s else
tatus=@status Where num_cue = @num_cue UPDATE Documentos_legales set
SELECT* From CuentasBancarias id_documento=@id_documento,descripcion=@descripci
Where num_cue = @num_cue and tip_cue = on,foto=@foto Where id_documento = @id_documento
@tip_cue SELECT* From Documentos_legales
GO Where id_documento = @id_documento
GO
25
o_garantia,condicion_garantia=@condicion_ga
rantia Where codigo_garantia =
@codigo_garantia
SELECT* From garantia Where
codigo_garantia = @codigo_garantia and
tipo_garantia = @tipo_garantia
GO
values(@id_his_cred,@codigo_usuario_sol values(@codigo_metodo_pago,@num_tarjeta,
icitante,@codigo_usuario_garante,@estado_credi @num_cue,@cheque,@efectivo,@monto_metodo_pago,@
ticio) estado)
else else
UPDATE historial_crediticio set UPDATE metodo_pago set
id_his_cred=@id_his_cred,codigo_usuario_solici codigo_metodo_pago=@codigo_metodo_pago,num_tarj
tante=@codigo_usuario_solicitante,codigo_usuar eta=@num_tarjeta,num_cue=@num_cue,cheque=@chequ
io_garante=@codigo_usuario_garante,estado_cred e,efectivo=@efectivo,monto_metodo_pago=@monto_m
iticio=@estado_crediticio Where id_his_cred = etodo_pago,estado=@estado Where
@id_his_cred codigo_metodo_pago = @codigo_metodo_pago
SELECT* From SELECT* From metodo_pago Where
historial_crediticio Where id_his_cred = codigo_metodo_pago = @codigo_metodo_pago and
@id_his_cred and codigo_usuario_solicitante = num_tarjeta = @num_tarjeta
@codigo_usuario_solicitante GO
GO
26
@num_periodo int, @num_periodo int,
@capital_pendiente decimal(18,2), @capital_pagado decimal(18,2),
@interes_pendiente decimal(18,2), @interes_pagado decimal(18,2),
@cuota_pendiente decimal(18,2), @cuota_pagada decimal(18,2),
@mora_pendiente decimal(18,2) @mora_pagada decimal(18,2),
) @balance decimal(18,2)
as )
if not EXISTS(SELECT num_pago from as
pago_atrasados where num_pago = @num_pago and if not EXISTS(SELECT num_pago from
num_contrato = @num_contrato ) pago_historial where num_pago = @num_pago and
insert into num_contrato = @num_contrato )
pago_atrasados(num_pago,fecha_vencido,num_contrato insert into
,num_periodo,capital_pendiente,interes_pendiente,c pago_historial(num_pago,fecha_realizado,num_contr
uota_pendiente,mora_pendiente) ato,num_periodo,capital_pagado,interes_pagado,cuo
ta_pagada,mora_pagada,balance)
values(@num_pago,@fecha_vencido,@num_contrato,@num
_periodo,@capital_pendiente,@interes_pendiente,@cu values(@num_pago,@fecha_realizado,@num_con
ota_pendiente,@mora_pendiente) trato,@num_periodo,@capital_pagado,@interes_pagad
else o,@cuota_pagada,@mora_pagada,@balance)
UPDATE pago_atrasados set else
num_pago=@num_pago,fecha_vencido=@fecha_vencido,nu UPDATE pago_historial set
m_contrato=@num_contrato,num_periodo=@num_periodo, num_pago=@num_pago,fecha_realizado=@fecha_realiza
capital_pendiente=@capital_pendiente,interes_pendi do,num_contrato=@num_contrato,num_periodo=@num_pe
ente=@interes_pendiente,cuota_pendiente=@cuota_pen riodo,capital_pagado=@capital_pagado,interes_paga
diente,mora_pendiente=@mora_pendiente Where do=@interes_pagado,cuota_pagada=@cuota_pagada,mor
num_pago = @num_pago a_pagada=@mora_pagada,balance=@balance Where
SELECT* From pago_atrasados Where num_pago = @num_pago
num_pago = @num_pago and num_contrato = SELECT* From pago_historial Where
@num_contrato num_pago = @num_pago and num_contrato =
GO @num_contrato
GO
27
--39) TIPO PRESTAMO --40) AMORTIZACION VS Contrato
CREATE PROCEDURE [dbo].[insertar_TipoPrestamo] CREATE PROCEDURE
( [dbo].[relacionar_amortizacionVsCon
@codigo_tipo_prestamo int, trato]
@descripcion varchar(200), (
@codigo_tasa int, @id_ent int,
@estado_Tipo_prestamo_interes bit @id_amortizacion int,
) @num_cuota smallint
AS )
IF(@codigo_tipo_prestamo<=0) as
BEGIN if not EXISTS(SELECT id_ent
SELECT @codigo_tipo_prestamo=MAX(codigo_tipo_prestamo) from amortizacionVsContrato where
from TipoPrestamo id_ent = @id_ent and
if @codigo_tipo_prestamo is null set @codigo_tipo_prestamo=0 id_amortizacion = @id_amortizacion
set @codigo_tipo_prestamo = @codigo_tipo_prestamo + 1 and num_cuota = @num_cuota)
end insert into
if not EXISTS(SELECT codigo_tipo_prestamo from TipoPrestamo amortizacionVsContrato(id_ent,id_am
where codigo_tipo_prestamo = @codigo_tipo_prestamo ) ortizacion,num_cuota)
insert into
TipoPrestamo(codigo_tipo_prestamo,descripcion,codigo_tasa,estado_Tipo values(@id_ent,@id_amortizacion,@nu
_prestamo_interes) m_cuota)
else
values(@codigo_tipo_prestamo,@descripcion,@codigo_tasa,@estado UPDATE
_Tipo_prestamo_interes) amortizacionVsContrato set
else id_ent=@id_ent,id_amortizacion=@id_
UPDATE TipoPrestamo set amortizacion,num_cuota=@num_cuota
codigo_tipo_prestamo=@codigo_tipo_prestamo,descripcion=@descripcion,c Where id_ent = @id_ent
odigo_tasa=@codigo_tasa,estado_Tipo_prestamo_interes=@estado_Tipo_pre SELECT* From
stamo_interes Where codigo_tipo_prestamo = @codigo_tipo_prestamo amortizacionVsContrato Where id_ent
SELECT* From TipoPrestamo Where codigo_tipo_prestamo = = @id_ent and id_amortizacion =
@codigo_tipo_prestamo @id_amortizacion and num_cuota =
GO @num_cuota
GO
28
UPDATE
Documentos_legalesVsGarantia_prestamo
set
codigo_garantia=@codigo_garantia,id_d
ocumento=@id_documento Where
codigo_garantia = @codigo_garantia
SELECT* From
Documentos_legalesVsGarantia_prestamo
Where codigo_garantia =
@codigo_garantia and id_documento =
@id_documento
GO
29
itud,fecha_realizado)
values(@id_estado_contrato,@num_contrato,@fech
a_realizado,@detalle) values(@id_estado_solicitud,@id_solicit
else ud,@fecha_realizado)
UPDATE estadoVscontrato set else
id_estado_contrato=@id_estado_contrato,num_contrato=@ UPDATE estadoVsSolicitud set
num_contrato,fecha_realizado=@fecha_realizado,detalle id_estado_solicitud=@id_estado_solicitud,id_so
=@detalle Where id_estado_contrato = licitud=@id_solicitud,fecha_realizado=@fecha_r
@id_estado_contrato ealizado Where id_estado_solicitud =
SELECT* From estadoVscontrato Where @id_estado_solicitud
id_estado_contrato = @id_estado_contrato and SELECT* From estadoVsSolicitud
num_contrato = @num_contrato Where id_estado_solicitud =
GO @id_estado_solicitud and id_solicitud =
@id_solicitud
GO
30
@cantidad_hijos int,
@ingresos decimal(18,2),
@gastos decimal(18,2),
@nivel_educacion varchar(200),
@fecha_inicio date,
@fecha_termino date,
@lugar_estudio varchar(200),
@status bit
)
AS
DECLARE @id_nacionalidad int, @id_estado_civil int, @id_otro int, @id_apellido int
IF(@id_ent<=0)
BEGIN
SELECT @id_ent=MAX(id_ent) from DatosPersonales
if @id_ent is null set @id_ent=0
set @id_ent = @id_ent + 1
end
31
DECLARE @id_solicitud varchar(100)
DECLARE @fecha_solicitado varchar(100)
DECLARE @monto_solicitado varchar(100)
DECLARE @plazo varchar(100)
DECLARE @concepto varchar(100)
DECLARE @sucursal varchar(100)
DECLARE @codigo_usuario_solicitante varchar(100)
DECLARE @codigo_usuario_empleado varchar(100)
DECLARE @codigo_usuario_garante varchar(100)
DECLARE @codigo_garantia varchar(100)
DECLARE @codigo_tasa varchar(100)
DECLARE @codigo_forma_pago varchar(100)
DECLARE @id_tipo_moneda varchar(100)
DECLARE @codigo_tipo_prestamo varchar(100)
--SUCURSAL
DECLARE @nom_sucursal varchar(100)
DECLARE @calle varchar(100)
DECLARE @sector varchar(100)
DECLARE @provincia varchar(100)
DECLARE @municipio varchar(100)
DECLARE @region varchar(100)
DECLARE @pais varchar(100)
DECLARE @email varchar(100)
DECLARE @telefono_sucursal varchar(100)
--SOLICITANTE
DECLARE @id_solicitante varchar(100)
DECLARE @nombre_solicitante varchar(100)
DECLARE @apellido_solicitante varchar(100)
DECLARE @telefono_solicitante varchar(100)
DECLARE @correo_solicitante varchar(100)
DECLARE @nacionalidad_solicitante varchar(100)
DECLARE @estado_civil_solicitante varchar(100)
DECLARE @ingresos_solicitante varchar(100)
DECLARE @gastos_solicitante varchar(100)
DECLARE @sexo_solicitante varchar(100)
DECLARE @celular_solicitante varchar(100)
DECLARE @fec_nac_solicitante varchar(100)
DECLARE @web_solicitante varchar(100)
DECLARE @cantidad_hijos varchar(100)
DECLARE @identificacion_solicitante varchar(100)
DECLARE @tipo_identicacion_solicitante varchar(100)
DECLARE @nivel_educacion varchar(100)
DECLARE @fec_culminacion_est varchar(100)
DECLARE @lugar_estudio varchar(100)
DECLARE @calle_s varchar(100)
DECLARE @sector_s varchar(100)
DECLARE @provincia_s varchar(100)
DECLARE @municipio_s varchar(100)
DECLARE @region_s varchar(100)
DECLARE @pais_s varchar(100)
--EMPRESA SOLICITANTE
DECLARE @empresa_solicitante varchar(100)
DECLARE @telefono_empresa varchar(100)
DECLARE @extension varchar(100)
DECLARE @rnc varchar(100)
DECLARE @rubro varchar(100)
DECLARE @web_empresa varchar(100)
DECLARE @puesto_solicitante varchar(100)
[Date]
32
DECLARE @fecha_ingreso varchar(100)
--OFICIAL
DECLARE @id_oficial varchar(100)
DECLARE @nombre_oficial varchar(100)
DECLARE @identificacion_oficial varchar(100)
DECLARE @telefono_oficial varchar(100)
--GARANTE
DECLARE @id_garante varchar(100)
DECLARE @nombre_garante varchar(100)
DECLARE @apellido_garante varchar(100)
DECLARE @telefono_garante varchar(100)
DECLARE @correo_garante varchar(100)
DECLARE @nacionalidad_garante varchar(100)
DECLARE @estado_civil_garante varchar(100)
DECLARE @ingresos_garante varchar(100)
DECLARE @gastos_garante varchar(100)
DECLARE @sexo_garante varchar(100)
DECLARE @celular_garante varchar(100)
DECLARE @fec_nac_garante varchar(100)
DECLARE @web_garante varchar(100)
DECLARE @cantidad_hijos_g varchar(100)
DECLARE @identificacion_garante varchar(100)
DECLARE @tipo_identicacion_garante varchar(100)
DECLARE @nivel_educacion_g varchar(100)
DECLARE @fec_culminacion_est_g varchar(100)
DECLARE @lugar_estudio_g varchar(100)
DECLARE @calle_g varchar(100)
DECLARE @sector_g varchar(100)
DECLARE @provincia_g varchar(100)
DECLARE @municipio_g varchar(100)
DECLARE @region_g varchar(100)
DECLARE @pais_g varchar(100)
--EMPRESA garante
DECLARE @empresa_garante varchar(100)
DECLARE @telefono_empresa_g varchar(100)
DECLARE @extension_g varchar(100)
DECLARE @rnc_g varchar(100)
DECLARE @rubro_g varchar(100)
DECLARE @web_empresa_g varchar(100)
DECLARE @puesto_garante varchar(100)
DECLARE @fecha_ingreso_g varchar(100)
33
--GARANTIA
DECLARE @id_garantia varchar(100)
DECLARE @descripcion_garantia varchar(100)
DECLARE @tipo_garantia varchar(100)
DECLARE @detalle_garantia varchar(100)
DECLARE @condicion_garantia varchar(100)
--TIPO PRESTAMO
DECLARE @codigo_tipo_prestamo_ varchar(100)
DECLARE @descripcion_tipo_prestamo varchar(100)
--FORMA PAGO
DECLARE @forma_pago varchar(100)
DECLARE @forma_pago_descripcion varchar(100)
DECLARE @cant_dias varchar(100)
DECLARE @dias_gracia varchar(100)
--TIPO MONEDA
DECLARE @tipo_moneda varchar(100)
--TASA
DECLARE @tasa_interes varchar(100)
DECLARE @tipo_monto varchar(100)
nom_sucursal = Xcol.value('(nom_sucursal)[1]','varchar(100)'),--
SUCURSAL
calle = Xcol.value('(calle)[1]','varchar(100)'),
sector = Xcol.value('(sector)[1]','varchar(100)'),
provincia = Xcol.value('(provincia)[1]','varchar(100)'),
municipio = Xcol.value('(municipio)[1]','varchar(100)'),
region = Xcol.value('(region)[1]','varchar(100)'),
pais = Xcol.value('(pais)[1]','varchar(100)'),
telefono_sucursal =
Xcol.value('(telefono_sucursal)[1]','varchar(100)'),
email = Xcol.value('(email)[1]','varchar(100)'),
id_solicitante =
Xcol.value('(id_solicitante)[1]','varchar(100)'),--SOLICITANTE
nombre_solicitante =
Xcol.value('(nombre_solicitante)[1]','varchar(100)'),
apellido_solicitante =
Xcol.value('(apellido_solicitante)[1]','varchar(100)'),
telefono_solicitante =
Xcol.value('(telefono_solicitante)[1]','varchar(100)'),
correo_solicitante =
Xcol.value('(correo_solicitante)[1]','varchar(100)'),
nacionalidad_solicitante =
Xcol.value('(nacionalidad_solicitante)[1]','varchar(100)'),
estado_civil_solicitante =
Xcol.value('(estado_civil_solicitante)[1]','varchar(100)'),
ingresos_solicitante =
[Date]
34
Xcol.value('(ingresos_solicitante)[1]','varchar(100)'),
gastos_solicitante =
Xcol.value('(gastos_solicitante)[1]','varchar(100)'),
sexo_solicitante =
Xcol.value('(sexo_solicitante)[1]','varchar(100)'),
celular_solicitante =
Xcol.value('(celular_solicitante)[1]','varchar(100)'),
fec_nac_solicitante =
Xcol.value('(fec_nac_solicitante)[1]','varchar(100)'),
web_solicitante =
Xcol.value('(web_solicitante)[1]','varchar(100)'),
cantidad_hijos =
Xcol.value('(cantidad_hijos)[1]','varchar(100)'),
identificacion_solicitante =
Xcol.value('(identificacion_solicitante)[1]','varchar(100)'),
tipo_identicacion_solicitante =
Xcol.value('(tipo_identicacion_solicitante)[1]','varchar(100)'),
nivel_educacion =
Xcol.value('(nivel_educacion)[1]','varchar(100)'),
fec_culminacion_est =
Xcol.value('(fec_culminacion_est)[1]','varchar(100)'),
lugar_estudio = Xcol.value('(lugar_estudio)[1]','varchar(100)'),
--DIRECCION SOLICITANTE
calle_s = Xcol.value('(calle_s)[1]','varchar(100)'),
sector_s = Xcol.value('(sector_s)[1]','varchar(100)'),
provincia_s = Xcol.value('(provincia_s)[1]','varchar(100)'),
municipio_s = Xcol.value('(municipio_s)[1]','varchar(100)'),
region_s = Xcol.value('(region_s)[1]','varchar(100)'),
pais_s = Xcol.value('(pais_s)[1]','varchar(100)'),
empresa_solicitante =
Xcol.value('(empresa_solicitante)[1]','varchar(100)'),--EMPRESA SOLICITANTE
telefono_empresa =
Xcol.value('(telefono_empresa)[1]','varchar(100)'),
extension = Xcol.value('(extension)[1]','varchar(100)'),
rnc = Xcol.value('(rnc)[1]','varchar(100)'),
rubro = Xcol.value('(rubro)[1]','varchar(100)'),
web_empresa = Xcol.value('(web_empresa)[1]','varchar(100)'),
puesto_solicitante =
Xcol.value('(puesto_solicitante)[1]','varchar(100)'),
fecha_ingreso = Xcol.value('(fecha_ingreso)[1]','varchar(100)'),
calle_em = Xcol.value('(calle_em)[1]','varchar(100)'),
sector_em = Xcol.value('(sector_em)[1]','varchar(100)'),
provincia_em = Xcol.value('(provincia_em)[1]','varchar(100)'),
municipio_em = Xcol.value('(municipio_em)[1]','varchar(100)'),
region_em = Xcol.value('(region_em)[1]','varchar(100)'),
pais_em = Xcol.value('(pais_em)[1]','varchar(100)'),
id_oficial = Xcol.value('(id_oficial)[1]','varchar(100)'),--
OFICIAL
nombre_oficial =
Xcol.value('(nombre_oficial)[1]','varchar(100)'),
identificacion_oficial =
Xcol.value('(identificacion_oficial)[1]','varchar(100)'),
telefono_oficial =
Xcol.value('(telefono_oficial)[1]','varchar(100)'),
id_garante = Xcol.value('(id_garante)[1]','varchar(100)'),--
GARANTE
nombre_garante =
[Date]
35
Xcol.value('(nombre_garante)[1]','varchar(100)'),
apellido_garante =
Xcol.value('(apellido_garante)[1]','varchar(100)'),
telefono_garante =
Xcol.value('(telefono_garante)[1]','varchar(100)'),
correo_garante =
Xcol.value('(correo_garante)[1]','varchar(100)'),
nacionalidad_garante =
Xcol.value('(nacionalidad_garante)[1]','varchar(100)'),
estado_civil_garante =
Xcol.value('(estado_civil_garante)[1]','varchar(100)'),
ingresos_garante =
Xcol.value('(ingresos_garante)[1]','varchar(100)'),
gastos_garante =
Xcol.value('(gastos_garante)[1]','varchar(100)'),
sexo_garante =
Xcol.value('(nacionalidad_garante)[1]','varchar(100)'),
celular_garante =
Xcol.value('(celular_garante)[1]','varchar(100)'),
fec_nac_garante =
Xcol.value('(fec_nac_garante)[1]','varchar(100)'),
web_garante = Xcol.value('(web_garante)[1]','varchar(100)'),
cantidad_hijos_g =
Xcol.value('(cantidad_hijos)[1]','varchar(100)'),
identificacion_garante =
Xcol.value('(identificacion_garante)[1]','varchar(100)'),
tipo_identicacion_garante =
Xcol.value('(tipo_identicacion_garante)[1]','varchar(100)'),
nivel_educacion_g =
Xcol.value('(nivel_educacion)[1]','varchar(100)'),
fec_culminacion_est_g =
Xcol.value('(fec_culminacion_est)[1]','varchar(100)'),
lugar_estudio = Xcol.value('(lugar_estudio)[1]','varchar(100)'),
--DIRECCION GARANTE
calle_g = Xcol.value('(calle_g)[1]','varchar(100)'),
sector_g = Xcol.value('(sector_g)[1]','varchar(100)'),
provincia_g = Xcol.value('(provincia_g)[1]','varchar(100)'),
municipio_g = Xcol.value('(municipio_g)[1]','varchar(100)'),
region_g = Xcol.value('(region_g)[1]','varchar(100)'),
pais_g = Xcol.value('(pais_g)[1]','varchar(100)'),
empresa_garante =
Xcol.value('(empresa_garante)[1]','varchar(100)'),--EMPRESA GARANTE
telefono_empresa_g =
Xcol.value('(telefono_empresa_g)[1]','varchar(100)'),
extension_g = Xcol.value('(extension_g)[1]','varchar(100)'),
rnc_g = Xcol.value('(rnc_g)[1]','varchar(100)'),
rubro_g = Xcol.value('(rubro_g)[1]','varchar(100)'),
web_empresa_g = Xcol.value('(web_empresa_g)[1]','varchar(100)'),
puesto_garante =
Xcol.value('(puesto_garante)[1]','varchar(100)'),
fecha_ingreso_g =
Xcol.value('(fecha_ingreso_g)[1]','varchar(100)'),
calle_em_g = Xcol.value('(calle_em_g)[1]','varchar(100)'),
sector_em_g = Xcol.value('(sector_em_g)[1]','varchar(100)'),
provincia_em_g =
Xcol.value('(provincia_em_g)[1]','varchar(100)'),
municipio_em_g =
Xcol.value('(municipio_em_g)[1]','varchar(100)'),
region_em_g = Xcol.value('(region_em_g)[1]','varchar(100)'),
[Date]
36
pais_em_g = Xcol.value('(pais_em_g)[1]','varchar(100)'),
id_garantia = Xcol.value('(id_garantia)[1]','varchar(100)'),--
GARANTIA
descripcion_garantia =
Xcol.value('(descripcion_garantia)[1]','varchar(100)'),
tipo_garantia = Xcol.value('(tipo_garantia)[1]','varchar(100)'),
detalle_garantia =
Xcol.value('(detalle_garantia)[1]','varchar(100)'),
condicion_garantia =
Xcol.value('(condicion_garantia)[1]','varchar(100)'),
codigo_tipo_prestamo =
Xcol.value('(codigo_tipo_prestamo)[1]','varchar(100)'),--TIPO PRESTAMO
descripcion_tipo_prestamo =
Xcol.value('(descripcion_tipo_prestamo)[1]','varchar(100)'),
forma_pago = Xcol.value('(forma_pago)[1]','varchar(100)'),--
FORMA PAGO
forma_pago_descripcion =
Xcol.value('(forma_pago_descripcion)[1]','varchar(100)'),
cant_dias = Xcol.value('(cant_dias)[1]','varchar(100)'),
dias_gracia = Xcol.value('(dias_gracia)[1]','varchar(100)'),
tipo_moneda = Xcol.value('(tipo_moneda)[1]','varchar(100)'),--
TIPO MONEDA
tasa_interes = Xcol.value('(tasa_interes)[1]','varchar(100)'),--
TASA
tipo_monto = Xcol.value('(tipo_monto)[1]','varchar(100)')
FROM @xml.nodes('/row') as XTable(Xcol)
OPEN cursor_
FETCH NEXT FROM cursor_ INTO
--SOLICITUD
@id_solicitud,
@fecha_solicitado,
@monto_solicitado,
@plazo,
@concepto,
--SUCURSAL
@nom_sucursal,
@calle,
@sector,
@provincia,
@municipio,
@region,
@pais,
@telefono_sucursal,
@email,
--SOLICITANTE
@id_solicitante,
@nombre_solicitante,
@apellido_solicitante,
@telefono_solicitante,
@correo_solicitante,
@nacionalidad_solicitante,
@estado_civil_solicitante,
@ingresos_solicitante,
[Date]
37
@gastos_solicitante,
@sexo_solicitante,
@celular_solicitante,
@fec_nac_solicitante,
@web_solicitante,
@cantidad_hijos,
@identificacion_solicitante,
@tipo_identicacion_solicitante,
@nivel_educacion,
@fec_culminacion_est,
@lugar_estudio,
--DIRECCION
@calle_s,
@sector_s,
@provincia_s,
@municipio_s,
@region_s,
@pais_s,
--EMPRESA SOLICITANTE
@empresa_solicitante,
@telefono_empresa,
@extension,
@rnc,
@rubro,
@web_empresa,
@puesto_solicitante,
@fecha_ingreso,
--DIRECCION EMPRESA
@calle_em,
@sector_em,
@provincia_em,
@municipio_em,
@region_em,
@pais_em,
--OFICIAL
@id_oficial,
@nombre_oficial,
@identificacion_oficial,
@telefono_oficial,
--GARANTE
@id_garante,
@nombre_garante,
@apellido_garante,
@telefono_garante,
@correo_garante,
@nacionalidad_garante,
@estado_civil_garante,
@ingresos_garante,
@gastos_garante,
@sexo_garante,
@celular_garante,
@fec_nac_garante,
@web_garante,
@cantidad_hijos,
@identificacion_garante,
@tipo_identicacion_garante,
[Date]
38
@nivel_educacion,
@fec_culminacion_est,
@lugar_estudio,
--DIRECCION GARANTE
@calle_g,
@sector_g,
@provincia_g,
@municipio_g,
@region_g,
@pais_g,
--EMPRESA GARANTE
@empresa_garante,
@telefono_empresa_g,
@extension_g,
@rnc_g,
@rubro_g,
@web_empresa,
@puesto_garante,
@fecha_ingreso_g,
--DIRECCION EMPRESA
@calle_em_g,
@sector_em_g,
@provincia_em_g,
@municipio_em_g,
@region_em_g,
@pais_em_g,
--GARANTIA
@id_garantia,
@descripcion_garantia,
@tipo_garantia,
@detalle_garantia,
@condicion_garantia,
--TIPO PRESTAMO
@codigo_tipo_prestamo_,
@descripcion_tipo_prestamo,
--FORMA PAGO
@forma_pago,
@forma_pago_descripcion,
@cant_dias,
@dias_gracia,
--TIPO MONEDA
@tipo_moneda,
--TASA
@tasa_interes,
@tipo_monto
39
WHILE @@FETCH_STATUS = 0
BEGIN
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-
--datos del prestatario
exec @codigo_usuario_solicitante = dbo.Insert_Entidad
@id_solicitante,@nombre_solicitante,1
exec @id_telefono_solicitante= dbo.Insert_Telefono
0,@telefono_solicitante,'',1
exec dbo.Insert_EntidadVsTelefono
@codigo_usuario_solicitante,@id_telefono_solicitante
exec @codigo_usuario_solicitante = dbo.Insert_DatosPersonales
@id_solicitante,@apellido_solicitante,@nacionalidad_solicitante,@fec_nac_solicitante,@sex
o_solicitante,@estado_civil_solicitante,'estandar',@cantidad_hijos,@ingresos_solicitante,
@gastos_solicitante,@nivel_educacion,'',@fec_culminacion_est,@lugar_estudio,1
--datos de la garantia
exec @codigo_garantia = dbo.insertar_garantia
@id_garantia,@descripcion_garantia,@detalle_garantia,@tipo_garantia,@condicion_garantia
[Date]
40
--datos de tasa
exec @codigo_tasa = dbo.insertar_tasa @tasa_interes,@tipo_monto,1
--datos de la moneda
exec @id_tipo_moneda = dbo.Insert_TipoRegistro
0,@tipo_moneda,'MONEDA',1
--datos sucursal
exec @id_sucursal = dbo.Insert_Entidad 0,@sucursal,1
exec @id_telefono_sucursal= dbo.Insert_Telefono
0,@telefono_sucursal,'',1
exec dbo.Insert_EntidadVsTelefono
@id_sucursal,@id_telefono_sucursal
--datos de la solicitud
IF(@id_solicitud<=0)
BEGIN
SELECT @id_solicitud=MAX(id_solicitud) from solicitud_prestamo
if @id_solicitud is null set @id_solicitud=0
set @id_solicitud = @id_solicitud + 1
end
if not exists (select id_solicitud from solicitud_prestamo where
id_solicitud=@id_solicitud)
begin
insert into solicitud_prestamo
values(@id_solicitud,getdate(),@monto_solicitado,@plazo,@concepto,@id_sucursal,@codigo_us
uario_solicitante,@codigo_usuario_empleado,@codigo_usuario_garante,@codigo_garantia,@codi
go_tasa,@codigo_forma_pago,@id_tipo_moneda,@codigo_tipo_prestamo)
end
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@--
FETCH NEXT FROM cursor_ INTO
--SOLICITUD
@id_solicitud,
@fecha_solicitado,
@monto_solicitado,
@plazo,
@concepto,
--SUCURSAL
[Date]
41
@nom_sucursal,
@calle,
@sector,
@provincia,
@municipio,
@region,
@pais,
@telefono_sucursal,
@email,
--SOLICITANTE
@id_solicitante,
@nombre_solicitante,
@apellido_solicitante,
@telefono_solicitante,
@correo_solicitante,
@nacionalidad_solicitante,
@estado_civil_solicitante,
@ingresos_solicitante,
@gastos_solicitante,
@sexo_solicitante,
@celular_solicitante,
@fec_nac_solicitante,
@web_solicitante,
@cantidad_hijos,
@identificacion_solicitante,
@tipo_identicacion_solicitante,
@nivel_educacion,
@fec_culminacion_est,
@lugar_estudio,
--DIRECCION
@calle_s,
@sector_s,
@provincia_s,
@municipio_s,
@region_s,
@pais_s,
--EMPRESA SOLICITANTE
@empresa_solicitante,
@telefono_empresa,
@extension,
@rnc,
@rubro,
@web_empresa,
@puesto_solicitante,
@fecha_ingreso,
--DIRECCION EMPRESA
@calle_em,
@sector_em,
@provincia_em,
@municipio_em,
@region_em,
@pais_em,
--OFICIAL
@id_oficial,
@nombre_oficial,
@identificacion_oficial,
[Date]
42
@telefono_oficial,
--GARANTE
@id_garante,
@nombre_garante,
@apellido_garante,
@telefono_garante,
@correo_garante,
@nacionalidad_garante,
@estado_civil_garante,
@ingresos_garante,
@gastos_garante,
@sexo_garante,
@celular_garante,
@fec_nac_garante,
@web_garante,
@cantidad_hijos,
@identificacion_garante,
@tipo_identicacion_garante,
@nivel_educacion,
@fec_culminacion_est,
@lugar_estudio,
--DIRECCION GARANTE
@calle_g,
@sector_g,
@provincia_g,
@municipio_g,
@region_g,
@pais_g,
--EMPRESA GARANTE
@empresa_garante,
@telefono_empresa_g,
@extension_g,
@rnc_g,
@rubro_g,
@web_empresa,
@puesto_garante,
@fecha_ingreso_g,
--DIRECCION EMPRESA
@calle_em_g,
@sector_em_g,
@provincia_em_g,
@municipio_em_g,
@region_em_g,
@pais_em_g,
--GARANTIA
@id_garantia,
@descripcion_garantia,
@tipo_garantia,
@detalle_garantia,
@condicion_garantia,
--TIPO PRESTAMO
@codigo_tipo_prestamo_,
@descripcion_tipo_prestamo,
--FORMA PAGO
[Date]
43
@forma_pago,
@forma_pago_descripcion,
@cant_dias,
@dias_gracia,
--TIPO MONEDA
@tipo_moneda,
--TASA
@tasa_interes,
@tipo_monto
END
CLOSE cursor_
DEALLOCATE cursor_
GO
--51) CONTRATO DE PRESTAMO
CREATE PROCEDURE [dbo].[Insert_contrato_prestamo]
(
@id_ent int,
@id_solicitud int,
@fecha_realizado datetime,
@fecha_finalizacion datetime,
@monto_prestamo decimal(18,2),
@id_tipo_moneda int,
@sucursal int,
@codigo_usuario_prestatario int,
@codigo_usuario_oficial int,
@codigo_usuario_garante int,
@concepto varchar(250),
@codigo_forma_pago varchar(1),
@codigo_tasa int,
@codigo_garantia int,
@plazo int,
@tasa_interes decimal(8,2),
@tasa_mora decimal(8,2),
@tasa_comision decimal(8,2),
@tasa_pago_adelantado decimal(8,2),
@tasa_seguro decimal(8,2),
@penalidad_cancelacion decimal(8,2),
@gastos_cierre decimal(8,2),
@terminos_condiciones varchar(250),
@codigo_tipo_prestamo int
)
as
if not EXISTS(SELECT id_ent from contrato_prestamo where id_ent = @id_ent and
codigo_tipo_prestamo = @codigo_tipo_prestamo)
insert into
contrato_prestamo(id_ent,id_solicitud,fecha_realizado,fecha_finalizacion,monto_prestamo,i
d_tipo_moneda,sucursal,codigo_usuario_prestatario,codigo_usuario_oficial,codigo_usuario_g
arante,concepto,codigo_forma_pago,codigo_tasa,codigo_garantia,plazo,tasa_interes,tasa_mor
a,tasa_comision,tasa_pago_adelantado,tasa_seguro,penalidad_cancelacion,gastos_cierre,term
inos_condiciones,codigo_tipo_prestamo)
values(@id_ent,
@id_solicitud,@fecha_realizado,@fecha_finalizacion,@monto_prestamo,@id_tipo_moneda,@sucur
sal,@codigo_usuario_prestatario,@codigo_usuario_oficial,@codigo_usuario_garante,@concepto
,@codigo_forma_pago,@codigo_tasa,@codigo_garantia,@plazo,@tasa_interes,@tasa_mora,@tasa_c
omision,@tasa_pago_adelantado,@tasa_seguro,@penalidad_cancelacion,@gastos_cierre,@termino
s_condiciones,@codigo_tipo_prestamo)
else
UPDATE contrato_prestamo set
[Date]
44
id_ent=@id_ent,id_solicitud=@id_solicitud,fecha_realizado=@fecha_realizado,fecha_finaliza
cion=@fecha_finalizacion,monto_prestamo=@monto_prestamo,id_tipo_moneda=@id_tipo_moneda,su
cursal=@sucursal,codigo_usuario_prestatario=@codigo_usuario_prestatario,codigo_usuario_of
icial=@codigo_usuario_oficial,codigo_usuario_garante=@codigo_usuario_garante,concepto=@co
ncepto,codigo_forma_pago=@codigo_forma_pago,codigo_tasa=@codigo_tasa,codigo_garantia=@cod
igo_garantia,plazo=@plazo,tasa_interes=@tasa_interes,tasa_mora=@tasa_mora,tasa_comision=@
tasa_comision,tasa_pago_adelantado=@tasa_pago_adelantado,tasa_seguro=@tasa_seguro,penalid
ad_cancelacion=@penalidad_cancelacion,gastos_cierre=@gastos_cierre,terminos_condiciones=@
terminos_condiciones,codigo_tipo_prestamo=@codigo_tipo_prestamo Where id_ent = @id_ent
SELECT* From contrato_prestamo Where id_ent = @id_ent and
codigo_tipo_prestamo = @codigo_tipo_prestamo
GO
Conclusión
En conclusión, obtuvimos una base de datos normalizada con datos en las tablas mediante
procedimientos y sub-procedimientos, donde hicimos un análisis de esos datos que pueden
ser utilizados para decisiones de negocio. Durante el desarrollo de este proyecto como
grupo aprendimos a como trabaja un sistema de préstamo en general y también de hacer
procedimientos de inserción masivos en formato XML para llenar la base de datos.
[Date]
45
Además, aprendimos a utilizar la herramienta de análisis de en Excel para así general
gráficos para saber las tendencias del mercado de acuerdo con los datos introducidos en el
sistema.
Bibliografía
46
José Reyes. (2018). REQUISITOS PARA LA ENTREGA TERCER PARCIAL DE
BASE DE DATOS. República Dominicana: UTESA.
Referencias
ANEXOS
[Date]
47
Entrevista a José Manuel Alcántara de P y N inversiones
Garantía
El negocio del prestatario esté funcionando.
Pago
Los pagos se realizan de forma semana a una tasa de interés de un 27% a un 29%. El pago
contas del interés más parte del capital.
Cancelación de préstamo
Se paga el interés
Incumplimiento
Se da un seguimiento presencial al comerciante haciendo un cambio en el acuerdo de pago
aumentando su plazo. En caso de agotar todas las opciones posibles se lleva a juicio.
Rentabilidad
Este negocio le representa una ganancia de más de un 80% al jefe, aunque existe
temporadas bajas.
48
Entrevista a Carmen Hernández del Banco BHD León
Tel: (829) 521-9332
Procesos de Préstamos personales de monto de 20,000 a 200,000 pesos
1. Calificar para el préstamo. Se realiza en el departamento de negocio:
Un representante del banco te a solicitar la cédula y luego hacer una serie de
preguntas como:
A. Tener un empleo con ingresos mensuales demostrable a través de una
cuenta bancaria.
B. Tener un buen historial de préstamos.
C. Capacidad de pago: sus ingresos sean mayor que sus gastos.
D. Se negocia con el cliente el tiempo, monto y tasa del préstamo.
2. Validar la cedula con padrón.
3. Se procede a digitar sus datos que incluye:
a. Nacionalidad
b. Estado civil
c. Dirección
d. Teléfono
e. Dirección del trabajo
f. Teléfono del trabajo
g. Tiempo en el trabajo
h. 2 referencias comerciales
i. 2 referencias personales
j. Si tiene más de una nacionalidad
k. Estado civil
l. Otros…
4. Todo esto va a un equipo de analistas que están divididos en subcategorías:
a. Préstamos personales
b. Préstamos hipotecarios
c. Prestamos vehiculares
d. Préstamos para negocios
e. Entre otros
5. Luego de ser aprobado por los analistas se va a la firma de aprobación hecha por
el presidente del equipo analista designado.
6. Llamar a cliente. Se realiza en servicio al cliente.
7. El cliente pasa a llevar documentos como también firmar:
a. Solicitud.
b. Cedula
c. Estado financiero
d. Pagaré
e. Tabla de amortización
[Date]
49
f. Tarifario
8. Se negocia para una cuenta para depositar el dinero como también para que el
cliente deposite sus pagos. En caso de cancelación se debe de pagar el monto a
la fecha y tener los intereses al día.
Entrevista a encargada de registro de nueva cliente en UTESACOOP (con
información adicionada buscada en la página web)
Tel: (809) 581-1335
Instrucciones para solicitud de préstamos en UTESACOOP
Para solicitar un préstamo de la cooperativa primero se debe ser miembro. Para ser
miembro de la cooperativa se debe seguir lo siguiente:
1. Ser Profesor, empleado o afiliado de UTESA.
2. Ir al local ubicado en la avenida Estrella Sadhalá, Plaza Alejo, Modulo 1-f,
Santiago.
3. Ir al departamento de servicios generales al área de servicio al usuario donde le
atenderá un/a representante.
4. Entregar copia de cedula electoral.
5. Llenar solicitud para afiliación:
a. Referencias (opcional).
b. Datos personales como nombres, apellidos, fecha de nacimiento, dirección,
teléfono, celular, sexo, estado civil, correo electrónico.
c. Información sobre el trabajo, indicando su puesto en la institución UTESA.
d. Indicar cual o cuales personas se le otorgaría el monto de la cuenta en caso
de fallecimiento, este debe esta supervisado por un personal de la
cooperativa.
e. Autorizar e indicar cuanto es el monto que se le descontara de su trabajo.
f. Selección del tipo de servicio que se desea, en este caso una cuenta de ahora
y una cuenta de afiliación para ser socio. Finalmente, la firma de la solicitud.
6. El/la representante de departamento de servicios generales digitara sus datos y luego
le entregara una libreta que debe ser sellada y firmada.
7. Pasar al departamento de créditos y cobro donde se debe pagar un mínimo de 500
pesos, de los cuales: 300 pesos será dirigidos a la cuenta de afiliación y 200 a la
cuenta de ahorro. La cuenta de ahorro es de 3% anual, mientras que la cuenta de
aportación te convierte en inversionista de la cooperativa donde la cuota es anual y
dependerá de cuanto se tiene en la cuenta.
8. Sus datos son enviados al departamento de cómputo para crear su cuenta que puede
ser accedida a través de internet (internet banking), sus datos para el acceso de la
cuenta serán a través de la cuenta de correo.
9. Esperar un plazo de 3 meses como miembro de la cooperativa.
[Date]
50
10. No importando el tipo de préstamos a seleccionar se estudiará la factibilidad de la
solicitud en el área de análisis de crédito donde se verificará su historial crediticio.
11. Siendo aprobado el préstamo el encargado de cobros tomara la tarea de que se
cumpla con los plazos. Si el préstamo es hipotecario o vehicular se pasará por el
departamento legal.
12. Seleccionar el tipo de préstamo a solicitar:
a. Aportaciones: es el tipo de préstamo ordinario al cual tiene derecho el socio
a través de sus aportaciones, para lo cual se aplica el multiplicador de tres
veces el valor de estas.
b. Con garantía de certificados financieros: es el tipo de préstamo
garantizado por los certificados que posea el socio en la cooperativa. Este
tipo de garantía queda pignorada hasta que el socio salde totalmente su
préstamo. La tasa de interés activa será superior en un 4% del valor de la
tasa pasiva pagada. El monto a prestar es del 90% del monto depositado.
c. Préstamos Gerenciales: Es aquel que se toma por un monto máximo de un
90% al aporte acumulado. La Gerencia General procederá a concederlo
directamente siendo refrendado en el próximo Comité de Crédito. Su tasa de
interés será de un 10 % anual.
d. Préstamos Hipotecarios: Son los destinados a la adquisición de solares,
viviendas o locales comerciales. El monto a prestar tendrá como límite 3.5
(tres puntos cinco) millones de pesos y una tasa de un 14% anual. Contará
con un plazo de pago de hasta 15 (quince) años y con un financiamiento de
hasta 70% del valor de la tasación.
e. Préstamos de Consumo: Son préstamos destinados al financiamiento de
artículos personales y del hogar de común acuerdo con casas distribuidoras.
Entran en este renglón electrodomésticos, compras del supermercado,
pasajes aéreos, artículos para vehículos, y todos los artículos personales y
del hogar que se comercialicen. Estos son emitidos mediante órdenes de
compras.
f. Prestamos de vehículos: para ello se necesita dar matricula,
h. Plan Vacacional: Planifica tus viajes y boletos aéreo y disfruta al máximo
sin preocuparte, te facilitamos todo lo que necesitas para que lo vivas en
grande.
i. Plan de Estudios: Son los destinados para financiar: maestrías, postgrados,
doctorados y educación continua para el mejoramiento de la calidad
profesional del socio o dependientes directos.
j. Prestamos de urgencia médica: Cobertura de gastos médicos no cubiertos
por el seguro. Para avalar su solicitud debe presentar factura del centro
médico proveedor del servicio. La tasa será a un 10% anual.
[Date]
51
PROPUESTA ORIGINAL DEL SISTEMA DE GESTIÓN DE PRÉSTAMOS
Descripción
Este programa facilita las gestiones de préstamos para los prestamistas ya que está diseñado
para ser manejado por una sola persona, pero si desea agregar más personas usted tiene la
potestad de darle privilegios de administrador o no.
Este sistema de préstamos para prestamistas le permite un completo control del préstamo
otorgado. Cuenta con diferentes reportes con gran cantidad de opciones. Se podrá gestionar
con facilidad, dar seguimiento y control de cobranzas. Reduce los tiempos de gestión con
un software de uso amigable y se adapta a las necesidades de los prestamistas
independientes.
El sistema propuesto tiene como alcance principal el poder cubrir las actividades
relacionada a préstamos realizados por financieros informales además de poder crear un
registro de los préstamos realizados por personas las cuales no figuran en el buró de crédito
nacional (Data Crédito). Podrá consultar el estado relacionado a los prestamos actuales o el
historial de crédito de los prestatarios para realizar transacciones financieras con un mayor
nivel de credibilidad y seguridad.
Objetivos
General
[Date]
52
Gestionar información y mantener un registro de los préstamos interpersonales para así
tener un control diario de las operaciones realizadas.
Específicos
Tener historial de pagos.
Proporcionar informaciones relevantes para la toma de decisiones posteriores del
usuario basado en la información financiera proporcionadas por los mismos.
Adaptarse a las necesidades de los prestamistas independientes de forma amigable
con una interfaz flexible y fácil de manejar para facilitar una mejor gestión en su
uso.
Objeto de negocio
El sistema de préstamos informales ha de abarcar: Prestamos de vehículos, hipotecarios y
con garante si es de alto monto, prestamos bajo interés si es de plazo y el monto son bajo,
sin necesidad de garantía, inversión al negocio creciente de los préstamos de parte de
personas que desea invertir y generación de puesto de trabajo como abogados para caso de
realización de contratos legales y mensajero en caso de que el prestatario no tenga cuenta
bancaria se le enviara el dinero con un mensajero de la empresa.
Beneficios
Este sistema ha de ser beneficio debido a que llena el hueco existente en el área de
préstamos informales que hasta la fecha se han de ser realizadas de persona a persona,
permitiendo una automatización del proceso que puede ser realizado sin la necesidad de
salir de su propio hogar.
Este sistema está dirigido a la clase trabajadora que usualmente al pedir un préstamo en el
banco lo rechazan por sus bajos ingresos, pero necesita solucionar compromisos
económicos, sea pagar servicios, factura o estudio, como también de utilizarlo para
emprender. Todas estas ventajas sin la necesidad de cumplir con los tantos requisitos de
cualquier banco o cooperativa.
53
sistema describimos a esta como un medio donde se podían comunicar una persona,
prestatario, con un tercero, prestamista, de acuerdo con diversos parámetros establecidos al
momento del registro y que luego ellos se pusieran en comunicación para hacer el
préstamo. En ese sentido, nuestro sistema solo les diera continuidad a los pagos y otros
aspectos de ese sentido, pero no estuviera tan involucrado en la formalización del préstamo
en sí. Pero al estar mejor documentados e informados decidimos que es mejor en términos
de seguridad ser el prestamista, es decir, nosotros somos lo que otorgamos los préstamos y
quien ingresa a nuestro sistema con objetivos de prestar lo hará en forma de inversionista,
aspecto que habíamos contemplado anteriormente en la propuesta.
54
14. ¿Cuáles son tipos de préstamos más realizados el año x?
15. ¿Quién posee el préstamo con mayor monto en el año X en estado x?
16. ¿Cuantos préstamos x fueron solicitado en x fecha?
17. ¿Cuántos préstamos fueron saldados en x fecha de x amortización?
18. ¿Cuántos clientes solicitaron prestamos x en x fecha?
19. ¿Cuál es la cantidad de préstamos saldada actualmente?
20. ¿Cuánto es la mora total de los préstamos en el año pasado?
AILYN A. GARCIA
21. ¿Cuáles son las ocupaciones de los clientes que viven en la ciudad x con préstamos
con mora?
22. ¿Cuáles son las formas de pago más utilizado para pagar los préstamos de tipo x en
la fecha x?
23. ¿Cuántos prestamos de x ciudad y de x fecha no deben mora?
24. ¿La cantidad de préstamos con garante con préstamos activo actualmente?
25. ¿Cuántos contrato de préstamos fueron aplazado desde la fecha x hasta la fecha x?
26. ¿Cuáles son los días que las personas de x edad de x genero de x región realiza
pagos con mayor frecuencia?
27. ¿Cuál es el promedio de atrasos de pagos de las personas de x edad de x genero de x
religión?
28. ¿cuál es el método de pago (efectivo, tarjeta o cheque) más usada para realizar los
pagos por los clientes de x genero de x edad de x zona?
29. ¿Cuáles son las personas con menos solicitudes de préstamos por edad, sexo,
religión, zona, nivel de educación, estado civil?
Alvin Castillo
30. ¿Cuáles son los meses con más solicitudes de préstamos de personas de x edad, de x
género, de x zona, de x religión?
31. ¿Cuál es el interés total ganado a x tipo de préstamo a x fecha a x clientes de x
género?
32. ¿Cuál es la tasa de interés promedio de los clientes de x edad de x genero de x zona?
33. ¿Cuál es el tipo de garantía más usada por los clientes de x edad, de x genero de x
zona con ingresos menores a x?
[Date]
55
34. ¿Cuáles son los tipos de amortización más usados por los clientes de edad x, de
género x, de x estado civil, de x nivel de educación?
35. ¿Cuál es el tipo de moneda más usada en un préstamo en x fecha?
36. ¿Cuántos pagos se realizaron en x fecha por clientes de x edad, de x género?
37. ¿Cuáles son los tipos de préstamos, con x tipo de amortización con mayor número
de cuotas?
38. ¿Cuáles son los clientes con mayor cantidad de atrasos en los pagos de x edad, de x
genero de, x zona?
39. ¿Cuántas solicitudes fueron rechazadas en x fecha, en x zona?
40. ¿Cuál ha sido el cliente que ha solicitado más préstamos personales en el año X en
X (ciudad)?
56
3. ¿Cuántos clientes con préstamos mayor a x monto tiene un nivel de educación?
4. ¿Cuáles prestamos son más solicitado por clientes de sector x en tal fecha?
6. ¿Cuáles son los prestamos realizados y su monto en los primeros 2 cuartos del año
en curso?
[Date]
57
7. ¿Cuáles son los préstamos realizados por empresas con monto mayor a 20,000
pesos del año actual?
8. ¿Cuáles son los montos de los préstamos x realizados por año por personas de sexo
masculino?
58
12. ¿Cuánto es la cantidad de pago atrasado por clientes?
13. ¿Cuáles los clientes cuya suma de los préstamos realizado es mayor a 50,000$ y
menor de 100,000$?
59
15. ¿Quién posee el préstamo con mayor monto en el año X en estado x?
60
20. ¿Cuánto es la mora total de los préstamos en el año pasado?
[Date]
61
Diagramas de procesos
[Date]
62
[Date]
63
[Date]
64
[Date]
65
[Date]
66
[Date]
67
Diagrama de flujo de proceso y datos (circular)
[Date]
68
PLANTILLAS
[Date]
69
Formularios
1. Solicitud de Préstamo
2. Contrato
3. Análisis de riesgo crediticio
4. Pago
5. Nota de crédito
6. Cancelación de crédito
7. Notificación de pago atrasado
8. Solicitud de aplazamiento
9. Modificación de contrato
10. Carta notarial por incumplimiento del contrato
11. Finalización del contrato y devolución de la garantía
1. Insert_solicitud_prestamo
2. Insert_contrato_prestamo
3. Relacionar_estadoVscontrato
4. Accion_realizar_pago
5. Accion_realizar_pago
6. Relacionar_estadoVscontrato
7. Insertar_pago_atrasados
8. Accion_solicitud_aplazamiento
9. Insert_contrato_prestamo
10. Relacionar_estadoVscontrato
11. Relacionar_estadoVscontrato , insertar_garantia (staus false)
[Date]
70
1. Solicitud de Préstamo
SOLICITUD DE PRETSAMO
Fecha: 01/04/2018
PRESTAMOS DB CxA Hora: 4:23
TEL: 809-641-6358 SUCURSAL: SANTIAGO
EMAIL: PRESTAMOS_DB@COOP.COM DIRECCION: Ave. Circunvalación, Santiago , RD
DATOS DE ESTUDIO
NIVEL DE EDUCACION
FEC DE CULMINAION LUGAR DE ESTUDIO
DIRECCION DE LA EMPRESA
CALLE NO. CALLE
SECTOR MUNICIPIO
PROVINCIA REGION
PAIS
INFORMACION DE LA GARANTIA
DESCRIPCION DETALLE
TIPO DE GARANTIA
[Date]
CONTRATO
Fecha: 01/04/2018
PRESTAMOS DB CxA Hora: 4:23
TEL: 809-641-6358 SUCURSAL: SANTIAGO
EMAIL: PRESTAMOS_DB@COOP.COM DIRECCION: Ave. Circunvalación, Santiago , RD
[Date]
72
3. Análisis de riesgo crediticio
Fecha: 01/04/2018
PRESTAMOS DB CxA Hora: 4:23
TEL: 809-641-6358 SUCURSAL: SANTIAGO
EMAIL: PRESTAMOS_DB@COOP.COM DIRECCION: Ave. Circunvalación, Santiago , RD
INFORMACION DE LA GARANTIA
DESCRIPCION DETALLE
TIPO DE GARANTIA TASACION
CONDICION
METODOS DE PAGO
METODO DE PAGO OTRO METODO DE
USUAL PAGO
HISTORIAL CREDITICIO
ESTADO CREDITICIO DEL SOLICITANTE
ESTADO CREDITICIO DEL GARANTE
ESTADO DE LA SOLICITUD
73
4. Pago
[Date]
74
5. Nota de crédito
NOTA CREDITO
Fecha: 01/04/2018
PRESTAMOS DB CxA Hora: 4:23
TEL: 809-641-6358 SUCURSAL: SANTIAGO
EMAIL: PRESTAMOS_DB@COOP.COM DIRECCION: Ave. Circunvalación, Santiago , RD
TITULAR
NOTA
NO. CONTRATO
MONTO TOTAL
CUOTAS PAGADAS
CUOTAS PENDIENTES
[Date]
75
6. Cancelación de crédito
[Date]
76
8. Solicitud de aplazamiento
9. Modificación de contrato
[Date]
77
10. Carta notarial por incumplimiento del contrato
[Date]
78