Entradas

Mostrando las entradas de noviembre, 2024

Sesion #15

 Duración 9 horas 1:00pm - 10:00pm Se finaliza con todos los aspectos pendientes del proyecto. Desde las funcionalidades faltantes hasta mejoras y/o correcciones en las ya existentes.  Esta sesión tan larga nos fuimos turnando para comer y/o descansar. Para poder terminar el proyecto hoy mismo. Se trabaja en los siguientes puntos: -Sub Estados de Cuenta -Creacion de un par de tablas nuevas que eran necesarias para la creacion del trigger y de la parte de los sub estados de cuenta. -Trigger  - Mejoras y correciones en la parte web Adjunto parte del codigo escrito: ALTER PROCEDURE [dbo].[SP_GenerarSubEstadoCuentaAdicional] AS BEGIN     SET NOCOUNT ON ;     BEGIN TRY         -- Variables de fechas         DECLARE @fecha_corte DATE = GETDATE ();         -- Insertar sub-estados de cuenta para cada cuenta adicional en la tabla SubEstadoCuenta         INSERT INTO SubEsta...

Sesion #14

Duración 4 horas 2:00pm - 6:00pm  Se crean dos funciones para calcular intereses tanto corrientes como moratorios, además se crea el SP para generar estados de cuenta con una fecha en concreto. Adjunto scripts de lo realizado. InteresesMoratorio CREATE FUNCTION FN_CalcularInteresMoratorio (     @tipo_tcm INT ,     @saldo_pendiente DECIMAL ( 18 , 2 ) ) RETURNS DECIMAL ( 18 , 2 ) AS BEGIN     DECLARE @interes_mora DECIMAL ( 5 , 2 );     -- Determinar la tasa de interés moratoria según el tipo de cuenta     SET @interes_mora = CASE         WHEN @tipo_tcm = 1 THEN 5 . 0   -- Oro         WHEN @tipo_tcm = 2 THEN 5 . 0   -- Platino         WHEN @tipo_tcm = 3 THEN 6 . 0   -- Corporativo         ELSE 0     END ;     -- Calcular el interés moratorio sobre el saldo pendiente     RETURN @saldo_pend...

Sesion #13

 Duracion 2 horas 10:00am - 12:00 md Después de la explicación nuevamente del profesor y con la plantilla de evaluación nos dimos cuenta que nos falta muchas cosas y necesitamos replantear muchas cosas, por lo que hoy nos dedicamos a analizar lo ya hecho y ver que realmente necesitamos y después plantear las pruebas de concepto para lo demás. No se puede trabajar mas hoy por pendientes de otros cursos de los integrantes del equipo de trabajo.

Sesion #12

Imagen
 Duración 3 horas 1:00pm - 4:00pm Se trabaja en la vista de las cuentas del tarjeta habiente, obteniendo algo asi cuando colocamos el documento ID: Entonces nos indica lo primordial de la cuenta Ademas se crea un SP relacionado que crea el contenido de la imagen anterior. CREATE PROCEDURE SP_ObtenerCuentasPorTarjetahabiente     @documento_identidad NVARCHAR ( 20 ) AS BEGIN     DECLARE @idTarjetahabiente INT ;     SET @idTarjetahabiente = ( SELECT id                               FROM Tarjetahabiente                               WHERE documento_identidad = @documento_identidad);     SELECT *     FROM VistaCuentasTarjetahabiente     WHERE TarjetahabienteID = @idTarjetahabiente; END ; Codigo de la vista: CREATE VIEW VistaCuentasTarjetahabiente AS SELECT   ...

Sesion #11

 Duracion 2 horas 9:30am - 11:30am Despues de analizar bien que es lo que se pide y que funcionalidades son necesarias para el cumplimiento de lo solicitado. Se borraron varios SPs que no son necesarios. Solo se trabaja en eso, debido a que tuvimos que revisar muy bien para no cometer errores a la hora de eliminar los SPs y asi cumplir con todo.

Sesion #10

Imagen
 Duración 3 horas 1:00pm - 4:00pm Se trabaja en los siguientes Stored Proccedures: Además se empieza con las vistas. Algo muy básico, hasta lograr entender como funcionan realmente. Aunque no estamos seguros que ese de transferencia se necesite... Igual lo que tenemos es la base del sp. como el manejo de errores, los begin y ends y lo de transaction

Sesion #9

 Duración 2,5 horas 12:30 pm - 3:00pm Se terminan con las pruebas de concepto para las funcionalidades que no son Stored Proccedures. Además se hacen mejoras en la parte de la conexión a la BD, como mostrar todos los tarjeta habientes. @ app . route ( '/tarjetahabientes' , methods = [ 'GET' ]) def get_tarjetahabientes ():     conn = get_db_connection ()     cursor = conn . cursor ()     try :         cursor . execute ( """         EXEC [dbo].[getTHs]         """ )         tarjetahabientes = cursor . fetchall ()         res = []         for t in tarjetahabientes :             res . append ({                 'id' : t [ 0 ],                 'nombre' : t [ 1 ],                 'd...

Sesión #8

Imagen
 Duración 4,5 horas 7:30am - 12:00md Se trabaja en 2 Stored Proccedures distintos, además se revisa las actualizaciones que adjuntaron en el archivo de Operaciones. Se logra el ingreso de los datos a las tablas respectivas, a espera de las actualizaciones que indican los compañeros de los datos. Nos enfrentamos a varios problemas que no sabiamos como corregir por lo que se dura mas de lo esperado. Los Stored Proccedures que se trabajan son los de  SP_ProcesarInteresesCorrientes SP_ProcesarInteresesMoratorios Adjunto codigo: CREATE PROCEDURE [dbo].[SP_AplicarInteresCorriente]     @id_tcm INT ,     @OutResulTCode INT OUTPUT AS BEGIN     SET NOCOUNT ON ;     BEGIN TRY         SET @OutResulTCode = 0 ;         DECLARE @monto_interes DECIMAL ( 18 , 2 );         SET @monto_interes = 4 ;   -- Cálculo de interés         INSERT INTO dbo.InteresCorrien...

Sesion #7

 Duración 3,5 horas 5:30pm - 9:00pm Se inicia con el servidor en Python con Flask adjunto funciones principales. from datetime import datetime from flask import Flask , jsonify , redirect , render_template , request , url_for import pyodbc from flask_cors import CORS app = Flask ( __name__ ) CORS ( app ) # Configuración de la conexión a la base de datos def get_db_connection ():     connection = pyodbc . connect (         'DRIVER={ODBC Driver 17 for SQL Server};'         #'SERVER=ERICKPC;'         'SERVER=JESUSPC;'         'DATABASE=proyecto3;'         'UID=sa;'         'PWD=12345678'     )     return connection @ app . route ( '/' ) def index ():     return render_template ( 'login.html' ) @ app . route ( '/login' , methods = [ 'GET' ]) def login ():     username = request . args . get ( 'usu...