<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    

<mapper namespace="com.mx.dla.dda.contrato.minimoseleccion.daos.MinimoSeleccionDAO">

	<resultMap type="DetallePeriodoPagoDTO" id="DetallePeriodoPagoResult">
		<id column="ID_PAGO_CATEG" property="idPagoCategoria" />
		<result column="DESC_CATEGORIA" property="descripcionCategoria" />
		<result column="MINIMO_TITULOS" property="minimoTitulos" />
	</resultMap>

	<resultMap type="PeridoPagoDTO" id="PeridoPagoResult">
		<id column="ID_CONTRATO_PAGO" property="idContratoPago" />
		<result column="FECHA_INICIO" property="fechaInicio" />
		<result column="FECHA_FIN" property="fechaFin" />
		<result column="MINIMO_MONTO" property="minimoMonto" />
		<collection property="detallePeriodo" resultMap="DetallePeriodoPagoResult" />
	</resultMap>
	
	
	<resultMap type="AnnioDTO" id="AnnioResult">
		<id column="ID_CONTRATO_PAGO" property="idContratoPago" />
		<result column="ANNIO" property="annio" />
	</resultMap>
	
	<resultMap type="PeriodoDTO" id="PeridoResult">
		<id column="ID_CONTRATO_PAGO" property="idContratoPago" />
		<result column="FECHA_INICIO" property="fechaInicio" />
		<result column="FECHA_FIN" property="fechaFin" />
	</resultMap>
	
	<resultMap type="DetalleAnnioPeriodoDTO" id="DetalleAnnioPeridoResult">
		<id column="ID_MINIMO_SELECCION" property="idMinimoSeleccion" />
		<result column="MINIMO_SELECCION" property="minimoTitulos" />
		<result column="ID_PAGO_CATEG" property="idPagoCategoria" />
		<result column="DESC_CATEGORIA" property="descripcionCategoria" />
	</resultMap>
	
	
    <!-- 	 Minimos Selecccion V2. -->	 
 	<resultMap id="resultsContratoPagoConsulta" type="ContratoPagoDTO">
		<result property="idContratoPago" column="ID_CONTRATO_PAGO" />
 		<result property="idContrato" column="ID_CONTRATO" /> 	
        <result property="idTipoSuscriptor" column="ID_TIPO_SUSCRIPTOR" />
		<result property="tipoPago" column="TIPO_PAGO" />
 	    <result property="tipoAnnio" column="TIPO_ANNIO" />  
		<result property="fechaInicio" column="FECHA_INICIO" />
		<result property="fechaFin" column="FECHA_FIN" />
	</resultMap>
	
	<resultMap id="resultsContratoPagoCategoriaConsulta" type="ContratoPagoCategoriaDTO">
		<result property="idPagoCateg" column="ID_PAGO_CATEG" />
        <result property="descCategoria" column="DESC_CATEGORIA" />
		<result property="idContrato" column="ID_CONTRATO" />
	</resultMap> 
	
 	<resultMap id="resultsContratoMinimoSeleccionConsulta" type="ContratoMinimoSeleccionDTO">
		<result property="idMinimoSeleccion" column="ID_MINIMO_SELECCION" />
 		<result property="idContratoPago" column="ID_CONTRATO_PAGO" /> 	
        <result property="idPagoCategoria" column="ID_PAGO_CATEG" />
		<result property="annio" column="ANNIO" />
		<result property="minimoSeleccion" column="MINIMO_SELECCION" />
	</resultMap> 
	
 	<resultMap id="resultsContratoPagoFlatConsulta" type="ContratoPagoFlatDTO">
		<result property="idContratoFlat" column="ID_CONTRATO_FLAT" />
 		<result property="idContratoPago" column="ID_CONTRATO_PAGO" /> 	
        <result property="annio" column="ANNIO" />
		<result property="costo" column="COSTO" />
		<result property="idPagoCateg" column="ID_PAGO_CATEG" />
	</resultMap>
	
	<resultMap id="resultsContratoPagoCostoConsulta" type="ContratoPagoCostoDTO">
		<result property="idPagoRango" column="ID_PAGO_RANGO" />
 		<result property="costo" column="COSTO" /> 	
        <result property="idPagoCateg" column="ID_PAGO_CATEG" />
		<result property="idContratoPago" column="ID_CONTRATO_PAGO" />
	</resultMap>	
	
    <!-- 	Fin Minimos Selecccion V2. -->	 
	
	
<!-- 	<select id="obtenPeriodoPago" resultMap="PeridoPagoResult">
		SELECT CPN.ID_CONTRATO_PAGO, CPN.FECHA_INICIO, DECODE( NVL(  CPN.MINIMO_SELECCION, ''), '', '0',  CPN.MINIMO_SELECCION) AS MINIMO_MONTO, 
		CPN.FECHA_FIN, CPCN.ID_PAGO_CATEG, CPCN.DESC_CATEGORIA, DECODE( NVL(  CPCN.MINIMO_SELECCION, ''), '', '0',  CPCN.MINIMO_SELECCION) as MINIMO_TITULOS
		FROM DDA_T_CONTRATO_PAGO CPN JOIN DDA_T_CONTRATO_PAGO_CATEG CPCN ON (CPN.ID_CONTRATO_PAGO = CPCN.ID_CONTRATO_PAGO) 
		WHERE ID_CONTRATO = #{idContrato} ORDER BY CPN.FECHA_INICIO DESC
	</select> -->
	
	<update id="cambiaMinimoCategoria">
		UPDATE DDA_T_CONTRATO_PAGO_CATEG SET MINIMO_SELECCION = #{minimoSeleccion} WHERE ID_PAGO_CATEG = #{idPagoCategoria}
	</update>
	
	<select id="obtenerEstatusContrato" resultType="long">
		SELECT ID_ESTATUS FROM DDA_T_CONTRATO WHERE ID_CONTRATO = #{idContrato}
	</select>
	
	<update id="cambiaMontoPeriodo">
		UPDATE DDA_T_CONTRATO_PAGO SET MINIMO_SELECCION = #{montoMinimo} WHERE ID_CONTRATO_PAGO = #{idMonto}
	</update>
	
	<select id="obtenTipoPago" resultType="String">
		SELECT DISTINCT TIPO_PAGO FROM DDA_T_CONTRATO_PAGO WHERE ID_CONTRATO = #{idContrato}
	</select>
	
	<select id="obtenAnnioContrato" resultMap="AnnioResult">
		SELECT DISTINCT  NULL AS ID_CONTRATO_PAGO, ANNIO FROM DDA_T_CONTRATO_PAGO JOIN DDA_T_CONTRATO_PAGO_FLAT 
		ON (DDA_T_CONTRATO_PAGO.ID_CONTRATO_PAGO = DDA_T_CONTRATO_PAGO_FLAT.ID_CONTRATO_PAGO) 
		WHERE ID_CONTRATO = #{idContrato} AND DDA_T_CONTRATO_PAGO_FLAT.COSTO IS NOT NULL ORDER BY ANNIO ASC
	</select>
	
	<select id="obtenAnniosPeriodoPorContrato" resultMap="AnnioResult">
	   	SELECT DISTINCT  DDA_T_CONTRATO_PAGO.ID_CONTRATO_PAGO AS ID_CONTRATO_PAGO, MAX(ANNIO) AS ANNIO FROM DDA_T_CONTRATO_PAGO JOIN DDA_T_CONTRATO_PAGO_FLAT 
		ON (DDA_T_CONTRATO_PAGO.ID_CONTRATO_PAGO = DDA_T_CONTRATO_PAGO_FLAT.ID_CONTRATO_PAGO) 
		WHERE ID_CONTRATO = #{idContrato} AND DDA_T_CONTRATO_PAGO_FLAT.COSTO IS NOT NULL GROUP BY DDA_T_CONTRATO_PAGO.ID_CONTRATO_PAGO ORDER BY DDA_T_CONTRATO_PAGO.ID_CONTRATO_PAGO ASC
	</select>
	
	
	<select id="obtnePeriodoContrato" resultMap="PeridoResult">
		SELECT ID_CONTRATO_PAGO, FECHA_INICIO, FECHA_FIN FROM DDA_T_CONTRATO_PAGO WHERE ID_CONTRATO = #{idContrato} ORDER BY FECHA_INICIO
	</select>
	
	<select id="obtenAnnioCategorias" resultMap="DetalleAnnioPeridoResult">
	
		SELECT DCMS.ID_MINIMO_SELECCION, DECODE( NVL(  DCMS.MINIMO_SELECCION, ''), '', '0',  DCMS.MINIMO_SELECCION) AS MINIMO_SELECCION, 
		DCPC.ID_PAGO_CATEG, DCPC.DESC_CATEGORIA FROM DDA_T_CONTRATO_MSELECCION DCMS JOIN DDA_T_CONTRATO_PAGO_CATEG DCPC
		ON (DCMS.ID_PAGO_CATEG = DCPC.ID_PAGO_CATEG) 
		WHERE DCMS.ID_CONTRATO_PAGO = #{idContratoPago} AND DCMS.ANNIO = #{annio} AND DCMS.ID_PAGO_CATEG IS NOT NULL ORDER BY DCPC.DESC_CATEGORIA ASC
	
	</select>
	
	<select id="obtenPeriodoCategorias" resultMap="DetalleAnnioPeridoResult">
	
		SELECT DCMS.ID_MINIMO_SELECCION, DECODE( NVL(  DCMS.MINIMO_SELECCION, ''), '', '0',  DCMS.MINIMO_SELECCION) AS MINIMO_SELECCION, 
		DCPC.ID_PAGO_CATEG, DCPC.DESC_CATEGORIA FROM DDA_T_CONTRATO_MSELECCION DCMS JOIN DDA_T_CONTRATO_PAGO_CATEG DCPC
		ON (DCMS.ID_PAGO_CATEG = DCPC.ID_PAGO_CATEG) 
		WHERE DCMS.ID_CONTRATO_PAGO = #{idContratoPago} AND DCMS.ID_PAGO_CATEG IS NOT NULL ORDER BY DCPC.DESC_CATEGORIA ASC
		
	</select>
	
	<select id="obtenAnnioMinimoMonto" resultType="String">
		SELECT MINIMO_SELECCION 
		FROM DDA_T_CONTRATO_MSELECCION WHERE ID_CONTRATO_PAGO = #{idContratoPago} and ANNIO = #{annio} AND ID_PAGO_CATEG IS NULL
	</select>
	
	<select id="obtenPeriodoMinimoMonto" resultType="String">
		SELECT MINIMO_SELECCION 
		FROM DDA_T_CONTRATO_MSELECCION WHERE ID_CONTRATO_PAGO = #{idContratoPago} AND ID_PAGO_CATEG IS NULL
	</select>
	
	<update id="actualizaMinimoMontoAnnio">
		UPDATE DDA_T_CONTRATO_MSELECCION SET MINIMO_SELECCION = #{minimoMonto} WHERE ID_CONTRATO_PAGO = #{idContratoPago} AND ANNIO = #{annio} AND ID_PAGO_CATEG IS NULL
	</update>
	
	<update id="actualizaMinimoMontoPeriodo">
		UPDATE DDA_T_CONTRATO_MSELECCION SET MINIMO_SELECCION = #{minimoMonto} WHERE ID_CONTRATO_PAGO = #{idContratoPago} AND ID_PAGO_CATEG IS NULL
	</update>
	
	<update id="actualizaMinimoTitulos">	          	  		
	  	UPDATE DDA_T_CONTRATO_MSELECCION SET MINIMO_SELECCION = #{minimoMonto} WHERE ID_MINIMO_SELECCION = #{idMinimoSeleccion}
	  	<!-- UPDATE DDA_T_CONTRATO_MSELECCION SET MINIMO_SELECCION = #{minimoMonto} 
	  	WHERE ID_CONTRATO_PAGO = #{idContratoPago} AND ID_PAGO_CATEG = #{idPagoCategoria} AND ANNIO = #{annio} -->
	</update>
	
	<select id="obtenCostoAnnio" resultType="String">
		SELECT COSTO FROM DDA_T_CONTRATO_PAGO_FLAT WHERE ID_CONTRATO_PAGO = #{idContratoPago} AND ID_PAGO_CATEG = #{idPagoCategoria} AND ANNIO = #{annio} 
	</select> 
	
	<select id="obtenCostoPeriodo" resultType="String">
		SELECT COSTO.COSTO FROM DDA_T_CONTRATO_PAGO_RANGO RANGO JOIN DDA_T_CONTRATO_PAGO_COSTO COSTO
		ON (RANGO.ID_PAGO_RANGO = COSTO.ID_PAGO_RANGO)
		WHERE  (#{suscriptores} BETWEEN RANGO.DESDE AND RANGO.HASTA) AND RANGO.ID_CONTRATO_PAGO = #{idContratoPago} AND COSTO.ID_PAGO_CATEG = #{idPagoCategoria}
	</select>
	
	<select id="obtneFechaInicioPeriodo" resultType="String">
		SELECT TO_CHAR(FECHA_INICIO, 'dd/mm/yyyy') AS FECHA_INICIO FROM DDA_T_CONTRATO_PAGO WHERE ID_CONTRATO = #{idContrato} AND ID_CONTRATO_PAGO = #{idContratoPago}
	</select>
		
	<select id="getSecuenciaSeleccion" resultType="long">
		SELECT DDA_SQT_CONTRATO_MSELECCION.nextVal from DUAL
	</select>

	<insert id="guardarminSeleccionCtoPago" parameterType="map">								
		   INSERT INTO DDA_T_CONTRATO_MSELECCION 
		          (ID_MINIMO_SELECCION, ID_CONTRATO_PAGO, ANNIO) 
		   VALUES (#{idSelMin}, #{idContratoPago}, #{anio})
	</insert>
	
	<insert id="guardarminSeleccionCtoPagoCateg" parameterType="map" >
		INSERT INTO DDA_T_CONTRATO_MSELECCION 
		          (ID_MINIMO_SELECCION, ID_CONTRATO_PAGO, ANNIO, ID_PAGO_CATEG) 
		   VALUES (#{idSelMin}, #{idContratoPago}, #{anio}, #{idCategoria})
	</insert>
		
	<insert id="guardarMinSeleccionXAnio" parameterType="java.util.List" >
		INSERT ALL								
		<foreach item="m" collection="minSelAnio"  separator=" ">		    		   
		    	INTO DDA_T_CONTRATO_MSELECCION  (ID_MINIMO_SELECCION, ID_CONTRATO_PAGO, ANNIO) 
		        VALUES (
		                 extractvalue(dbms_xmlgen.getxmltype('select DDA_SQT_CONTRATO_MSELECCION.nextval from dual'),'//text()'), 
		                 #{m.idContratoPago},
		                 #{m.anio}
		              )
		</foreach> 
		SELECT * FROM DUAL				
	</insert>									
										
	<insert id="guardarMinSeleccionXCatAnio" parameterType="java.util.List" >
		INSERT ALL								
		<foreach item="m" collection="minSelAnio"  separator=" ">		    		   
		    	INTO DDA_T_CONTRATO_MSELECCION  (ID_MINIMO_SELECCION, ID_CONTRATO_PAGO, ANNIO, ID_PAGO_CATEG) 
		        VALUES (extractvalue(dbms_xmlgen.getxmltype('select DDA_SQT_CONTRATO_MSELECCION.nextval from dual'),'//text()'), #{m.idContratoPago}, #{m.anio}, #{m.idCategoria})
		</foreach> 
		SELECT * FROM DUAL				
	</insert>
		
	<delete id="eliminarMinSeleccionXCto"    parameterType="map">
		DELETE DDA_T_CONTRATO_MSELECCION WHERE ID_CONTRATO_PAGO IN ( SELECT ID_CONTRATO_PAGO FROM DDA_T_CONTRATO_PAGO WHERE ID_CONTRATO = #{idCto} )
		                                       OR ID_PAGO_CATEG IN ( SELECT ID_PAGO_CATEG    FROM DDA_T_CONTRATO_PAGO_CATEG WHERE ID_CONTRATO = #{idCto} )	
	</delete>
	
	<delete id="eliminarminSeleccionCtoPago"    parameterType="map">
	    DELETE DDA_T_CONTRATO_MSELECCION WHERE ID_CONTRATO_PAGO = #{idContratoPago}			          		
	</delete>
	
	<delete id="eliminarminSeleccionCtoPagoCateg"     parameterType="map">
	    DELETE DDA_T_CONTRATO_MSELECCION WHERE ID_CONTRATO_PAGO = #{idContratoPago} AND  ID_PAGO_CATEG = #{idCategoria}			          		
	</delete>
	
	
    <!-- 	 Minimos Selecccion V2. -->	 	
 	<select id="consultaPeriodosPagoContrato" resultMap="resultsContratoPagoConsulta" parameterType="map">
        SELECT 
           cp.ID_CONTRATO_PAGO, 
           cp.ID_CONTRATO, 
           cp.ID_TIPO_SUSCRIPTOR, 
           cp.TIPO_PAGO, 
           cp.TIPO_ANNIO, 
           TO_CHAR(cp.FECHA_INICIO, 'MM/DD/YYYY') AS FECHA_INICIO, 
           TO_CHAR(cp.FECHA_FIN, 'MM/DD/YYYY') AS FECHA_FIN
        FROM DDA_T_CONTRATO_PAGO cp 
        WHERE 
           cp.ID_CONTRATO = #{idContrato}
        ORDER BY cp.ID_CONTRATO, 
                 cp.FECHA_INICIO, 
                 cp.FECHA_FIN ASC
	</select>
	
	<select id="consultaCategoriasPagoContrato" resultMap="resultsContratoPagoCategoriaConsulta" parameterType="map">
         SELECT 
           cpc.ID_PAGO_CATEG, 
           cpc.DESC_CATEGORIA, 
           cpc.ID_CONTRATO 
        FROM DDA_T_CONTRATO_PAGO_CATEG cpc
        WHERE 
           cpc.ID_CONTRATO = #{idContrato}
        ORDER BY cpc.DESC_CATEGORIA ASC
	</select>
	 
  	<select id="consultaMinimosSeleccionContrato" resultMap="resultsContratoMinimoSeleccionConsulta" parameterType="map">
	    SELECT 
           cms.ID_MINIMO_SELECCION,
           cms.ID_CONTRATO_PAGO,
           cms.ID_PAGO_CATEG,
           cms.ANNIO,
           cms.MINIMO_SELECCION
        FROM DDA_T_CONTRATO_MSELECCION cms
          INNER JOIN DDA_T_CONTRATO_PAGO c
          ON c.ID_CONTRATO_PAGO = cms.ID_CONTRATO_PAGO
        WHERE ID_CONTRATO = #{idContrato}
<!-- 	    
	    SELECT 
           cms.ID_MINIMO_SELECCION,
           cms.ID_CONTRATO_PAGO,
           cms.ID_PAGO_CATEG,
           cms.ANNIO,
           cms.MINIMO_SELECCION
        FROM DDA_T_CONTRATO_MSELECCION cms
        WHERE
           cms.ID_CONTRATO_PAGO = #{mseleccion.idContratoPago} 
           AND cms.ID_PAGO_CATEG = #{mseleccion.idPagoCategoria} 
           <choose>
              <when test="mseleccion.annio != null">
                AND cms.ANNIO = #{mseleccion.annio}
              </when>
              <otherwise>
                AND cms.ANNIO IS NULL
              </otherwise>
           </choose>
        ORDER BY cms.ID_MINIMO_SELECCION ASC -->
        
	</select>  

  	<select id="consultaContratoPagoFlat" resultMap="resultsContratoPagoFlatConsulta" parameterType="map">
	    SELECT
           cpf.ID_CONTRATO_FLAT,
           cpf.ID_CONTRATO_PAGO,
           cpf.ANNIO,
           cpf.COSTO,
           cpf.ID_PAGO_CATEG
        FROM DDA_T_CONTRATO_PAGO_FLAT  cpf
           INNER JOIN DDA_T_CONTRATO_PAGO cp
           ON cp.ID_CONTRATO_PAGO = cpf.ID_CONTRATO_PAGO
        WHERE cp.ID_CONTRATO = #{idContrato}
	</select>  

  	<select id="consultaContratoPagoCosto" resultMap="resultsContratoPagoCostoConsulta" parameterType="map">
        SELECT
           cpc.ID_PAGO_RANGO,
           cpc.COSTO,
           cpc.ID_PAGO_CATEG,
           cpc.ID_CONTRATO_PAGO
        FROM DDA_T_CONTRATO_PAGO_COSTO cpc
           INNER JOIN DDA_T_CONTRATO_PAGO cp
           ON cp.ID_CONTRATO_PAGO = cpc.ID_CONTRATO_PAGO
        WHERE cp.ID_CONTRATO = #{idContrato}
	</select> 
	
	<update id="actualizaMinimoMonto">
		UPDATE DDA_T_CONTRATO_MSELECCION 
		SET MINIMO_SELECCION = #{minimoMonto} 
		WHERE 
		   ID_CONTRATO_PAGO = #{idContratoPago}  
		   
		   <choose>
              <when test="annio != null">
                AND ANNIO = #{annio}
              </when>
              <otherwise>
                AND ANNIO IS NULL
              </otherwise>
           </choose>
           
           <choose>
              <when test="idPagoCategoria != null">
                AND ID_PAGO_CATEG = #{idPagoCategoria}
              </when>
              <otherwise>
                AND ID_PAGO_CATEG IS NULL
              </otherwise>
           </choose>
	</update>
	
	<resultMap type="MontoRealDTO" id="montoReal">
		<result column="ID_CONTRATO" 	property="idContrato" />
		<result column="ID_PERIODO" 	property="idPeriodo" />
		<result column="ID_CATEGORIA" 	property="idCategoria" />
		<result column="MONTO_REAL" 	property="monto" />
	</resultMap>
	
	<select id="obtenInformacionMontoReal" resultMap="montoReal" >
		SELECT
		        ID_CONTRATO,
		        ID_CONTRATO_PAGO AS ID_PERIODO,
		        NVL(ID_PAGO_CATEG, 'TOTAL') AS ID_CATEGORIA,
		        SUM(COSTO) AS MONTO_REAL
		FROM(
		        SELECT
		                periodo.ID_CONTRATO,
		                periodo.ID_CONTRATO_PAGO,
		                TO_CHAR(categoria.ID_PAGO_CATEG) AS ID_PAGO_CATEG,
		                titulo.DESC_TITULO, 
		                titulo.COSTO
		        FROM
		                DDA_T_CONTRATO_PAGO periodo,
		                DDA_T_CONTRATO_PAGO_CATEG categoria,
		                DDA_T_CONTRATO_TITULO titulo
		        WHERE
		                periodo.ID_CONTRATO = #{idContrato}
		            AND periodo.ID_CONTRATO = categoria.ID_CONTRATO
		            AND periodo.ID_CONTRATO = titulo.ID_CONTRATO
		            AND categoria.ID_PAGO_CATEG = titulo.ID_PAGO_CATEG
		            --AND titulo.FECHA_INICIO BETWEEN periodo.FECHA_INICIO AND periodo.FECHA_FIN
		            AND titulo.ANIO_CONTRATO = periodo.ANIO_CONTRATO
		        UNION   
		        SELECT 
		                periodo.ID_CONTRATO,
		                periodo.ID_CONTRATO_PAGO,
		                NVL(TO_CHAR(titulo.ID_PAGO_CATEG), 'SIN') AS ID_PAGO_CATEG,
		                titulo.DESC_TITULO,
		                titulo.COSTO
		        FROM
		                DDA_T_CONTRATO_PAGO periodo,
		                DDA_T_CONTRATO_TITULO titulo
		        WHERE
		                periodo.ID_CONTRATO = #{idContrato}
		            AND periodo.ID_CONTRATO = titulo.ID_CONTRATO
		            --AND titulo.FECHA_INICIO BETWEEN periodo.FECHA_INICIO AND periodo.FECHA_FIN
		            AND titulo.ANIO_CONTRATO = periodo.ANIO_CONTRATO
		            AND titulo.ID_PAGO_CATEG IS NULL)
		GROUP BY
		    GROUPING SETS(
		        (ID_CONTRATO, ID_CONTRATO_PAGO),
		        (ID_CONTRATO, ID_CONTRATO_PAGO, ID_PAGO_CATEG)
		    )
	</select>

	<resultMap type="SuscriptoresPeriodoDTO" id="suscriptoresPeriodo">
		<result column="ID_CONTRATO" 	property="idContrato" />
		<result column="ID_CONTRATO_PAGO" 	property="idContratoPago" />
		<result column="ID_TIPO_SUSCRIPTOR" 	property="idTipoSuscriptor" />
		<result column="SUSCRIPTORES" 	property="suscriptores" />
	</resultMap>
	
	<select id="obtnerSuscriptoresPeriodo" resultMap="suscriptoresPeriodo">
		select 
		    cp.ID_CONTRATO, 
		    cp.ID_CONTRATO_PAGO, 
		    ID_TIPO_SUSCRIPTOR,
		    DDA_CONSULTARSUSCRIPTORES( cp.ID_CONTRATO, ID_CONTRATO_PAGO ) as SUSCRIPTORES
		from
		    DDA_T_CONTRATO_PAGO cp
		where
		    cp.TIPO_PAGO = 'ESCALA'
		and cp.ID_CONTRATO = #{idContrato}
		order by cp.ID_CONTRATO
	</select> 
	
<!-- 	<select id="consultaMinimosPeriodoAnio" resultMap="resultsContratoMinimoSeleccionConsulta" parameterType="map">
	
		SELECT 
           cms.ID_MINIMO_SELECCION,
           cms.ID_CONTRATO_PAGO,
           cms.ID_PAGO_CATEG,
           cms.ANNIO,
           cms.MINIMO_SELECCION
        FROM DDA_T_CONTRATO_MSELECCION cms
          WHERE ID_CONTRATO_PAGO = #{idContratoPago}  
          
            <choose>
              <when test="annio != null">
                AND ANNIO = #{annio}
              </when>
              <otherwise>
                AND ANNIO IS NULL
              </otherwise>
           </choose>
           
          AND ID_PAGO_CATEG IS NOT NULL
           
	</select> 
	
	
	<select id="consultaTotalMinimosPeriodoAnio" resultMap="resultsContratoMinimoSeleccionConsulta" parameterType="map">
	
		SELECT 
           cms.ID_MINIMO_SELECCION,
           cms.ID_CONTRATO_PAGO,
           cms.ID_PAGO_CATEG,
           cms.ANNIO,
           cms.MINIMO_SELECCION
        FROM DDA_T_CONTRATO_MSELECCION cms
          WHERE ID_CONTRATO_PAGO = #{idContratoPago}  
          
            <choose>
              <when test="annio != null">
                AND ANNIO = #{annio}
              </when>
              <otherwise>
                AND ANNIO IS NULL
              </otherwise>
           </choose>
           
            AND ID_PAGO_CATEG IS NULL
          
	</select> -->
	
    <!-- 	Fin Minimos Selecccion V2. -->	 

</mapper>