<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="funciones_historico" language="groovy" pageWidth="468" pageHeight="610" orientation="Landscape" columnWidth="468" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
	<property name="ireport.zoom" value="1.948717100000002"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<parameter name="whereFuncionarioNumDoc" class="java.lang.String">
		<defaultValueExpression><![CDATA[" "]]></defaultValueExpression>
	</parameter>
	<parameter name="whereFuncionarioTipoDoc" class="java.lang.String">
		<defaultValueExpression><![CDATA[" "]]></defaultValueExpression>
	</parameter>
	<parameter name="periodo" class="java.lang.String">
		<defaultValueExpression><![CDATA[""]]></defaultValueExpression>
	</parameter>
	<parameter name="id_periodo" class="java.math.BigDecimal">
		<defaultValueExpression><![CDATA[]]></defaultValueExpression>
	</parameter>
	<parameter name="fecha_corte" class="java.lang.String">
		<defaultValueExpression><![CDATA[]]></defaultValueExpression>
	</parameter>
	<parameter name="numero_letras" class="java.lang.String">
		<defaultValueExpression><![CDATA[""]]></defaultValueExpression>
	</parameter>
	<parameter name="destino" class="java.lang.String">
		<defaultValueExpression><![CDATA[""]]></defaultValueExpression>
	</parameter>
	<parameter name="comando" class="java.lang.String">
		<defaultValueExpression><![CDATA[]]></defaultValueExpression>
	</parameter>
	<parameter name="sexo" class="java.math.BigDecimal"/>
	<queryString>
		<![CDATA[select

case when tab.fecha_f is null and tab.fecha_cert_fin = sysdate then 0 else 1 end as reg_fin,

nvl(LPAD(TO_CHAR(tab.fecha_nor,'dd'),2,'0'),' ') as DIA_nor,
nvl(trim(lower(TO_CHAR(tab.fecha_nor,'MONTH','nls_date_language=spanish'))),' ') as MES_nor,
nvl(TO_CHAR(tab.fecha_nor,'yyyy'),' ') as anho_nor,

LPAD(TO_CHAR(tab.fecha_cert_ini,'dd'),2,'0') as DIA_ini,
trim(lower(TO_CHAR(tab.fecha_cert_ini,'MONTH','nls_date_language=spanish'))) as MES_ini,
TO_CHAR(tab.fecha_cert_ini,'yyyy') as anho_ini,

LPAD(TO_CHAR(tab.fecha_cert_fin,'dd'),2,'0') as DIA_fin,
trim(lower(TO_CHAR(tab.fecha_cert_fin,'MONTH','nls_date_language=spanish'))) as MES_fin,
TO_CHAR(tab.fecha_cert_fin,'yyyy') as anho_fin,

case when (select count(*) from no_novedad_personal
where id_tipo_doc = tab.ID_TIPO_DOC and num_doc = tab.NUM_DOC and estado = 1 and id_novedad = 3
and tab.fecha_cert_ini between fecha_inicial and fecha_terminacion) > 0 then ' en encargo' else lower(tab.texto_certificado) end as tipo_nombramiento,

tab.*

from(

      select

      rhdp.COMPONENTE as cargo,
      SUBSTR(rhdp.codigo_comp,2) as codigo_comp,
      rhdp.GRADO_COMP as GRADO_COMP,
      initcap_sofhouse(initcap(rhdp.DENOMINACION_COMP)) as DENOMINACION_COMP,

      tipnom1.texto_certificado,

      case when tab0.fecha_ini > rhmfmf.fecha_i then tab0.fecha_ini else rhmfmf.fecha_i end as fecha_cert_ini,
      case when nvl(tab0.fecha_fin,sysdate) <= nvl(rhmfmf.fecha_f,sysdate) then nvl(tab0.fecha_fin,sysdate) else nvl(rhmfmf.fecha_f,sysdate) end as fecha_cert_fin,

      nvl(initcap(tipnor.descripcion),' ') as tipo_nor,
      nvl(nor.codigo,' ') as codigo_nor,
      nor.fecha as fecha_nor,
      --nor.asunto as asunto_nor,

      tab0.*,
      rhmffed.codigo,
      rhmfmf.id_mf_mf,
      rhmfmf.fecha_i,
      rhmfmf.fecha_f,
      rhmffed.funcion as funcion
      from no_rh_dp_mf tab0

      join no_dp_v rhdp
      on tab0.id_dp = rhdp.id_dp

      left join rh_dp_mf rhdpmf
      on tab0.id_dp = rhdpmf.id_dp

      left join rh_mf_mf rhmfmf
      on rhdpmf.id_mf = rhmfmf.id_mf_mf
      --and rhmfmf.fecha_f is null

      left join normas nor
      on nor.id_normas =  rhmfmf.id_norma

      left join tipo_de_norma tipnor
      on tipnor.id_tipo_norma = nor.tipo

      left join rh_mf_fe rhmffe
      on rhmfmf.id_mf_mf = rhmffe.id_mf

      left join rh_mf_fe_d rhmffed
      on rhmffe.id_mf_fe = rhmffed.id_fe

      left join rh_sa_niv2 tipnom1
      on tipnom1.id_sa_niv2 = tab0.id_sa_niv2

      WHERE
      num_doc is not null
      --and tab0.num_doc = 10011338
      and (
          rhmfmf.fecha_i between tab0.fecha_ini and nvl(tab0.fecha_fin,sysdate)
          or
          rhmfmf.fecha_f between tab0.fecha_ini and nvl(tab0.fecha_fin,sysdate)
          or
          tab0.fecha_ini between rhmfmf.fecha_i and nvl(rhmfmf.fecha_f,sysdate)
          or
          tab0.fecha_ini between rhmfmf.fecha_i and nvl(rhmfmf.fecha_f,sysdate)
      )

)tab

ORDER BY tab.num_doc, tab.fecha_ini, tab.id_mf_mf, tab.codigo]]>
	</queryString>
	<field name="REG_FIN" class="java.math.BigDecimal"/>
	<field name="DIA_NOR" class="java.lang.String"/>
	<field name="MES_NOR" class="java.lang.String"/>
	<field name="ANHO_NOR" class="java.lang.String"/>
	<field name="DIA_INI" class="java.lang.String"/>
	<field name="MES_INI" class="java.lang.String"/>
	<field name="ANHO_INI" class="java.lang.String"/>
	<field name="DIA_FIN" class="java.lang.String"/>
	<field name="MES_FIN" class="java.lang.String"/>
	<field name="ANHO_FIN" class="java.lang.String"/>
	<field name="TIPO_NOMBRAMIENTO" class="java.lang.String"/>
	<field name="CARGO" class="java.lang.String"/>
	<field name="CODIGO_COMP" class="java.lang.String"/>
	<field name="GRADO_COMP" class="java.lang.String"/>
	<field name="DENOMINACION_COMP" class="java.lang.String"/>
	<field name="TEXTO_CERTIFICADO" class="java.lang.String"/>
	<field name="FECHA_CERT_INI" class="java.sql.Timestamp"/>
	<field name="FECHA_CERT_FIN" class="java.sql.Timestamp"/>
	<field name="TIPO_NOR" class="java.lang.String"/>
	<field name="CODIGO_NOR" class="java.lang.String"/>
	<field name="FECHA_NOR" class="java.sql.Timestamp"/>
	<field name="ID_RH_DP_MF" class="java.math.BigDecimal"/>
	<field name="ID_TIPO_DOC" class="java.math.BigDecimal"/>
	<field name="NUM_DOC" class="java.lang.String"/>
	<field name="ID_DP" class="java.math.BigDecimal"/>
	<field name="ID_EA" class="java.math.BigDecimal"/>
	<field name="ID_SA_NIV2" class="java.math.BigDecimal"/>
	<field name="FECHA_INI" class="java.sql.Timestamp"/>
	<field name="FECHA_FIN" class="java.sql.Timestamp"/>
	<field name="CODIGO" class="java.math.BigDecimal"/>
	<field name="ID_MF_MF" class="java.math.BigDecimal"/>
	<field name="FECHA_I" class="java.sql.Timestamp"/>
	<field name="FECHA_F" class="java.sql.Timestamp"/>
	<field name="FUNCION" class="java.lang.String"/>
	<variable name="suma_dev" class="java.math.BigDecimal" calculation="Sum">
		<variableExpression><![CDATA[]]></variableExpression>
	</variable>
	<group name="manual">
		<groupExpression><![CDATA[$F{FECHA_CERT_INI}]]></groupExpression>
		<groupHeader>
			<band height="40">
				<textField isStretchWithOverflow="true">
					<reportElement stretchType="RelativeToBandHeight" x="0" y="5" width="468" height="25" isRemoveLineWhenBlank="true"/>
					<box leftPadding="0">
						<pen lineWidth="0.75"/>
						<topPen lineWidth="0.0"/>
						<leftPen lineWidth="0.0"/>
						<bottomPen lineWidth="0.0"/>
						<rightPen lineWidth="0.0"/>
					</box>
					<textElement textAlignment="Justified" verticalAlignment="Top">
						<font size="11"/>
					</textElement>
					<textFieldExpression class="java.lang.String"><![CDATA[( $F{REG_FIN} == 1
    ? "Del " + $F{DIA_INI} + " de " + $F{MES_INI} + " de " + $F{ANHO_INI} + " al " + $F{DIA_FIN} + " de " + $F{MES_FIN} + " de " + $F{ANHO_FIN} + " desempeño las siguientes funciones establecidas mediante " + $F{TIPO_NOR} + " " + $F{CODIGO_NOR} + " de " + $F{DIA_NOR} + " de " + $F{MES_NOR} + " de " + $F{ANHO_NOR} + " en el cargo denominado " + $F{DENOMINACION_COMP} + " Código " + $F{CODIGO_COMP} + " Grado " + $F{GRADO_COMP} + "."
    : "Desde el " + $F{DIA_INI} + " de " + $F{MES_INI} + " de " + $F{ANHO_INI} + " a la fecha desempeña las siguientes funciones contenidas en la " + $F{TIPO_NOR} + " " + $F{CODIGO_NOR} + " de " + $F{DIA_NOR} + " de " + $F{MES_NOR} + " de " + $F{ANHO_NOR} + "."
)]]></textFieldExpression>
				</textField>
			</band>
		</groupHeader>
		<groupFooter>
			<band/>
		</groupFooter>
	</group>
	<background>
		<band splitType="Stretch"/>
	</background>
	<detail>
		<band height="14" splitType="Stretch">
			<textField isStretchWithOverflow="true" isBlankWhenNull="true">
				<reportElement stretchType="RelativeToTallestObject" x="24" y="0" width="444" height="14"/>
				<box leftPadding="2"/>
				<textElement textAlignment="Justified" verticalAlignment="Top">
					<font size="11" isUnderline="false"/>
				</textElement>
				<textFieldExpression class="java.lang.String"><![CDATA[$F{FUNCION}]]></textFieldExpression>
			</textField>
			<textField isBlankWhenNull="true">
				<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="24" height="14"/>
				<box leftPadding="2"/>
				<textElement>
					<font size="11" isBold="true"/>
				</textElement>
				<textFieldExpression class="java.lang.String"><![CDATA[$F{CODIGO} + ". "]]></textFieldExpression>
			</textField>
		</band>
	</detail>
	<columnFooter>
		<band splitType="Stretch"/>
	</columnFooter>
	<pageFooter>
		<band splitType="Stretch"/>
	</pageFooter>
	<summary>
		<band splitType="Stretch"/>
	</summary>
	<noData>
		<band/>
	</noData>
</jasperReport>
