<?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.common.daos.JustificacionDAO">


	<insert id="insertarJustificacion"
		parameterType="com.mx.dla.dda.contrato.common.dtos.JustificacionDTO">
		
		<selectKey keyProperty="idJustificacion" resultType="long" order="BEFORE">
    	 		   select DDA_SQT_CONTRATO_JUSTIFICA.nextVal from DUAL
  		</selectKey> 
  		
		INSERT INTO DDA_T_CONTRATO_JUSTIFICA 
			(ID_JUSTIFICACION,EXPEDIENTE,ID_CONTRATO,JUSTIFICACION,FECHA)
		VALUES 
			(#{idJustificacion},#{usuario.expediente},#{idContrato},#{justificacion},SYSDATE )
	</insert>
	
	<delete id="borrarJustificacion">
		delete DDA_T_CONTRATO_JUSTIFICA where ID_JUSTIFICACION=#{idJustificacion}
	</delete>

	<resultMap id="justificacion"
		type="com.mx.dla.dda.contrato.common.dtos.JustificacionDTO">
		<id property="idJustificacion" column="ID_JUSTIFICACION" />
		<result property="idContrato" column="ID_CONTRATO" />
		<result property="justificacion" column="JUSTIFICACION" />
		<result property="fecha" column="FECHA" />
		
		<association property="usuario" javaType="com.mx.dla.admin.dtos.UsuarioDTO">
			<id property="expediente" column="EXPEDIENTE" />
			<result property="nombre" column="NOMBRE" />
			<result property="paterno" column="PATERNO" />
			<result property="materno" column="MATERNO" />
			<result property="email" column="EMAIL" />
		</association>
		
	</resultMap>

	<select id="buscarJustificaciones" resultMap="justificacion"
		parameterType="long">
			select 
				j.ID_JUSTIFICACION,j.ID_CONTRATO,j.JUSTIFICACION,j.FECHA,u.EXPEDIENTE,u.NOMBRE,u.PATERNO,u.MATERNO
			from DDA_T_CONTRATO_JUSTIFICA  j
			inner join 
				DLA_C_USUARIO  u on u.EXPEDIENTE = j.EXPEDIENTE
			where 
				j.ID_CONTRATO=#{idContrato}
			ORDER BY j.ID_JUSTIFICACION DESC
	</select>

</mapper>
