Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BEGIN
- DECLARE no_more_rows BOOLEAN DEFAULT FALSE;
- DECLARE v_done BOOLEAN DEFAULT FALSE;
- DECLARE v_idprestamo INT;
- DECLARE v_installment INT;
- DECLARE v_fechadesde DATE;
- DECLARE v_fechahasta DATE;
- DECLARE v_fechaactualizacion DATE;
- DECLARE v_hay INT DEFAULT 0;
- DECLARE cursor_prestamos CURSOR FOR
- SELECT id
- FROM m_loan
- WHERE loan_status_id=300
- AND id=82 ;
- DECLARE cursor_schedule CURSOR FOR
- SELECT installment,
- fromdate,
- duedate
- FROM m_loan_repayment_schedule r
- WHERE r.loan_id=v_idprestamo;
- DECLARE CONTINUE HANDLER FOR NOT FOUND
- SET v_done := TRUE;
- OPEN cursor_prestamos;
- LOOP1: LOOP
- SET v_hay:=0;
- FETCH cursor_prestamos INTO v_idprestamo;
- IF v_done THEN
- CLOSE cursor_prestamos;
- LEAVE LOOP1;
- END IF;
- OPEN cursor_schedule;
- LOOP2: LOOP
- FETCH cursor_schedule INTO v_installment, v_fechadesde, v_fechahasta;
- IF v_done THEN
- SET v_done := FALSE;
- CLOSE cursor_schedule;
- LEAVE LOOP2;
- END IF;
- IF MONTH(v_fechahasta)=1 THEN
- UPDATE m_loan_repayment_schedule
- SET duedate=DATE_ADD(duedate,INTERVAL 1 MONTH)
- WHERE loan_id=v_idprestamo
- AND installment=v_installment;
- UPDATE m_loan_repayment_schedule
- SET fromdate=DATE_ADD(fromdate,INTERVAL 1 MONTH),
- duedate=DATE_ADD(duedate,INTERVAL 1 MONTH)
- WHERE loan_id=v_idprestamo
- AND installment>v_installment
- AND installment<=v_installment+11;
- SET v_hay:=1;
- END IF;
- IF MONTH(v_fechadesde)=1 THEN
- SET v_hay:=1;
- END IF;
- END LOOP LOOP2;
- IF v_hay=1 THEN
- UPDATE m_loan_repayment_schedule r
- SET r.fromdate=DATE_ADD(r.fromdate,INTERVAL 1 MONTH)
- WHERE r.loan_id=v_idprestamo
- AND MONTH(r.fromdate)=1;
- SELECT duedate
- INTO v_fechaactualizacion
- FROM m_loan_repayment_schedule
- WHERE loan_id=v_idprestamo
- ORDER BY id DESC
- LIMIT 0,1;
- UPDATE m_loan
- SET maturedon_date=v_fechaactualizacion,
- expected_maturedon_date=v_fechaactualizacion
- WHERE id=v_idprestamo;
- END IF;
- END LOOP LOOP1;
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement