DELIMITER $$
CREATE PROCEDURE `FixGrillaProyecto`(idPro INT)
BEGIN
	DECLARE i INT DEFAULT 1;
    DECLARE ultInforme INT DEFAULT 0;
    SELECT count(idInforme) INTO ultInforme FROM informe
		WHERE idProyecto = idPro AND idEstado = 2;
	SET ultInforme = ultInforme - 1;
	SELECT max(nOrden) INTO @cantIncidencias FROM columnagrillaproyecto
		INNER JOIN grillaproyecto USING (idGrillaProyecto)
		WHERE idProyecto = idPro;
	WHILE i <= @cantIncidencias DO
		SELECT sValor, nCantidad INTO @valor, @cantidad FROM filagrillainforme
			INNER JOIN columnagrillainforme USING (idColumnaGrillaInforme)
			INNER JOIN grillainforme ON grillainforme.idGrillaInforme = columnagrillainforme.idGrillaInforme
			INNER JOIN informe ON grillainforme.idInforme = informe.idInforme
			WHERE idProyecto = idPro AND columnagrillainforme.nOrden = i
            order by idFilagrillainforme ASC LIMIT 1 OFFSET ultInforme;
		SELECT idFilaGrillaProyecto INTO @idFila FROM filagrillaproyecto
			INNER JOIN columnagrillaproyecto USING (idColumnaGrillaProyecto)
            INNER JOIN grillaproyecto ON columnagrillaproyecto.idGrillaProyecto = grillaproyecto.idGrillaProyecto
            WHERE idProyecto = idPro AND columnagrillaproyecto.nOrden = i;
		UPDATE filagrillaproyecto SET sValor = @valor, nCantidad = @cantidad WHERE idFilaGrillaProyecto = @idFila;
        SET i = i + 1;
	END WHILE;
END$$
DELIMITER ;