Chicos, hize un sp en mysql y mucho no lo use, me pueden orientar en que le estoy pifeando, salu2.
CREATE PROCEDURE operacion(IN operario SMALLINT(4),IN duracion INT(11), IN ot SMALLINT(4))
BEGIN
DECLARE fecha_comienzo DATE;
DECLARE fecha_fin DATE;
IF ((SELECT COUNT() FROM tabla_pivote WHERE id_operarios=operario)=0) THEN
IF ((SELECT COUNT() FROM total WHERE id_operarios=operario)=0) THEN
SET fecha_comienzo=DATE_ADD(CURDATE(), INTERVAL 1 DAY);
SET fecha_fin=DATE_ADD(CURDATE(), INTERVAL duracion DAY);
ELSE
IF ((SELECT fecha_comienzo FROM total WHERE id_operarios=operario ORDER BY fecha_comienzo DESC LIMIT 1)CURDATE()) -- tomo el primer registro de la consulta
SET fecha_comienzo=CURDATE()+1;
SET fecha_fin=fecha_comienzo+duracion;
ELSE
SET fecha_comienzo=(SELECT fecha_fin FROM total WHERE id_operarios=operario ORDER BY fecha_fin DESC LIMIT 1)+1;
SET fecha_fin=fecha_comienzo+duracion;
END IF
END IF
ELSE
END IF
END;