<?xml version="1.0" encoding="UTF-8"?>
<!-- Es un archivo de mapeo -->
<!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.titulo.daos.ListaDAO">


	<insert id="insertarLista"
		parameterType="Lista">
		
		<selectKey keyProperty="idLista" resultType="long" order="BEFORE">
    	 		   select DDA_SQT_CONTRATO_LISTA.nextVal from DUAL
  		</selectKey>
		
		insert into DDA_${prefix}_CONTRATO_LISTA 
			(ID_LISTA, ID_CONTRATO, FECHA_CREACION, FECHA_INICIO, FECHA_FIN , ID_CONTRATO_CREACION) 
		values 
			(#{idLista},#{idContrato},SYSDATE,#{fechaInicio},#{fechaFin} , #{idContrato})
	</insert>

	<update id="actualizarLista"
		parameterType="Lista">
		UPDATE DDA_${prefix}_CONTRATO_LISTA set
			ID_CONTRATO =#{idContrato},
			FECHA_INICIO  =#{fechaInicio},
			FECHA_FIN =#{fechaFin}
		WHERE
			ID_LISTA=#{idLista}
	</update>
	
	<update id="updateListaTitulos"
		parameterType="Lista">
		UPDATE DDA_T_CONTRATO_TITULO set
			ID_LISTA=#{idLista}
		WHERE
			ID_CONTRATO =#{idContrato}
	</update>
	
	<delete id="borrarLista">
		delete DDA_${prefix}_CONTRATO_LISTA where ID_LISTA=#{idLista}
	</delete>
	
	<delete id="borrarListaPorIdContrato">
		delete DDA_${prefix}_CONTRATO_LISTA where ID_CONTRATO =#{idContrato}
	</delete>
	
	<resultMap id="lista"
		type="Lista">
		<id property="idLista" column="ID_LISTA"/>
		<result property="idContrato" column="ID_CONTRATO"/>
		<result property="fechaCreacion" column="FECHA_CREACION"/>
		<result property="fechaInicio" column="FECHA_INICIO"/>
		<result property="fechaFin" column="FECHA_FIN"/>
		<result property="idContratoCreacion" column="ID_CONTRATO_CREACION"/>
	</resultMap>

	<select id="buscarListas" resultMap="lista"
		parameterType="long">
		select
			*
		from
			DDA_${prefix}_CONTRATO_LISTA
		where
			ID_CONTRATO = #{idContrato}
		order by ID_LISTA desc
	</select>

	<select id="buscarLista" resultMap="lista"
		parameterType="long">
		select
			*
		from
			DDA_${prefix}_CONTRATO_LISTA
		where
			ID_LISTA = #{idLista}
		order by ID_LISTA desc
	</select>
	<select id="buscarListaActual" resultMap="lista"
		parameterType="long">
		select
			*
		from
			DDA_${prefix}_CONTRATO_LISTA
		where
			ID_CONTRATO = #{idContrato}
			and FECHA_FIN is null
		order by ID_LISTA desc
	</select>
	<select id="buscarListasPorContratoCreacion" resultMap="lista"
		parameterType="long">
		select
			*
		from
			DDA_${prefix}_CONTRATO_LISTA
		where
			ID_CONTRATO_CREACION = #{idContratoCreacion}
		order by ID_LISTA desc
	</select>
</mapper>
