Buenas quisiera por favor me den luz... les comento estoy desarrollando un sistema de nomina y pretendo automatizar la amortización de los prestamos de cada uno de los empleados de la empresa donde trabajo. Programo en
PHP Bajo
MySQL. (
Humildemente digo que no me siento tan novato en PHP ni MySQL, pero pues estoy aquí necesitando ayuda, la que me puedan brindar). Estoy muy agradecido por los colaboradores que han venido despejando dudas con sus conocimientos a aquellas personas que lo han necesitado, Yo hace tiempos vengo aprendiendo a través de estos foros, y a partir de hoy participo pidiendo sus conocimientos, es mi primera vez, pero espero solucionar mi problema.
Bueno les comento tengo una tabla
prestamos donde capturo los siguientes campos:
Código MySQL:
Ver originalCampo Tipo Cotejamiento Atributos Nulo Predeterminado Extra
tip_prestamo
varchar(5) utf8_general_ci
No None
cod_prestamo
varchar(25) utf8_general_ci
No None
fecha_inicial
date No 0000-00-00 fecha_final
date No 0000-00-00 no_credito
varchar(30) utf8_general_ci
No None
como se pueden dar cuenta la empresa paga en dos períodos quincenales.
Necesito por favor me aclaren de como debo hacer un procedimiento almacenado donde se registre el valor del pago efectuado y que este a su vez debe ir acorde con las cuotas programadas, que se generará una vez ingresado el crédito al sistema nomina para ello tengo otra tabla
plan_pagos con los siguientes campos:
Código MySQL:
Ver originalCampo Tipo Cotejamiento Atributos Nulo Predeterminado Extra
id_usuario
int(11) No None
tip_prestamo
varchar(5) utf8_general_ci
No None
cod_prestamo
varchar(25) utf8_general_ci
No None
no_credito
varchar(30) utf8_general_ci
No None
cons_cuota
int(11) No None
valor_cuota
int(11) No None
valor1_pago_cta
int(11) No None
valor2_pago_cta
int(11) No None
saldo_cuota
int(11) No None
fecha1_pago_cta // fecha de pago en la primera quincena valor1_pago_cta // valor pagado en la primera quincena fecha2_pago_cta // fecha de pago en la segunda quincena valor2_pago_cta // valor pagado en la segunda quincena saldo_cuota // este valor debería ser cero después de la segunda quincena flag_pago // campo tipo bit con valor cero si esta pagada la cuota y valor uno si esta pendiente de pago o tiene saldo
Requiero que para pago el procedimiento almacenado buscará en la tabla
plan_pagos donde el número del crédito = ncredito y flag_pago = 1 ordenado por fecha propuesta de pago.
La idea sería algo así:
// Fecha y pago de la quincena 1uno:
Si diafecha>=1 y diafecha=<15 entonces
Leerregistro
Modificar fecha1_pago_cta = fecha
Modificar valor1_pago_cta = pago
Modificar saldo_cuota = Valor de la cuota-pago
Si saldo_cuota = 0 entonces
Modificar flag_pago = 0
finsi
finsi
// Fecha y pago de la quincena dos:
Si diafecha>15 y diafecha<31 entonces
Leerregistro
Modificar fecha2_pago_cta = fecha
Modificar valor2_pago_cta = pago
Modificar saldo_cuota = Valor de la cuota-pago
Si saldo_cuota = 0 entonces
Modificar flag_pago = 0
finsi
finsi
Y esto es apenas lo que llevo del procedmiento almacenado:
Código MySQL:
Ver originalDELIMITER $$
IFNULL(sum(prestamos.valor_cuota_2
),0) AS total_cuotas_2
ON usuarios.id_usuario
= prestamos.id_usuario
WHERE usuarios.estado
= 1 AND usuarios.per_nomina
= 'S'; SET pago_actual_1
= pago_actual_1
+ (suma
);
WHERE usuarios.no_credito
= numero_credito
AND usuarios.id_usuario
= pagador_actual
;
UPDATE plan_pagos
SET saldo_cuota
= saldo_cuota
+ pago_actual_1
WHERE usuarios.no_credito
= numero_credito
AND usuarios.id_usuario
= pagador_actual
; INSERT INTO plan_pagos
(no_credito
, plan_pagos.id_usuario
, saldo_cuota
) VALUES (plan_pagos.numero_credito
, pagador_actual
, valor1_pago_cta
);
Sé que me falta para que me cálcule las fechas fecha1_pago_cta y fecha2_pago_cta y además terminarlo y es aquí donde les pido los conocimientos necesarios para ayudarmen con esta rutina,
La verdad es que siento que me estoy complicando la vida, pero quisiera realizar poder realizar esto con ayuda de ustedes utilizando un solo procedimiento almacenado con llamado desde un trigger que podría ser algo así:
Código MySQL:
Ver originalDELIMITER $$
CALL sp_pagos
(pagador_actual
, numero_credito
); DELIMITER ;
Esto es todo, de una manera atenta espero ayuda de ustedes.
Prometo participar en lo que esté a mi alcance. Gracias desde ya señores.