Consulta múltiple en Doctrine con NAND, NOR, NOT, Y operadores

Estoy tratando de diseñar una consulta de doctrina y soy nuevo en doctrina, pero con la ayuda de mi otra publicación, se me ocurre una consulta que funciona cuando ejecuto en mi Mysql. Pero quiero que para convertir la consulta en Doctrine (2.3) alguien pueda ayudarme en esto.

Consulta MySQL:

SELECT * FROM user WHERE 
(`user_name` like '%TOM%' OR `user_name` like '%AN%' and `login_datetime` BETWEEN '2013-01-01 00:00:00' and '2013-02-31 23:59:59') OR
NOT ( --NOR
   (`user_name` like '%PHP%' OR `user_name` like '%BA%' and `login_datetime` BETWEEN '2013-02-01 00:00:00' and '2013-03-31 23:59:59') OR
   (`user_name` like '%SUN%' OR `user_name` like '%MOON%' and `login_datetime` BETWEEN '2013-03-01 00:00:00' and '2013-04-31 23:59:59')
) OR
NOT ( --NAND
   (`user_name` like '%RAJ%' OR `user_name` like '%MUTH%' and `login_datetime` BETWEEN '2013-04-01 00:00:00' and '2013-06-31 23:59:59') AND
   (`user_name` like '%BAG%' OR `user_name` like '%LAP%' and `login_datetime` BETWEEN '2013-05-01 00:00:00' and '2013-07-31 23:59:59')
)

-Referencia de enlace: para la consulta de MySql anterior.

Mi intento con Doctrine: enlace de referencia:

Es muy difícil entender la consulta de la doctrina debido a los latidos () que se crearon automáticamente entre las consultas, por lo que me da resultados erróneos todo el tiempo. Por favor ayúdame.

Respuestas a la pregunta(1)

Su respuesta a la pregunta