<?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.admin.catalogos.pais.daos.CatalogoPaisDAO">

	<resultMap id="paisCatalogo" type="CatalogoPaisDTO">	
		<id     property="id" 		      column="ID_PAIS" />
		<result property="idTerritorio"   column="ID_TERRITORIO" />
		<result property="impuesto" 	  column="IMPUESTO" />
		<result property="idRegion" 	  column="ID_REGION" />
		<result property="nombre" 		  column="DESCRIPCION" />
		<result property="estatus" 		  column="ESTATUS" />	
		<result property="region" 		  column="REGION" />
		<result property="territorio"     column="TERRITORIO" />
	</resultMap>
		
	<select id="getCatalogoPais" resultMap="paisCatalogo">
		SELECT	pais.ID_PAIS,
		        pais.ID_TERRITORIO,
            	pais.IMPUESTO,
            	pais.ID_REGION,
		        pais.DESCRIPCION,
		        pais.ESTATUS,
		        DDA_C_REGION_VENTA.DESCRIPCION AS REGION,
				DDA_C_TERRITORIO.DESC_TERRITORIO AS TERRITORIO        		                 	          
		FROM   DDA_C_PAIS_VENTA pais
			   INNER JOIN DDA_C_REGION_VENTA  ON pais.ID_REGION = DDA_C_REGION_VENTA.ID_REGION
			   INNER JOIN DDA_C_TERRITORIO    ON pais.ID_TERRITORIO = DDA_C_TERRITORIO.ID_TERRITORIO
		ORDER BY DESCRIPCION ASC
	</select>

	<select id="getPaisPorId" resultMap="paisCatalogo">
		SELECT	pais.ID_PAIS,
		        pais.ID_TERRITORIO,
            	pais.IMPUESTO,
            	pais.ID_REGION,
		        pais.DESCRIPCION,
		        pais.ESTATUS,
		        DDA_C_REGION_VENTA.DESCRIPCION AS REGION,
				DDA_C_TERRITORIO.DESC_TERRITORIO AS TERRITORIO        		                 	          
		FROM   DDA_C_PAIS_VENTA pais
			   INNER JOIN DDA_C_REGION_VENTA  ON pais.ID_REGION = DDA_C_REGION_VENTA.ID_REGION
			   INNER JOIN DDA_C_TERRITORIO    ON pais.ID_TERRITORIO = DDA_C_TERRITORIO.ID_TERRITORIO            	          		
		WHERE  pais.ID_PAIS=#{id}
	</select>

	<update id="updatePais" parameterType="CatalogoPaisDTO">
		update 	DDA_C_PAIS_VENTA 
  		set 	ID_TERRITORIO = #{idTerritorio},
  				ID_REGION     = #{idRegion},
  				DESCRIPCION   = #{nombre},
  				ESTATUS       = #{estatus},
  				IMPUESTO      = #{impuesto}  				
  		where 	ID_PAIS       = #{id} 
  	</update>

  	<insert id="guardarPais" parameterType="CatalogoPaisDTO">
		<selectKey keyProperty="id" resultType="int" order="BEFORE">
	     		   select DDA_SQC_PAIS_VENTA.nextVal from DUAL
	  	</selectKey> 	  	
		INSERT INTO DDA_C_PAIS_VENTA 
		      ( ID_PAIS  ,  ID_TERRITORIO,  ID_REGION,   IMPUESTO,  DESCRIPCION, ESTATUS)
 	    VALUES( #{id}    ,#{idTerritorio},#{idRegion},#{impuesto},    #{nombre}, #{estatus}) 	    	        	   
  	</insert>

</mapper>
