sábado, 28 de septiembre de 2019

Correccion de primera parte del proyecto

Hora de inicio 1:23pm

Empece por completar una carga de datos hecha correctamente (ordenada y entendible) esto debido a que la carga de datos que utiliza Austin es distinta a la carga de datos que debo hacer yo, esto es porque por alguna razon que desconocemos la utilizacion de tablas temporales para cargar los datos no funciona en mi computadora. A continuacion el codigo de lo que hice:

--------------------------EMPIEZA la insercion en las tablas que no son temporales

--Inserta Moneda
Insert INTO Moneda
SELECT TM.Nombre, TM.Simbolo
FROM TMoneda TM

--Inserta TipoCuentaAhorro
Insert INTO TipoCuentaAhorro
SELECT Moneda.id, TCuenta.Nombre, TCuenta.SaldoMinimo, TCuenta.MultaSaldoMinimo,
        TCuenta.MontoMensual, TCuenta.Retiros, TCuenta.SimMoneda, TCuenta.RetirosCajero,
        TCuenta.TasaIntereses
FROM Moneda, TCuenta
Where Moneda.Simbolo = TCuenta.SimMoneda
   
--Inserta Parentesco
Insert INTO Parentesco
SELECT TP.Nombre, TP.Detalle
FROM TParentesco TP

--Inserta TipoID
Insert INTO TipoID
SELECT TID.Nombre
FROM TTipoId TID

--Inserta Cliente
Insert INTO Cliente
SELECT TipoID.id, TCliente.FechaNacimiento, TCliente.Usuario, TCliente.Password, TCliente.TipoDocId,
        TCliente.DocID, TCliente.Email, TCliente.Telefono1, TCliente.Telefono2, TCliente.Nombre
FROM TipoID, TCliente
Where TipoID.Nombre = TCliente.TipoDocId

--Inserta CuentaAhorro
Insert INTO CuentaAhorro
SELECT TCA.NumCuenta, TCA.Saldo, TipoCuentaAhorro.id, Cliente.id
FROM TCA, TipoCuentaAhorro, Cliente
Where TipoCuentaAhorro.Nombre = TCA.IdTipoCA
AND Cliente.Documento_Identificacion = TCA.IdCliente

--Inserta CuentaObjeto
Insert INTO CuentaObjeto
SELECT CuentaAhorro.id, TObjeto.Saldo, TObjeto.FechaInicio, TObjeto.FechaFinal,
        TObjeto.MontoAhorro, TObjeto.NumCuenta
FROM CuentaAhorro, TObjeto
Where CuentaAhorro.Numero_Cuenta = TObjeto.NumCuenta

--Inserta EstadoCuenta
Insert INTO EstadoCuenta
SELECT CuentaAhorro.id, TEstado.FechaInicio, TEstado.FechaFinal, TEstado.SaldoInicial,
        TEstado.SaldoFinal, TEstado.Intereses, TEstado.NumCuenta
FROM CuentaAhorro, TEstado
Where CuentaAhorro.Numero_Cuenta = TEstado.NumCuenta

--Inserta Beneficiario
Insert INTO Beneficiario
SELECT CuentaAhorro.id, Parentesco.id, TipoID.id, TBeneficiario.Nombre, TBeneficiario.Parentesco,
        TBeneficiario.PorcentajeBeneficio, TBeneficiario.Activo, TBeneficiario.FechaDesactivo,
        TBeneficiario.TipoDocId, TBeneficiario.DocID, TBeneficiario.Email, TBeneficiario.Telefono1,
        TBeneficiario.Telefono2, TBeneficiario.NumCuenta
FROM CuentaAhorro, Parentesco, TipoID, TBeneficiario
Where CuentaAhorro.Numero_Cuenta = TBeneficiario.NumCuenta
AND Parentesco.Nombre = TBeneficiario.Parentesco
AND TipoID.Nombre = TBeneficiario.TipoDocId

-----------------------------------TERMINA la insercion de los datos a las tablas


Cree un algoritmo para limpiar  mi base datos (antes lo hacia borrando las tablas una por una), es decir para borrar todas las tablas que tiene la base de datos esto para poder crearla de nuevo y cargar de nuevo los datos. A continuacion el codigo):

ALTER PROCEDURE [dbo].[CASP_LimpiarBaseDatos]
AS
BEGIN
    SET NOCOUNT ON

    BEGIN TRY
        drop table dbo.Beneficiario
        drop table dbo.EstadoCuenta
        drop table dbo.CuentaObjeto
        drop table dbo.CuentaAhorro
        drop table dbo.Cliente
        drop table dbo.TipoID
        drop table dbo.Parentesco
        drop table dbo.TipoCuentaAhorro
        drop table dbo.Moneda
    END TRY

    BEGIN CATCH
        return @@ERROR * -1
    END CATCH
END


Por ultimo se modifico el SP: CASP_ActualizarBeneficiario, ya que anteriormente solo se podian actualizar porcentajes de forma que siempre la suma de los porcentajes de los beneficiarios de una cuenta sumaran 100, ahora estos pueden sumar menos o igual a 100 pero no más.
Tambien estaba el problema de que no se podia modifiar el nombre, la identificacion o el tipo de identificacion de los usuarios, ahora se puede cambiar toda esa informacion y la que anteriormente se podia cambiar.
No se va a mostrar el codigo porque es muy extenso.

Hubo complicaciones con las validaciones de que el beneficiario al que modificara fuera precisamente el que queria modificar.

Hora de finalizacion de lo anterior: 5:34pm

Horas en total: 4 horas y 11 minutos

No hay comentarios:

Publicar un comentario