<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for FuncionariosERP StructType
 * Meta informations extracted from the WSDL
 * - nillable: true
 * - type: tns:FuncionariosERP
 * @subpackage Structs
 */
class FuncionariosERP extends AbstractStructBase
{
    /**
     * The Altura
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Altura;
    /**
     * The AplicabilidadeIRCT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AplicabilidadeIRCT;
    /**
     * The BancoConta
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $BancoConta;
    /**
     * The BaseCotizacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $BaseCotizacao;
    /**
     * The Bonificacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Bonificacao;
    /**
     * The CDU_ExtensaoFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_ExtensaoFoto;
    /**
     * The CDU_Foto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Foto;
    /**
     * The CDU_NomeFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_NomeFoto;
    /**
     * The CGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CGA;
    /**
     * The CargoPrincipal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CargoPrincipal;
    /**
     * The CartaConducao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CartaConducao;
    /**
     * The CartaoResidente
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CartaoResidente;
    /**
     * The Categoria
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Categoria;
    /**
     * The CategoriaEscalao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $CategoriaEscalao;
    /**
     * The Cirurgias
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Cirurgias;
    /**
     * The CodAlimDiasProc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodAlimDiasProc;
    /**
     * The CodAlimEspecie
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodAlimEspecie;
    /**
     * The CodAlimValorFixo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodAlimValorFixo;
    /**
     * The CodBanco
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodBanco;
    /**
     * The CodBancoEmpr
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodBancoEmpr;
    /**
     * The CodDepartamento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodDepartamento;
    /**
     * The CodEstabelecimento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodEstabelecimento;
    /**
     * The CodIRS
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodIRS;
    /**
     * The CodPag
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $CodPag;
    /**
     * The CodPostal1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodPostal1;
    /**
     * The CodPostal2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodPostal2;
    /**
     * The CodRepFinancas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodRepFinancas;
    /**
     * The CodSegSocial
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodSegSocial;
    /**
     * The CodSeguro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true | true
     * - pattern: [\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}
     * - type: tns:guid
     * @var string
     */
    public $CodSeguro;
    /**
     * The CodSindicato
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodSindicato;
    /**
     * The CodSituacaoQP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $CodSituacaoQP;
    /**
     * The Codigo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Codigo;
    /**
     * The Concelho
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Concelho;
    /**
     * The ConjugeDef
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $ConjugeDef;
    /**
     * The ContaEmpresa
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ContaEmpresa;
    /**
     * The Contrato
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Contrato;
    /**
     * The ContribuinteNaoResidente
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ContribuinteNaoResidente;
    /**
     * The CopaAmerica2007
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CopaAmerica2007;
    /**
     * The CustoPadrao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $CustoPadrao;
    /**
     * The DataAdmissao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataAdmissao;
    /**
     * The DataAvisoPrevio
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataAvisoPrevio;
    /**
     * The DataComunicacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataComunicacao;
    /**
     * The DataDemissao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataDemissao;
    /**
     * The DataEmBi
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataEmBi;
    /**
     * The DataEmIE
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataEmIE;
    /**
     * The DataEmPassaporte
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataEmPassaporte;
    /**
     * The DataEmissaoCR
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataEmissaoCR;
    /**
     * The DataFimBonificacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataFimBonificacao;
    /**
     * The DataFimContrato
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataFimContrato;
    /**
     * The DataHabilitacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataHabilitacao;
    /**
     * The DataIniProfissao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataIniProfissao;
    /**
     * The DataInicioBonificacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataInicioBonificacao;
    /**
     * The DataInspMedica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataInspMedica;
    /**
     * The DataNascimento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataNascimento;
    /**
     * The DataPromocao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataPromocao;
    /**
     * The DataProximaDiuturnidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataProximaDiuturnidade;
    /**
     * The DataQualif
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataQualif;
    /**
     * The DataReadmissao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataReadmissao;
    /**
     * The DataSubsFerias
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataSubsFerias;
    /**
     * The DataSubsNatal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataSubsNatal;
    /**
     * The DataUltAumento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataUltAumento;
    /**
     * The DataUltProcessamento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataUltProcessamento;
    /**
     * The DataValidadeBI
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataValidadeBI;
    /**
     * The DataValidadeCR
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataValidadeCR;
    /**
     * The DataValidadeCarta
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataValidadeCarta;
    /**
     * The DataValidadeIE
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataValidadeIE;
    /**
     * The DataValidadePassaporte
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataValidadePassaporte;
    /**
     * The DeficienciasCronicas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DeficienciasCronicas;
    /**
     * The DeficienciasFisicas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DeficienciasFisicas;
    /**
     * The DescricaoInspMedica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DescricaoInspMedica;
    /**
     * The DiasSubsFerias
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $DiasSubsFerias;
    /**
     * The DiasSubsNatal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $DiasSubsNatal;
    /**
     * The DiasSubsNatalJaPagos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $DiasSubsNatalJaPagos;
    /**
     * The Distrito
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Distrito;
    /**
     * The DiuturnidadeMensal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $DiuturnidadeMensal;
    /**
     * The Diuturnidades
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Diuturnidades;
    /**
     * The DoencasHereditarias
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DoencasHereditarias;
    /**
     * The DomicilioFiscal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $DomicilioFiscal;
    /**
     * The Email
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Email;
    /**
     * The EmprestimoBancario
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $EmprestimoBancario;
    /**
     * The EmprestimoBancarioAntesRegul
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $EmprestimoBancarioAntesRegul;
    /**
     * The EpigrafeAT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EpigrafeAT;
    /**
     * The EstadoCivil
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EstadoCivil;
    /**
     * The Extensao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Extensao;
    /**
     * The FormaPagSF
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $FormaPagSF;
    /**
     * The FormaPagSN
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $FormaPagSN;
    /**
     * The Foto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Foto;
    /**
     * The Freguesia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Freguesia;
    /**
     * The GastosDedutiveis
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $GastosDedutiveis;
    /**
     * The GrupoCotizacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $GrupoCotizacao;
    /**
     * The GrupoSanguineo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $GrupoSanguineo;
    /**
     * The GrupoTraco
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $GrupoTraco;
    /**
     * The Habilitacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Habilitacao;
    /**
     * The HoraEntradaM
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $HoraEntradaM;
    /**
     * The HoraEntradaT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $HoraEntradaT;
    /**
     * The HoraSaidaM
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $HoraSaidaM;
    /**
     * The HoraSaidaT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $HoraSaidaT;
    /**
     * The HorasSemana
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $HorasSemana;
    /**
     * The IRSFixo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $IRSFixo;
    /**
     * The IdGDOC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true | true
     * - pattern: [\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}
     * - type: tns:guid
     * @var string
     */
    public $IdGDOC;
    /**
     * The IniciaisNomeSegSocial
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $IniciaisNomeSegSocial;
    /**
     * The Instrumento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Instrumento;
    /**
     * The Isento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Isento;
    /**
     * The LigadoTimesheets
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $LigadoTimesheets;
    /**
     * The LimiteContribuicoesSegSocial
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $LimiteContribuicoesSegSocial;
    /**
     * The LimitesHExtraHorasAno
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $LimitesHExtraHorasAno;
    /**
     * The LimitesHExtraHorasFimSemana
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $LimitesHExtraHorasFimSemana;
    /**
     * The LimitesHExtraHorasSemana
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $LimitesHExtraHorasSemana;
    /**
     * The LimitesHExtraPercentagem
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $LimitesHExtraPercentagem;
    /**
     * The LocalEmBi
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LocalEmBi;
    /**
     * The LocalEmCR
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LocalEmCR;
    /**
     * The LocalEmIE
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LocalEmIE;
    /**
     * The LocalEmPassaporte
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LocalEmPassaporte;
    /**
     * The Localidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Localidade;
    /**
     * The MesSubsFerias
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $MesSubsFerias;
    /**
     * The MesSubsNatal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $MesSubsNatal;
    /**
     * The MinPessoalFamiliar
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $MinPessoalFamiliar;
    /**
     * The MobilidadeGeografica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $MobilidadeGeografica;
    /**
     * The MobilidadeReduzida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $MobilidadeReduzida;
    /**
     * The ModContratoCom
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ModContratoCom;
    /**
     * The Moeda
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Moeda;
    /**
     * The Morada
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Morada;
    /**
     * The MotivoAdmissao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $MotivoAdmissao;
    /**
     * The MotivoAumento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $MotivoAumento;
    /**
     * The MotivoPromocao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $MotivoPromocao;
    /**
     * The MotivoSaida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $MotivoSaida;
    /**
     * The Nacionalidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Nacionalidade;
    /**
     * The Naturalidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Naturalidade;
    /**
     * The NivelRemCGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NivelRemCGA;
    /**
     * The Nome
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Nome;
    /**
     * The NomeAbreviado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NomeAbreviado;
    /**
     * The NomeCGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NomeCGA;
    /**
     * The NomeConcelho
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NomeConcelho;
    /**
     * The NomeConjuge
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NomeConjuge;
    /**
     * The NomeDistrito
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NomeDistrito;
    /**
     * The NomeFreguesia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NomeFreguesia;
    /**
     * The Notas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Notas;
    /**
     * The NumBI
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumBI;
    /**
     * The NumBeneficiario
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumBeneficiario;
    /**
     * The NumCGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumCGA;
    /**
     * The NumContr
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumContr;
    /**
     * The NumDiuturnidadesCGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $NumDiuturnidadesCGA;
    /**
     * The NumHorasSemInstrumentos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $NumHorasSemInstrumentos;
    /**
     * The NumIE
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumIE;
    /**
     * The NumPassaporte
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumPassaporte;
    /**
     * The NumPeriodoProcessado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $NumPeriodoProcessado;
    /**
     * The NumSindicato
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumSindicato;
    /**
     * The OutrasDadosFisicos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $OutrasDadosFisicos;
    /**
     * The Pais
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Pais;
    /**
     * The PensaoConjuge
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PensaoConjuge;
    /**
     * The PensaoFilhos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PensaoFilhos;
    /**
     * The PercIncapacidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PercIncapacidade;
    /**
     * The PercVencParaSubsFerias
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PercVencParaSubsFerias;
    /**
     * The PercVencParaSubsNatal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PercVencParaSubsNatal;
    /**
     * The Periodo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Periodo;
    /**
     * The PeriodoExp
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $PeriodoExp;
    /**
     * The PertenceOrgaosSoc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $PertenceOrgaosSoc;
    /**
     * The PrimeiroApelido
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PrimeiroApelido;
    /**
     * The PrimeiroNome
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PrimeiroNome;
    /**
     * The ProcDiasAnterioresSF
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $ProcDiasAnterioresSF;
    /**
     * The ProcDiasAnterioresSN
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $ProcDiasAnterioresSN;
    /**
     * The Profissao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Profissao;
    /**
     * The ProlongacaoActLaboral
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ProlongacaoActLaboral;
    /**
     * The Protegida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Protegida;
    /**
     * The Qualificacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Qualificacao;
    /**
     * The RecursoCCOP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $RecursoCCOP;
    /**
     * The ReducaoIrregularidades
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ReducaoIrregularidades;
    /**
     * The RegTmpNumHorasCGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $RegTmpNumHorasCGA;
    /**
     * The RegTmpPercAcresCGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $RegTmpPercAcresCGA;
    /**
     * The RegTmpSituacaoCGA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $RegTmpSituacaoCGA;
    /**
     * The Regime
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $Regime;
    /**
     * The RegimeTrab
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $RegimeTrab;
    /**
     * The RetribAnuaisIniciais
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $RetribAnuaisIniciais;
    /**
     * The SalHora
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $SalHora;
    /**
     * The SegundoApelido
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SegundoApelido;
    /**
     * The Sexo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Sexo;
    /**
     * The Situacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Situacao;
    /**
     * The SituacaoFaceLei2098
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SituacaoFaceLei2098;
    /**
     * The SituacaoQP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SituacaoQP;
    /**
     * The SubsAlim1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $SubsAlim1;
    /**
     * The SubsAlim2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $SubsAlim2;
    /**
     * The SubsNatalProcessado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $SubsNatalProcessado;
    /**
     * The TabIRPS
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TabIRPS;
    /**
     * The Telefone
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Telefone;
    /**
     * The Telemovel
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Telemovel;
    /**
     * The TipoCalculoVencimento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TipoCalculoVencimento;
    /**
     * The TipoContrato
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoContrato;
    /**
     * The TipoMoeda
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TipoMoeda;
    /**
     * The TipoPessoal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoPessoal;
    /**
     * The TipoProcessamento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TipoProcessamento;
    /**
     * The TipoRendimento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoRendimento;
    /**
     * The TotalDepDeficientes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TotalDepDeficientes;
    /**
     * The TotalDependentes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TotalDependentes;
    /**
     * The TurnosDia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TurnosDia;
    /**
     * The TurnosTaxa
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TurnosTaxa;
    /**
     * The UltimaProgressao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $UltimaProgressao;
    /**
     * The UltimoAnoProcessado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $UltimoAnoProcessado;
    /**
     * The UtilizadoCCOP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $UtilizadoCCOP;
    /**
     * The UtilizadorComunicacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $UtilizadorComunicacao;
    /**
     * The ValorAbateAntesRegul
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $ValorAbateAntesRegul;
    /**
     * The ValorSubsAlim
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ValorSubsAlim;
    /**
     * The ValorSubsEsp
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ValorSubsEsp;
    /**
     * The Vencimento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Vencimento;
    /**
     * The VencimentoConjSupLimite
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $VencimentoConjSupLimite;
    /**
     * The VencimentoDiario
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $VencimentoDiario;
    /**
     * The VencimentoLiquidoEstimado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $VencimentoLiquidoEstimado;
    /**
     * The VencimentoMensal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $VencimentoMensal;
    /**
     * Constructor method for FuncionariosERP
     * @uses FuncionariosERP::setAltura()
     * @uses FuncionariosERP::setAplicabilidadeIRCT()
     * @uses FuncionariosERP::setBancoConta()
     * @uses FuncionariosERP::setBaseCotizacao()
     * @uses FuncionariosERP::setBonificacao()
     * @uses FuncionariosERP::setCDU_ExtensaoFoto()
     * @uses FuncionariosERP::setCDU_Foto()
     * @uses FuncionariosERP::setCDU_NomeFoto()
     * @uses FuncionariosERP::setCGA()
     * @uses FuncionariosERP::setCargoPrincipal()
     * @uses FuncionariosERP::setCartaConducao()
     * @uses FuncionariosERP::setCartaoResidente()
     * @uses FuncionariosERP::setCategoria()
     * @uses FuncionariosERP::setCategoriaEscalao()
     * @uses FuncionariosERP::setCirurgias()
     * @uses FuncionariosERP::setCodAlimDiasProc()
     * @uses FuncionariosERP::setCodAlimEspecie()
     * @uses FuncionariosERP::setCodAlimValorFixo()
     * @uses FuncionariosERP::setCodBanco()
     * @uses FuncionariosERP::setCodBancoEmpr()
     * @uses FuncionariosERP::setCodDepartamento()
     * @uses FuncionariosERP::setCodEstabelecimento()
     * @uses FuncionariosERP::setCodIRS()
     * @uses FuncionariosERP::setCodPag()
     * @uses FuncionariosERP::setCodPostal1()
     * @uses FuncionariosERP::setCodPostal2()
     * @uses FuncionariosERP::setCodRepFinancas()
     * @uses FuncionariosERP::setCodSegSocial()
     * @uses FuncionariosERP::setCodSeguro()
     * @uses FuncionariosERP::setCodSindicato()
     * @uses FuncionariosERP::setCodSituacaoQP()
     * @uses FuncionariosERP::setCodigo()
     * @uses FuncionariosERP::setConcelho()
     * @uses FuncionariosERP::setConjugeDef()
     * @uses FuncionariosERP::setContaEmpresa()
     * @uses FuncionariosERP::setContrato()
     * @uses FuncionariosERP::setContribuinteNaoResidente()
     * @uses FuncionariosERP::setCopaAmerica2007()
     * @uses FuncionariosERP::setCustoPadrao()
     * @uses FuncionariosERP::setDataAdmissao()
     * @uses FuncionariosERP::setDataAvisoPrevio()
     * @uses FuncionariosERP::setDataComunicacao()
     * @uses FuncionariosERP::setDataDemissao()
     * @uses FuncionariosERP::setDataEmBi()
     * @uses FuncionariosERP::setDataEmIE()
     * @uses FuncionariosERP::setDataEmPassaporte()
     * @uses FuncionariosERP::setDataEmissaoCR()
     * @uses FuncionariosERP::setDataFimBonificacao()
     * @uses FuncionariosERP::setDataFimContrato()
     * @uses FuncionariosERP::setDataHabilitacao()
     * @uses FuncionariosERP::setDataIniProfissao()
     * @uses FuncionariosERP::setDataInicioBonificacao()
     * @uses FuncionariosERP::setDataInspMedica()
     * @uses FuncionariosERP::setDataNascimento()
     * @uses FuncionariosERP::setDataPromocao()
     * @uses FuncionariosERP::setDataProximaDiuturnidade()
     * @uses FuncionariosERP::setDataQualif()
     * @uses FuncionariosERP::setDataReadmissao()
     * @uses FuncionariosERP::setDataSubsFerias()
     * @uses FuncionariosERP::setDataSubsNatal()
     * @uses FuncionariosERP::setDataUltAumento()
     * @uses FuncionariosERP::setDataUltProcessamento()
     * @uses FuncionariosERP::setDataValidadeBI()
     * @uses FuncionariosERP::setDataValidadeCR()
     * @uses FuncionariosERP::setDataValidadeCarta()
     * @uses FuncionariosERP::setDataValidadeIE()
     * @uses FuncionariosERP::setDataValidadePassaporte()
     * @uses FuncionariosERP::setDeficienciasCronicas()
     * @uses FuncionariosERP::setDeficienciasFisicas()
     * @uses FuncionariosERP::setDescricaoInspMedica()
     * @uses FuncionariosERP::setDiasSubsFerias()
     * @uses FuncionariosERP::setDiasSubsNatal()
     * @uses FuncionariosERP::setDiasSubsNatalJaPagos()
     * @uses FuncionariosERP::setDistrito()
     * @uses FuncionariosERP::setDiuturnidadeMensal()
     * @uses FuncionariosERP::setDiuturnidades()
     * @uses FuncionariosERP::setDoencasHereditarias()
     * @uses FuncionariosERP::setDomicilioFiscal()
     * @uses FuncionariosERP::setEmail()
     * @uses FuncionariosERP::setEmprestimoBancario()
     * @uses FuncionariosERP::setEmprestimoBancarioAntesRegul()
     * @uses FuncionariosERP::setEpigrafeAT()
     * @uses FuncionariosERP::setEstadoCivil()
     * @uses FuncionariosERP::setExtensao()
     * @uses FuncionariosERP::setFormaPagSF()
     * @uses FuncionariosERP::setFormaPagSN()
     * @uses FuncionariosERP::setFoto()
     * @uses FuncionariosERP::setFreguesia()
     * @uses FuncionariosERP::setGastosDedutiveis()
     * @uses FuncionariosERP::setGrupoCotizacao()
     * @uses FuncionariosERP::setGrupoSanguineo()
     * @uses FuncionariosERP::setGrupoTraco()
     * @uses FuncionariosERP::setHabilitacao()
     * @uses FuncionariosERP::setHoraEntradaM()
     * @uses FuncionariosERP::setHoraEntradaT()
     * @uses FuncionariosERP::setHoraSaidaM()
     * @uses FuncionariosERP::setHoraSaidaT()
     * @uses FuncionariosERP::setHorasSemana()
     * @uses FuncionariosERP::setIRSFixo()
     * @uses FuncionariosERP::setIdGDOC()
     * @uses FuncionariosERP::setIniciaisNomeSegSocial()
     * @uses FuncionariosERP::setInstrumento()
     * @uses FuncionariosERP::setIsento()
     * @uses FuncionariosERP::setLigadoTimesheets()
     * @uses FuncionariosERP::setLimiteContribuicoesSegSocial()
     * @uses FuncionariosERP::setLimitesHExtraHorasAno()
     * @uses FuncionariosERP::setLimitesHExtraHorasFimSemana()
     * @uses FuncionariosERP::setLimitesHExtraHorasSemana()
     * @uses FuncionariosERP::setLimitesHExtraPercentagem()
     * @uses FuncionariosERP::setLocalEmBi()
     * @uses FuncionariosERP::setLocalEmCR()
     * @uses FuncionariosERP::setLocalEmIE()
     * @uses FuncionariosERP::setLocalEmPassaporte()
     * @uses FuncionariosERP::setLocalidade()
     * @uses FuncionariosERP::setMesSubsFerias()
     * @uses FuncionariosERP::setMesSubsNatal()
     * @uses FuncionariosERP::setMinPessoalFamiliar()
     * @uses FuncionariosERP::setMobilidadeGeografica()
     * @uses FuncionariosERP::setMobilidadeReduzida()
     * @uses FuncionariosERP::setModContratoCom()
     * @uses FuncionariosERP::setMoeda()
     * @uses FuncionariosERP::setMorada()
     * @uses FuncionariosERP::setMotivoAdmissao()
     * @uses FuncionariosERP::setMotivoAumento()
     * @uses FuncionariosERP::setMotivoPromocao()
     * @uses FuncionariosERP::setMotivoSaida()
     * @uses FuncionariosERP::setNacionalidade()
     * @uses FuncionariosERP::setNaturalidade()
     * @uses FuncionariosERP::setNivelRemCGA()
     * @uses FuncionariosERP::setNome()
     * @uses FuncionariosERP::setNomeAbreviado()
     * @uses FuncionariosERP::setNomeCGA()
     * @uses FuncionariosERP::setNomeConcelho()
     * @uses FuncionariosERP::setNomeConjuge()
     * @uses FuncionariosERP::setNomeDistrito()
     * @uses FuncionariosERP::setNomeFreguesia()
     * @uses FuncionariosERP::setNotas()
     * @uses FuncionariosERP::setNumBI()
     * @uses FuncionariosERP::setNumBeneficiario()
     * @uses FuncionariosERP::setNumCGA()
     * @uses FuncionariosERP::setNumContr()
     * @uses FuncionariosERP::setNumDiuturnidadesCGA()
     * @uses FuncionariosERP::setNumHorasSemInstrumentos()
     * @uses FuncionariosERP::setNumIE()
     * @uses FuncionariosERP::setNumPassaporte()
     * @uses FuncionariosERP::setNumPeriodoProcessado()
     * @uses FuncionariosERP::setNumSindicato()
     * @uses FuncionariosERP::setOutrasDadosFisicos()
     * @uses FuncionariosERP::setPais()
     * @uses FuncionariosERP::setPensaoConjuge()
     * @uses FuncionariosERP::setPensaoFilhos()
     * @uses FuncionariosERP::setPercIncapacidade()
     * @uses FuncionariosERP::setPercVencParaSubsFerias()
     * @uses FuncionariosERP::setPercVencParaSubsNatal()
     * @uses FuncionariosERP::setPeriodo()
     * @uses FuncionariosERP::setPeriodoExp()
     * @uses FuncionariosERP::setPertenceOrgaosSoc()
     * @uses FuncionariosERP::setPrimeiroApelido()
     * @uses FuncionariosERP::setPrimeiroNome()
     * @uses FuncionariosERP::setProcDiasAnterioresSF()
     * @uses FuncionariosERP::setProcDiasAnterioresSN()
     * @uses FuncionariosERP::setProfissao()
     * @uses FuncionariosERP::setProlongacaoActLaboral()
     * @uses FuncionariosERP::setProtegida()
     * @uses FuncionariosERP::setQualificacao()
     * @uses FuncionariosERP::setRecursoCCOP()
     * @uses FuncionariosERP::setReducaoIrregularidades()
     * @uses FuncionariosERP::setRegTmpNumHorasCGA()
     * @uses FuncionariosERP::setRegTmpPercAcresCGA()
     * @uses FuncionariosERP::setRegTmpSituacaoCGA()
     * @uses FuncionariosERP::setRegime()
     * @uses FuncionariosERP::setRegimeTrab()
     * @uses FuncionariosERP::setRetribAnuaisIniciais()
     * @uses FuncionariosERP::setSalHora()
     * @uses FuncionariosERP::setSegundoApelido()
     * @uses FuncionariosERP::setSexo()
     * @uses FuncionariosERP::setSituacao()
     * @uses FuncionariosERP::setSituacaoFaceLei2098()
     * @uses FuncionariosERP::setSituacaoQP()
     * @uses FuncionariosERP::setSubsAlim1()
     * @uses FuncionariosERP::setSubsAlim2()
     * @uses FuncionariosERP::setSubsNatalProcessado()
     * @uses FuncionariosERP::setTabIRPS()
     * @uses FuncionariosERP::setTelefone()
     * @uses FuncionariosERP::setTelemovel()
     * @uses FuncionariosERP::setTipoCalculoVencimento()
     * @uses FuncionariosERP::setTipoContrato()
     * @uses FuncionariosERP::setTipoMoeda()
     * @uses FuncionariosERP::setTipoPessoal()
     * @uses FuncionariosERP::setTipoProcessamento()
     * @uses FuncionariosERP::setTipoRendimento()
     * @uses FuncionariosERP::setTotalDepDeficientes()
     * @uses FuncionariosERP::setTotalDependentes()
     * @uses FuncionariosERP::setTurnosDia()
     * @uses FuncionariosERP::setTurnosTaxa()
     * @uses FuncionariosERP::setUltimaProgressao()
     * @uses FuncionariosERP::setUltimoAnoProcessado()
     * @uses FuncionariosERP::setUtilizadoCCOP()
     * @uses FuncionariosERP::setUtilizadorComunicacao()
     * @uses FuncionariosERP::setValorAbateAntesRegul()
     * @uses FuncionariosERP::setValorSubsAlim()
     * @uses FuncionariosERP::setValorSubsEsp()
     * @uses FuncionariosERP::setVencimento()
     * @uses FuncionariosERP::setVencimentoConjSupLimite()
     * @uses FuncionariosERP::setVencimentoDiario()
     * @uses FuncionariosERP::setVencimentoLiquidoEstimado()
     * @uses FuncionariosERP::setVencimentoMensal()
     * @param float $altura
     * @param string $aplicabilidadeIRCT
     * @param string $bancoConta
     * @param float $baseCotizacao
     * @param string $bonificacao
     * @param string $cDU_ExtensaoFoto
     * @param string $cDU_Foto
     * @param string $cDU_NomeFoto
     * @param string $cGA
     * @param string $cargoPrincipal
     * @param string $cartaConducao
     * @param string $cartaoResidente
     * @param string $categoria
     * @param int $categoriaEscalao
     * @param string $cirurgias
     * @param string $codAlimDiasProc
     * @param string $codAlimEspecie
     * @param string $codAlimValorFixo
     * @param string $codBanco
     * @param string $codBancoEmpr
     * @param string $codDepartamento
     * @param string $codEstabelecimento
     * @param string $codIRS
     * @param int $codPag
     * @param string $codPostal1
     * @param string $codPostal2
     * @param string $codRepFinancas
     * @param string $codSegSocial
     * @param string $codSeguro
     * @param string $codSindicato
     * @param int $codSituacaoQP
     * @param string $codigo
     * @param string $concelho
     * @param bool $conjugeDef
     * @param string $contaEmpresa
     * @param string $contrato
     * @param string $contribuinteNaoResidente
     * @param bool $copaAmerica2007
     * @param float $custoPadrao
     * @param string $dataAdmissao
     * @param string $dataAvisoPrevio
     * @param string $dataComunicacao
     * @param string $dataDemissao
     * @param string $dataEmBi
     * @param string $dataEmIE
     * @param string $dataEmPassaporte
     * @param string $dataEmissaoCR
     * @param string $dataFimBonificacao
     * @param string $dataFimContrato
     * @param string $dataHabilitacao
     * @param string $dataIniProfissao
     * @param string $dataInicioBonificacao
     * @param string $dataInspMedica
     * @param string $dataNascimento
     * @param string $dataPromocao
     * @param string $dataProximaDiuturnidade
     * @param string $dataQualif
     * @param string $dataReadmissao
     * @param string $dataSubsFerias
     * @param string $dataSubsNatal
     * @param string $dataUltAumento
     * @param string $dataUltProcessamento
     * @param string $dataValidadeBI
     * @param string $dataValidadeCR
     * @param string $dataValidadeCarta
     * @param string $dataValidadeIE
     * @param string $dataValidadePassaporte
     * @param string $deficienciasCronicas
     * @param string $deficienciasFisicas
     * @param string $descricaoInspMedica
     * @param float $diasSubsFerias
     * @param float $diasSubsNatal
     * @param float $diasSubsNatalJaPagos
     * @param string $distrito
     * @param float $diuturnidadeMensal
     * @param float $diuturnidades
     * @param string $doencasHereditarias
     * @param int $domicilioFiscal
     * @param string $email
     * @param bool $emprestimoBancario
     * @param bool $emprestimoBancarioAntesRegul
     * @param string $epigrafeAT
     * @param string $estadoCivil
     * @param string $extensao
     * @param string $formaPagSF
     * @param string $formaPagSN
     * @param string $foto
     * @param string $freguesia
     * @param float $gastosDedutiveis
     * @param string $grupoCotizacao
     * @param string $grupoSanguineo
     * @param string $grupoTraco
     * @param string $habilitacao
     * @param float $horaEntradaM
     * @param float $horaEntradaT
     * @param float $horaSaidaM
     * @param float $horaSaidaT
     * @param float $horasSemana
     * @param float $iRSFixo
     * @param string $idGDOC
     * @param string $iniciaisNomeSegSocial
     * @param string $instrumento
     * @param bool $isento
     * @param bool $ligadoTimesheets
     * @param float $limiteContribuicoesSegSocial
     * @param float $limitesHExtraHorasAno
     * @param float $limitesHExtraHorasFimSemana
     * @param float $limitesHExtraHorasSemana
     * @param float $limitesHExtraPercentagem
     * @param string $localEmBi
     * @param string $localEmCR
     * @param string $localEmIE
     * @param string $localEmPassaporte
     * @param string $localidade
     * @param int $mesSubsFerias
     * @param int $mesSubsNatal
     * @param float $minPessoalFamiliar
     * @param bool $mobilidadeGeografica
     * @param bool $mobilidadeReduzida
     * @param string $modContratoCom
     * @param string $moeda
     * @param string $morada
     * @param string $motivoAdmissao
     * @param string $motivoAumento
     * @param string $motivoPromocao
     * @param string $motivoSaida
     * @param string $nacionalidade
     * @param string $naturalidade
     * @param string $nivelRemCGA
     * @param string $nome
     * @param string $nomeAbreviado
     * @param string $nomeCGA
     * @param string $nomeConcelho
     * @param string $nomeConjuge
     * @param string $nomeDistrito
     * @param string $nomeFreguesia
     * @param string $notas
     * @param string $numBI
     * @param string $numBeneficiario
     * @param string $numCGA
     * @param string $numContr
     * @param int $numDiuturnidadesCGA
     * @param bool $numHorasSemInstrumentos
     * @param string $numIE
     * @param string $numPassaporte
     * @param int $numPeriodoProcessado
     * @param string $numSindicato
     * @param string $outrasDadosFisicos
     * @param string $pais
     * @param float $pensaoConjuge
     * @param float $pensaoFilhos
     * @param float $percIncapacidade
     * @param string $percVencParaSubsFerias
     * @param string $percVencParaSubsNatal
     * @param string $periodo
     * @param int $periodoExp
     * @param bool $pertenceOrgaosSoc
     * @param string $primeiroApelido
     * @param string $primeiroNome
     * @param bool $procDiasAnterioresSF
     * @param bool $procDiasAnterioresSN
     * @param string $profissao
     * @param bool $prolongacaoActLaboral
     * @param bool $protegida
     * @param string $qualificacao
     * @param int $recursoCCOP
     * @param float $reducaoIrregularidades
     * @param float $regTmpNumHorasCGA
     * @param float $regTmpPercAcresCGA
     * @param string $regTmpSituacaoCGA
     * @param int $regime
     * @param string $regimeTrab
     * @param float $retribAnuaisIniciais
     * @param float $salHora
     * @param string $segundoApelido
     * @param string $sexo
     * @param string $situacao
     * @param string $situacaoFaceLei2098
     * @param string $situacaoQP
     * @param int $subsAlim1
     * @param int $subsAlim2
     * @param bool $subsNatalProcessado
     * @param string $tabIRPS
     * @param string $telefone
     * @param string $telemovel
     * @param int $tipoCalculoVencimento
     * @param string $tipoContrato
     * @param int $tipoMoeda
     * @param string $tipoPessoal
     * @param int $tipoProcessamento
     * @param string $tipoRendimento
     * @param int $totalDepDeficientes
     * @param int $totalDependentes
     * @param int $turnosDia
     * @param int $turnosTaxa
     * @param string $ultimaProgressao
     * @param int $ultimoAnoProcessado
     * @param bool $utilizadoCCOP
     * @param string $utilizadorComunicacao
     * @param float $valorAbateAntesRegul
     * @param float $valorSubsAlim
     * @param float $valorSubsEsp
     * @param float $vencimento
     * @param bool $vencimentoConjSupLimite
     * @param float $vencimentoDiario
     * @param float $vencimentoLiquidoEstimado
     * @param float $vencimentoMensal
     */
    public function __construct($altura = null, $aplicabilidadeIRCT = null, $bancoConta = null, $baseCotizacao = null, $bonificacao = null, $cDU_ExtensaoFoto = null, $cDU_Foto = null, $cDU_NomeFoto = null, $cGA = null, $cargoPrincipal = null, $cartaConducao = null, $cartaoResidente = null, $categoria = null, $categoriaEscalao = null, $cirurgias = null, $codAlimDiasProc = null, $codAlimEspecie = null, $codAlimValorFixo = null, $codBanco = null, $codBancoEmpr = null, $codDepartamento = null, $codEstabelecimento = null, $codIRS = null, $codPag = null, $codPostal1 = null, $codPostal2 = null, $codRepFinancas = null, $codSegSocial = null, $codSeguro = null, $codSindicato = null, $codSituacaoQP = null, $codigo = null, $concelho = null, $conjugeDef = null, $contaEmpresa = null, $contrato = null, $contribuinteNaoResidente = null, $copaAmerica2007 = null, $custoPadrao = null, $dataAdmissao = null, $dataAvisoPrevio = null, $dataComunicacao = null, $dataDemissao = null, $dataEmBi = null, $dataEmIE = null, $dataEmPassaporte = null, $dataEmissaoCR = null, $dataFimBonificacao = null, $dataFimContrato = null, $dataHabilitacao = null, $dataIniProfissao = null, $dataInicioBonificacao = null, $dataInspMedica = null, $dataNascimento = null, $dataPromocao = null, $dataProximaDiuturnidade = null, $dataQualif = null, $dataReadmissao = null, $dataSubsFerias = null, $dataSubsNatal = null, $dataUltAumento = null, $dataUltProcessamento = null, $dataValidadeBI = null, $dataValidadeCR = null, $dataValidadeCarta = null, $dataValidadeIE = null, $dataValidadePassaporte = null, $deficienciasCronicas = null, $deficienciasFisicas = null, $descricaoInspMedica = null, $diasSubsFerias = null, $diasSubsNatal = null, $diasSubsNatalJaPagos = null, $distrito = null, $diuturnidadeMensal = null, $diuturnidades = null, $doencasHereditarias = null, $domicilioFiscal = null, $email = null, $emprestimoBancario = null, $emprestimoBancarioAntesRegul = null, $epigrafeAT = null, $estadoCivil = null, $extensao = null, $formaPagSF = null, $formaPagSN = null, $foto = null, $freguesia = null, $gastosDedutiveis = null, $grupoCotizacao = null, $grupoSanguineo = null, $grupoTraco = null, $habilitacao = null, $horaEntradaM = null, $horaEntradaT = null, $horaSaidaM = null, $horaSaidaT = null, $horasSemana = null, $iRSFixo = null, $idGDOC = null, $iniciaisNomeSegSocial = null, $instrumento = null, $isento = null, $ligadoTimesheets = null, $limiteContribuicoesSegSocial = null, $limitesHExtraHorasAno = null, $limitesHExtraHorasFimSemana = null, $limitesHExtraHorasSemana = null, $limitesHExtraPercentagem = null, $localEmBi = null, $localEmCR = null, $localEmIE = null, $localEmPassaporte = null, $localidade = null, $mesSubsFerias = null, $mesSubsNatal = null, $minPessoalFamiliar = null, $mobilidadeGeografica = null, $mobilidadeReduzida = null, $modContratoCom = null, $moeda = null, $morada = null, $motivoAdmissao = null, $motivoAumento = null, $motivoPromocao = null, $motivoSaida = null, $nacionalidade = null, $naturalidade = null, $nivelRemCGA = null, $nome = null, $nomeAbreviado = null, $nomeCGA = null, $nomeConcelho = null, $nomeConjuge = null, $nomeDistrito = null, $nomeFreguesia = null, $notas = null, $numBI = null, $numBeneficiario = null, $numCGA = null, $numContr = null, $numDiuturnidadesCGA = null, $numHorasSemInstrumentos = null, $numIE = null, $numPassaporte = null, $numPeriodoProcessado = null, $numSindicato = null, $outrasDadosFisicos = null, $pais = null, $pensaoConjuge = null, $pensaoFilhos = null, $percIncapacidade = null, $percVencParaSubsFerias = null, $percVencParaSubsNatal = null, $periodo = null, $periodoExp = null, $pertenceOrgaosSoc = null, $primeiroApelido = null, $primeiroNome = null, $procDiasAnterioresSF = null, $procDiasAnterioresSN = null, $profissao = null, $prolongacaoActLaboral = null, $protegida = null, $qualificacao = null, $recursoCCOP = null, $reducaoIrregularidades = null, $regTmpNumHorasCGA = null, $regTmpPercAcresCGA = null, $regTmpSituacaoCGA = null, $regime = null, $regimeTrab = null, $retribAnuaisIniciais = null, $salHora = null, $segundoApelido = null, $sexo = null, $situacao = null, $situacaoFaceLei2098 = null, $situacaoQP = null, $subsAlim1 = null, $subsAlim2 = null, $subsNatalProcessado = null, $tabIRPS = null, $telefone = null, $telemovel = null, $tipoCalculoVencimento = null, $tipoContrato = null, $tipoMoeda = null, $tipoPessoal = null, $tipoProcessamento = null, $tipoRendimento = null, $totalDepDeficientes = null, $totalDependentes = null, $turnosDia = null, $turnosTaxa = null, $ultimaProgressao = null, $ultimoAnoProcessado = null, $utilizadoCCOP = null, $utilizadorComunicacao = null, $valorAbateAntesRegul = null, $valorSubsAlim = null, $valorSubsEsp = null, $vencimento = null, $vencimentoConjSupLimite = null, $vencimentoDiario = null, $vencimentoLiquidoEstimado = null, $vencimentoMensal = null)
    {
        $this
            ->setAltura($altura)
            ->setAplicabilidadeIRCT($aplicabilidadeIRCT)
            ->setBancoConta($bancoConta)
            ->setBaseCotizacao($baseCotizacao)
            ->setBonificacao($bonificacao)
            ->setCDU_ExtensaoFoto($cDU_ExtensaoFoto)
            ->setCDU_Foto($cDU_Foto)
            ->setCDU_NomeFoto($cDU_NomeFoto)
            ->setCGA($cGA)
            ->setCargoPrincipal($cargoPrincipal)
            ->setCartaConducao($cartaConducao)
            ->setCartaoResidente($cartaoResidente)
            ->setCategoria($categoria)
            ->setCategoriaEscalao($categoriaEscalao)
            ->setCirurgias($cirurgias)
            ->setCodAlimDiasProc($codAlimDiasProc)
            ->setCodAlimEspecie($codAlimEspecie)
            ->setCodAlimValorFixo($codAlimValorFixo)
            ->setCodBanco($codBanco)
            ->setCodBancoEmpr($codBancoEmpr)
            ->setCodDepartamento($codDepartamento)
            ->setCodEstabelecimento($codEstabelecimento)
            ->setCodIRS($codIRS)
            ->setCodPag($codPag)
            ->setCodPostal1($codPostal1)
            ->setCodPostal2($codPostal2)
            ->setCodRepFinancas($codRepFinancas)
            ->setCodSegSocial($codSegSocial)
            ->setCodSeguro($codSeguro)
            ->setCodSindicato($codSindicato)
            ->setCodSituacaoQP($codSituacaoQP)
            ->setCodigo($codigo)
            ->setConcelho($concelho)
            ->setConjugeDef($conjugeDef)
            ->setContaEmpresa($contaEmpresa)
            ->setContrato($contrato)
            ->setContribuinteNaoResidente($contribuinteNaoResidente)
            ->setCopaAmerica2007($copaAmerica2007)
            ->setCustoPadrao($custoPadrao)
            ->setDataAdmissao($dataAdmissao)
            ->setDataAvisoPrevio($dataAvisoPrevio)
            ->setDataComunicacao($dataComunicacao)
            ->setDataDemissao($dataDemissao)
            ->setDataEmBi($dataEmBi)
            ->setDataEmIE($dataEmIE)
            ->setDataEmPassaporte($dataEmPassaporte)
            ->setDataEmissaoCR($dataEmissaoCR)
            ->setDataFimBonificacao($dataFimBonificacao)
            ->setDataFimContrato($dataFimContrato)
            ->setDataHabilitacao($dataHabilitacao)
            ->setDataIniProfissao($dataIniProfissao)
            ->setDataInicioBonificacao($dataInicioBonificacao)
            ->setDataInspMedica($dataInspMedica)
            ->setDataNascimento($dataNascimento)
            ->setDataPromocao($dataPromocao)
            ->setDataProximaDiuturnidade($dataProximaDiuturnidade)
            ->setDataQualif($dataQualif)
            ->setDataReadmissao($dataReadmissao)
            ->setDataSubsFerias($dataSubsFerias)
            ->setDataSubsNatal($dataSubsNatal)
            ->setDataUltAumento($dataUltAumento)
            ->setDataUltProcessamento($dataUltProcessamento)
            ->setDataValidadeBI($dataValidadeBI)
            ->setDataValidadeCR($dataValidadeCR)
            ->setDataValidadeCarta($dataValidadeCarta)
            ->setDataValidadeIE($dataValidadeIE)
            ->setDataValidadePassaporte($dataValidadePassaporte)
            ->setDeficienciasCronicas($deficienciasCronicas)
            ->setDeficienciasFisicas($deficienciasFisicas)
            ->setDescricaoInspMedica($descricaoInspMedica)
            ->setDiasSubsFerias($diasSubsFerias)
            ->setDiasSubsNatal($diasSubsNatal)
            ->setDiasSubsNatalJaPagos($diasSubsNatalJaPagos)
            ->setDistrito($distrito)
            ->setDiuturnidadeMensal($diuturnidadeMensal)
            ->setDiuturnidades($diuturnidades)
            ->setDoencasHereditarias($doencasHereditarias)
            ->setDomicilioFiscal($domicilioFiscal)
            ->setEmail($email)
            ->setEmprestimoBancario($emprestimoBancario)
            ->setEmprestimoBancarioAntesRegul($emprestimoBancarioAntesRegul)
            ->setEpigrafeAT($epigrafeAT)
            ->setEstadoCivil($estadoCivil)
            ->setExtensao($extensao)
            ->setFormaPagSF($formaPagSF)
            ->setFormaPagSN($formaPagSN)
            ->setFoto($foto)
            ->setFreguesia($freguesia)
            ->setGastosDedutiveis($gastosDedutiveis)
            ->setGrupoCotizacao($grupoCotizacao)
            ->setGrupoSanguineo($grupoSanguineo)
            ->setGrupoTraco($grupoTraco)
            ->setHabilitacao($habilitacao)
            ->setHoraEntradaM($horaEntradaM)
            ->setHoraEntradaT($horaEntradaT)
            ->setHoraSaidaM($horaSaidaM)
            ->setHoraSaidaT($horaSaidaT)
            ->setHorasSemana($horasSemana)
            ->setIRSFixo($iRSFixo)
            ->setIdGDOC($idGDOC)
            ->setIniciaisNomeSegSocial($iniciaisNomeSegSocial)
            ->setInstrumento($instrumento)
            ->setIsento($isento)
            ->setLigadoTimesheets($ligadoTimesheets)
            ->setLimiteContribuicoesSegSocial($limiteContribuicoesSegSocial)
            ->setLimitesHExtraHorasAno($limitesHExtraHorasAno)
            ->setLimitesHExtraHorasFimSemana($limitesHExtraHorasFimSemana)
            ->setLimitesHExtraHorasSemana($limitesHExtraHorasSemana)
            ->setLimitesHExtraPercentagem($limitesHExtraPercentagem)
            ->setLocalEmBi($localEmBi)
            ->setLocalEmCR($localEmCR)
            ->setLocalEmIE($localEmIE)
            ->setLocalEmPassaporte($localEmPassaporte)
            ->setLocalidade($localidade)
            ->setMesSubsFerias($mesSubsFerias)
            ->setMesSubsNatal($mesSubsNatal)
            ->setMinPessoalFamiliar($minPessoalFamiliar)
            ->setMobilidadeGeografica($mobilidadeGeografica)
            ->setMobilidadeReduzida($mobilidadeReduzida)
            ->setModContratoCom($modContratoCom)
            ->setMoeda($moeda)
            ->setMorada($morada)
            ->setMotivoAdmissao($motivoAdmissao)
            ->setMotivoAumento($motivoAumento)
            ->setMotivoPromocao($motivoPromocao)
            ->setMotivoSaida($motivoSaida)
            ->setNacionalidade($nacionalidade)
            ->setNaturalidade($naturalidade)
            ->setNivelRemCGA($nivelRemCGA)
            ->setNome($nome)
            ->setNomeAbreviado($nomeAbreviado)
            ->setNomeCGA($nomeCGA)
            ->setNomeConcelho($nomeConcelho)
            ->setNomeConjuge($nomeConjuge)
            ->setNomeDistrito($nomeDistrito)
            ->setNomeFreguesia($nomeFreguesia)
            ->setNotas($notas)
            ->setNumBI($numBI)
            ->setNumBeneficiario($numBeneficiario)
            ->setNumCGA($numCGA)
            ->setNumContr($numContr)
            ->setNumDiuturnidadesCGA($numDiuturnidadesCGA)
            ->setNumHorasSemInstrumentos($numHorasSemInstrumentos)
            ->setNumIE($numIE)
            ->setNumPassaporte($numPassaporte)
            ->setNumPeriodoProcessado($numPeriodoProcessado)
            ->setNumSindicato($numSindicato)
            ->setOutrasDadosFisicos($outrasDadosFisicos)
            ->setPais($pais)
            ->setPensaoConjuge($pensaoConjuge)
            ->setPensaoFilhos($pensaoFilhos)
            ->setPercIncapacidade($percIncapacidade)
            ->setPercVencParaSubsFerias($percVencParaSubsFerias)
            ->setPercVencParaSubsNatal($percVencParaSubsNatal)
            ->setPeriodo($periodo)
            ->setPeriodoExp($periodoExp)
            ->setPertenceOrgaosSoc($pertenceOrgaosSoc)
            ->setPrimeiroApelido($primeiroApelido)
            ->setPrimeiroNome($primeiroNome)
            ->setProcDiasAnterioresSF($procDiasAnterioresSF)
            ->setProcDiasAnterioresSN($procDiasAnterioresSN)
            ->setProfissao($profissao)
            ->setProlongacaoActLaboral($prolongacaoActLaboral)
            ->setProtegida($protegida)
            ->setQualificacao($qualificacao)
            ->setRecursoCCOP($recursoCCOP)
            ->setReducaoIrregularidades($reducaoIrregularidades)
            ->setRegTmpNumHorasCGA($regTmpNumHorasCGA)
            ->setRegTmpPercAcresCGA($regTmpPercAcresCGA)
            ->setRegTmpSituacaoCGA($regTmpSituacaoCGA)
            ->setRegime($regime)
            ->setRegimeTrab($regimeTrab)
            ->setRetribAnuaisIniciais($retribAnuaisIniciais)
            ->setSalHora($salHora)
            ->setSegundoApelido($segundoApelido)
            ->setSexo($sexo)
            ->setSituacao($situacao)
            ->setSituacaoFaceLei2098($situacaoFaceLei2098)
            ->setSituacaoQP($situacaoQP)
            ->setSubsAlim1($subsAlim1)
            ->setSubsAlim2($subsAlim2)
            ->setSubsNatalProcessado($subsNatalProcessado)
            ->setTabIRPS($tabIRPS)
            ->setTelefone($telefone)
            ->setTelemovel($telemovel)
            ->setTipoCalculoVencimento($tipoCalculoVencimento)
            ->setTipoContrato($tipoContrato)
            ->setTipoMoeda($tipoMoeda)
            ->setTipoPessoal($tipoPessoal)
            ->setTipoProcessamento($tipoProcessamento)
            ->setTipoRendimento($tipoRendimento)
            ->setTotalDepDeficientes($totalDepDeficientes)
            ->setTotalDependentes($totalDependentes)
            ->setTurnosDia($turnosDia)
            ->setTurnosTaxa($turnosTaxa)
            ->setUltimaProgressao($ultimaProgressao)
            ->setUltimoAnoProcessado($ultimoAnoProcessado)
            ->setUtilizadoCCOP($utilizadoCCOP)
            ->setUtilizadorComunicacao($utilizadorComunicacao)
            ->setValorAbateAntesRegul($valorAbateAntesRegul)
            ->setValorSubsAlim($valorSubsAlim)
            ->setValorSubsEsp($valorSubsEsp)
            ->setVencimento($vencimento)
            ->setVencimentoConjSupLimite($vencimentoConjSupLimite)
            ->setVencimentoDiario($vencimentoDiario)
            ->setVencimentoLiquidoEstimado($vencimentoLiquidoEstimado)
            ->setVencimentoMensal($vencimentoMensal);
    }
    /**
     * Get Altura value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getAltura()
    {
        return isset($this->Altura) ? $this->Altura : null;
    }
    /**
     * Set Altura value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $altura
     * @return \StructType\FuncionariosERP
     */
    public function setAltura($altura = null)
    {
        if (is_null($altura) || (is_array($altura) && empty($altura))) {
            unset($this->Altura);
        } else {
            $this->Altura = $altura;
        }
        return $this;
    }
    /**
     * Get AplicabilidadeIRCT value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAplicabilidadeIRCT()
    {
        return isset($this->AplicabilidadeIRCT) ? $this->AplicabilidadeIRCT : null;
    }
    /**
     * Set AplicabilidadeIRCT value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $aplicabilidadeIRCT
     * @return \StructType\FuncionariosERP
     */
    public function setAplicabilidadeIRCT($aplicabilidadeIRCT = null)
    {
        // validation for constraint: string
        if (!is_null($aplicabilidadeIRCT) && !is_string($aplicabilidadeIRCT)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($aplicabilidadeIRCT)), __LINE__);
        }
        if (is_null($aplicabilidadeIRCT) || (is_array($aplicabilidadeIRCT) && empty($aplicabilidadeIRCT))) {
            unset($this->AplicabilidadeIRCT);
        } else {
            $this->AplicabilidadeIRCT = $aplicabilidadeIRCT;
        }
        return $this;
    }
    /**
     * Get BancoConta value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getBancoConta()
    {
        return isset($this->BancoConta) ? $this->BancoConta : null;
    }
    /**
     * Set BancoConta value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $bancoConta
     * @return \StructType\FuncionariosERP
     */
    public function setBancoConta($bancoConta = null)
    {
        // validation for constraint: string
        if (!is_null($bancoConta) && !is_string($bancoConta)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($bancoConta)), __LINE__);
        }
        if (is_null($bancoConta) || (is_array($bancoConta) && empty($bancoConta))) {
            unset($this->BancoConta);
        } else {
            $this->BancoConta = $bancoConta;
        }
        return $this;
    }
    /**
     * Get BaseCotizacao value
     * @return float|null
     */
    public function getBaseCotizacao()
    {
        return $this->BaseCotizacao;
    }
    /**
     * Set BaseCotizacao value
     * @param float $baseCotizacao
     * @return \StructType\FuncionariosERP
     */
    public function setBaseCotizacao($baseCotizacao = null)
    {
        $this->BaseCotizacao = $baseCotizacao;
        return $this;
    }
    /**
     * Get Bonificacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getBonificacao()
    {
        return isset($this->Bonificacao) ? $this->Bonificacao : null;
    }
    /**
     * Set Bonificacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $bonificacao
     * @return \StructType\FuncionariosERP
     */
    public function setBonificacao($bonificacao = null)
    {
        // validation for constraint: string
        if (!is_null($bonificacao) && !is_string($bonificacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($bonificacao)), __LINE__);
        }
        if (is_null($bonificacao) || (is_array($bonificacao) && empty($bonificacao))) {
            unset($this->Bonificacao);
        } else {
            $this->Bonificacao = $bonificacao;
        }
        return $this;
    }
    /**
     * Get CDU_ExtensaoFoto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_ExtensaoFoto()
    {
        return isset($this->CDU_ExtensaoFoto) ? $this->CDU_ExtensaoFoto : null;
    }
    /**
     * Set CDU_ExtensaoFoto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_ExtensaoFoto
     * @return \StructType\FuncionariosERP
     */
    public function setCDU_ExtensaoFoto($cDU_ExtensaoFoto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_ExtensaoFoto) && !is_string($cDU_ExtensaoFoto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_ExtensaoFoto)), __LINE__);
        }
        if (is_null($cDU_ExtensaoFoto) || (is_array($cDU_ExtensaoFoto) && empty($cDU_ExtensaoFoto))) {
            unset($this->CDU_ExtensaoFoto);
        } else {
            $this->CDU_ExtensaoFoto = $cDU_ExtensaoFoto;
        }
        return $this;
    }
    /**
     * Get CDU_Foto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Foto()
    {
        return isset($this->CDU_Foto) ? $this->CDU_Foto : null;
    }
    /**
     * Set CDU_Foto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Foto
     * @return \StructType\FuncionariosERP
     */
    public function setCDU_Foto($cDU_Foto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Foto) && !is_string($cDU_Foto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Foto)), __LINE__);
        }
        if (is_null($cDU_Foto) || (is_array($cDU_Foto) && empty($cDU_Foto))) {
            unset($this->CDU_Foto);
        } else {
            $this->CDU_Foto = $cDU_Foto;
        }
        return $this;
    }
    /**
     * Get CDU_NomeFoto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_NomeFoto()
    {
        return isset($this->CDU_NomeFoto) ? $this->CDU_NomeFoto : null;
    }
    /**
     * Set CDU_NomeFoto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_NomeFoto
     * @return \StructType\FuncionariosERP
     */
    public function setCDU_NomeFoto($cDU_NomeFoto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_NomeFoto) && !is_string($cDU_NomeFoto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_NomeFoto)), __LINE__);
        }
        if (is_null($cDU_NomeFoto) || (is_array($cDU_NomeFoto) && empty($cDU_NomeFoto))) {
            unset($this->CDU_NomeFoto);
        } else {
            $this->CDU_NomeFoto = $cDU_NomeFoto;
        }
        return $this;
    }
    /**
     * Get CGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCGA()
    {
        return isset($this->CGA) ? $this->CGA : null;
    }
    /**
     * Set CGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cGA
     * @return \StructType\FuncionariosERP
     */
    public function setCGA($cGA = null)
    {
        // validation for constraint: string
        if (!is_null($cGA) && !is_string($cGA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cGA)), __LINE__);
        }
        if (is_null($cGA) || (is_array($cGA) && empty($cGA))) {
            unset($this->CGA);
        } else {
            $this->CGA = $cGA;
        }
        return $this;
    }
    /**
     * Get CargoPrincipal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCargoPrincipal()
    {
        return isset($this->CargoPrincipal) ? $this->CargoPrincipal : null;
    }
    /**
     * Set CargoPrincipal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cargoPrincipal
     * @return \StructType\FuncionariosERP
     */
    public function setCargoPrincipal($cargoPrincipal = null)
    {
        // validation for constraint: string
        if (!is_null($cargoPrincipal) && !is_string($cargoPrincipal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cargoPrincipal)), __LINE__);
        }
        if (is_null($cargoPrincipal) || (is_array($cargoPrincipal) && empty($cargoPrincipal))) {
            unset($this->CargoPrincipal);
        } else {
            $this->CargoPrincipal = $cargoPrincipal;
        }
        return $this;
    }
    /**
     * Get CartaConducao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCartaConducao()
    {
        return isset($this->CartaConducao) ? $this->CartaConducao : null;
    }
    /**
     * Set CartaConducao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cartaConducao
     * @return \StructType\FuncionariosERP
     */
    public function setCartaConducao($cartaConducao = null)
    {
        // validation for constraint: string
        if (!is_null($cartaConducao) && !is_string($cartaConducao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cartaConducao)), __LINE__);
        }
        if (is_null($cartaConducao) || (is_array($cartaConducao) && empty($cartaConducao))) {
            unset($this->CartaConducao);
        } else {
            $this->CartaConducao = $cartaConducao;
        }
        return $this;
    }
    /**
     * Get CartaoResidente value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCartaoResidente()
    {
        return isset($this->CartaoResidente) ? $this->CartaoResidente : null;
    }
    /**
     * Set CartaoResidente value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cartaoResidente
     * @return \StructType\FuncionariosERP
     */
    public function setCartaoResidente($cartaoResidente = null)
    {
        // validation for constraint: string
        if (!is_null($cartaoResidente) && !is_string($cartaoResidente)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cartaoResidente)), __LINE__);
        }
        if (is_null($cartaoResidente) || (is_array($cartaoResidente) && empty($cartaoResidente))) {
            unset($this->CartaoResidente);
        } else {
            $this->CartaoResidente = $cartaoResidente;
        }
        return $this;
    }
    /**
     * Get Categoria value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCategoria()
    {
        return isset($this->Categoria) ? $this->Categoria : null;
    }
    /**
     * Set Categoria value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $categoria
     * @return \StructType\FuncionariosERP
     */
    public function setCategoria($categoria = null)
    {
        // validation for constraint: string
        if (!is_null($categoria) && !is_string($categoria)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($categoria)), __LINE__);
        }
        if (is_null($categoria) || (is_array($categoria) && empty($categoria))) {
            unset($this->Categoria);
        } else {
            $this->Categoria = $categoria;
        }
        return $this;
    }
    /**
     * Get CategoriaEscalao value
     * @return int|null
     */
    public function getCategoriaEscalao()
    {
        return $this->CategoriaEscalao;
    }
    /**
     * Set CategoriaEscalao value
     * @param int $categoriaEscalao
     * @return \StructType\FuncionariosERP
     */
    public function setCategoriaEscalao($categoriaEscalao = null)
    {
        // validation for constraint: int
        if (!is_null($categoriaEscalao) && !is_numeric($categoriaEscalao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($categoriaEscalao)), __LINE__);
        }
        $this->CategoriaEscalao = $categoriaEscalao;
        return $this;
    }
    /**
     * Get Cirurgias value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCirurgias()
    {
        return isset($this->Cirurgias) ? $this->Cirurgias : null;
    }
    /**
     * Set Cirurgias value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cirurgias
     * @return \StructType\FuncionariosERP
     */
    public function setCirurgias($cirurgias = null)
    {
        // validation for constraint: string
        if (!is_null($cirurgias) && !is_string($cirurgias)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cirurgias)), __LINE__);
        }
        if (is_null($cirurgias) || (is_array($cirurgias) && empty($cirurgias))) {
            unset($this->Cirurgias);
        } else {
            $this->Cirurgias = $cirurgias;
        }
        return $this;
    }
    /**
     * Get CodAlimDiasProc value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodAlimDiasProc()
    {
        return isset($this->CodAlimDiasProc) ? $this->CodAlimDiasProc : null;
    }
    /**
     * Set CodAlimDiasProc value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codAlimDiasProc
     * @return \StructType\FuncionariosERP
     */
    public function setCodAlimDiasProc($codAlimDiasProc = null)
    {
        // validation for constraint: string
        if (!is_null($codAlimDiasProc) && !is_string($codAlimDiasProc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codAlimDiasProc)), __LINE__);
        }
        if (is_null($codAlimDiasProc) || (is_array($codAlimDiasProc) && empty($codAlimDiasProc))) {
            unset($this->CodAlimDiasProc);
        } else {
            $this->CodAlimDiasProc = $codAlimDiasProc;
        }
        return $this;
    }
    /**
     * Get CodAlimEspecie value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodAlimEspecie()
    {
        return isset($this->CodAlimEspecie) ? $this->CodAlimEspecie : null;
    }
    /**
     * Set CodAlimEspecie value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codAlimEspecie
     * @return \StructType\FuncionariosERP
     */
    public function setCodAlimEspecie($codAlimEspecie = null)
    {
        // validation for constraint: string
        if (!is_null($codAlimEspecie) && !is_string($codAlimEspecie)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codAlimEspecie)), __LINE__);
        }
        if (is_null($codAlimEspecie) || (is_array($codAlimEspecie) && empty($codAlimEspecie))) {
            unset($this->CodAlimEspecie);
        } else {
            $this->CodAlimEspecie = $codAlimEspecie;
        }
        return $this;
    }
    /**
     * Get CodAlimValorFixo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodAlimValorFixo()
    {
        return isset($this->CodAlimValorFixo) ? $this->CodAlimValorFixo : null;
    }
    /**
     * Set CodAlimValorFixo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codAlimValorFixo
     * @return \StructType\FuncionariosERP
     */
    public function setCodAlimValorFixo($codAlimValorFixo = null)
    {
        // validation for constraint: string
        if (!is_null($codAlimValorFixo) && !is_string($codAlimValorFixo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codAlimValorFixo)), __LINE__);
        }
        if (is_null($codAlimValorFixo) || (is_array($codAlimValorFixo) && empty($codAlimValorFixo))) {
            unset($this->CodAlimValorFixo);
        } else {
            $this->CodAlimValorFixo = $codAlimValorFixo;
        }
        return $this;
    }
    /**
     * Get CodBanco value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodBanco()
    {
        return isset($this->CodBanco) ? $this->CodBanco : null;
    }
    /**
     * Set CodBanco value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codBanco
     * @return \StructType\FuncionariosERP
     */
    public function setCodBanco($codBanco = null)
    {
        // validation for constraint: string
        if (!is_null($codBanco) && !is_string($codBanco)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codBanco)), __LINE__);
        }
        if (is_null($codBanco) || (is_array($codBanco) && empty($codBanco))) {
            unset($this->CodBanco);
        } else {
            $this->CodBanco = $codBanco;
        }
        return $this;
    }
    /**
     * Get CodBancoEmpr value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodBancoEmpr()
    {
        return isset($this->CodBancoEmpr) ? $this->CodBancoEmpr : null;
    }
    /**
     * Set CodBancoEmpr value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codBancoEmpr
     * @return \StructType\FuncionariosERP
     */
    public function setCodBancoEmpr($codBancoEmpr = null)
    {
        // validation for constraint: string
        if (!is_null($codBancoEmpr) && !is_string($codBancoEmpr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codBancoEmpr)), __LINE__);
        }
        if (is_null($codBancoEmpr) || (is_array($codBancoEmpr) && empty($codBancoEmpr))) {
            unset($this->CodBancoEmpr);
        } else {
            $this->CodBancoEmpr = $codBancoEmpr;
        }
        return $this;
    }
    /**
     * Get CodDepartamento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodDepartamento()
    {
        return isset($this->CodDepartamento) ? $this->CodDepartamento : null;
    }
    /**
     * Set CodDepartamento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codDepartamento
     * @return \StructType\FuncionariosERP
     */
    public function setCodDepartamento($codDepartamento = null)
    {
        // validation for constraint: string
        if (!is_null($codDepartamento) && !is_string($codDepartamento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codDepartamento)), __LINE__);
        }
        if (is_null($codDepartamento) || (is_array($codDepartamento) && empty($codDepartamento))) {
            unset($this->CodDepartamento);
        } else {
            $this->CodDepartamento = $codDepartamento;
        }
        return $this;
    }
    /**
     * Get CodEstabelecimento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodEstabelecimento()
    {
        return isset($this->CodEstabelecimento) ? $this->CodEstabelecimento : null;
    }
    /**
     * Set CodEstabelecimento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codEstabelecimento
     * @return \StructType\FuncionariosERP
     */
    public function setCodEstabelecimento($codEstabelecimento = null)
    {
        // validation for constraint: string
        if (!is_null($codEstabelecimento) && !is_string($codEstabelecimento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codEstabelecimento)), __LINE__);
        }
        if (is_null($codEstabelecimento) || (is_array($codEstabelecimento) && empty($codEstabelecimento))) {
            unset($this->CodEstabelecimento);
        } else {
            $this->CodEstabelecimento = $codEstabelecimento;
        }
        return $this;
    }
    /**
     * Get CodIRS value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodIRS()
    {
        return isset($this->CodIRS) ? $this->CodIRS : null;
    }
    /**
     * Set CodIRS value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codIRS
     * @return \StructType\FuncionariosERP
     */
    public function setCodIRS($codIRS = null)
    {
        // validation for constraint: string
        if (!is_null($codIRS) && !is_string($codIRS)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codIRS)), __LINE__);
        }
        if (is_null($codIRS) || (is_array($codIRS) && empty($codIRS))) {
            unset($this->CodIRS);
        } else {
            $this->CodIRS = $codIRS;
        }
        return $this;
    }
    /**
     * Get CodPag value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getCodPag()
    {
        return isset($this->CodPag) ? $this->CodPag : null;
    }
    /**
     * Set CodPag value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $codPag
     * @return \StructType\FuncionariosERP
     */
    public function setCodPag($codPag = null)
    {
        // validation for constraint: int
        if (!is_null($codPag) && !is_numeric($codPag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($codPag)), __LINE__);
        }
        if (is_null($codPag) || (is_array($codPag) && empty($codPag))) {
            unset($this->CodPag);
        } else {
            $this->CodPag = $codPag;
        }
        return $this;
    }
    /**
     * Get CodPostal1 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodPostal1()
    {
        return isset($this->CodPostal1) ? $this->CodPostal1 : null;
    }
    /**
     * Set CodPostal1 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codPostal1
     * @return \StructType\FuncionariosERP
     */
    public function setCodPostal1($codPostal1 = null)
    {
        // validation for constraint: string
        if (!is_null($codPostal1) && !is_string($codPostal1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codPostal1)), __LINE__);
        }
        if (is_null($codPostal1) || (is_array($codPostal1) && empty($codPostal1))) {
            unset($this->CodPostal1);
        } else {
            $this->CodPostal1 = $codPostal1;
        }
        return $this;
    }
    /**
     * Get CodPostal2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodPostal2()
    {
        return isset($this->CodPostal2) ? $this->CodPostal2 : null;
    }
    /**
     * Set CodPostal2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codPostal2
     * @return \StructType\FuncionariosERP
     */
    public function setCodPostal2($codPostal2 = null)
    {
        // validation for constraint: string
        if (!is_null($codPostal2) && !is_string($codPostal2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codPostal2)), __LINE__);
        }
        if (is_null($codPostal2) || (is_array($codPostal2) && empty($codPostal2))) {
            unset($this->CodPostal2);
        } else {
            $this->CodPostal2 = $codPostal2;
        }
        return $this;
    }
    /**
     * Get CodRepFinancas value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodRepFinancas()
    {
        return isset($this->CodRepFinancas) ? $this->CodRepFinancas : null;
    }
    /**
     * Set CodRepFinancas value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codRepFinancas
     * @return \StructType\FuncionariosERP
     */
    public function setCodRepFinancas($codRepFinancas = null)
    {
        // validation for constraint: string
        if (!is_null($codRepFinancas) && !is_string($codRepFinancas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codRepFinancas)), __LINE__);
        }
        if (is_null($codRepFinancas) || (is_array($codRepFinancas) && empty($codRepFinancas))) {
            unset($this->CodRepFinancas);
        } else {
            $this->CodRepFinancas = $codRepFinancas;
        }
        return $this;
    }
    /**
     * Get CodSegSocial value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodSegSocial()
    {
        return isset($this->CodSegSocial) ? $this->CodSegSocial : null;
    }
    /**
     * Set CodSegSocial value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codSegSocial
     * @return \StructType\FuncionariosERP
     */
    public function setCodSegSocial($codSegSocial = null)
    {
        // validation for constraint: string
        if (!is_null($codSegSocial) && !is_string($codSegSocial)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codSegSocial)), __LINE__);
        }
        if (is_null($codSegSocial) || (is_array($codSegSocial) && empty($codSegSocial))) {
            unset($this->CodSegSocial);
        } else {
            $this->CodSegSocial = $codSegSocial;
        }
        return $this;
    }
    /**
     * Get CodSeguro value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodSeguro()
    {
        return isset($this->CodSeguro) ? $this->CodSeguro : null;
    }
    /**
     * Set CodSeguro value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codSeguro
     * @return \StructType\FuncionariosERP
     */
    public function setCodSeguro($codSeguro = null)
    {
        // validation for constraint: pattern
        if (is_scalar($codSeguro) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $codSeguro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}", "%s" given', var_export($codSeguro, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($codSeguro) && !is_string($codSeguro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codSeguro)), __LINE__);
        }
        if (is_null($codSeguro) || (is_array($codSeguro) && empty($codSeguro))) {
            unset($this->CodSeguro);
        } else {
            $this->CodSeguro = $codSeguro;
        }
        return $this;
    }
    /**
     * Get CodSindicato value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodSindicato()
    {
        return isset($this->CodSindicato) ? $this->CodSindicato : null;
    }
    /**
     * Set CodSindicato value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codSindicato
     * @return \StructType\FuncionariosERP
     */
    public function setCodSindicato($codSindicato = null)
    {
        // validation for constraint: string
        if (!is_null($codSindicato) && !is_string($codSindicato)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codSindicato)), __LINE__);
        }
        if (is_null($codSindicato) || (is_array($codSindicato) && empty($codSindicato))) {
            unset($this->CodSindicato);
        } else {
            $this->CodSindicato = $codSindicato;
        }
        return $this;
    }
    /**
     * Get CodSituacaoQP value
     * @return int|null
     */
    public function getCodSituacaoQP()
    {
        return $this->CodSituacaoQP;
    }
    /**
     * Set CodSituacaoQP value
     * @param int $codSituacaoQP
     * @return \StructType\FuncionariosERP
     */
    public function setCodSituacaoQP($codSituacaoQP = null)
    {
        // validation for constraint: int
        if (!is_null($codSituacaoQP) && !is_numeric($codSituacaoQP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($codSituacaoQP)), __LINE__);
        }
        $this->CodSituacaoQP = $codSituacaoQP;
        return $this;
    }
    /**
     * Get Codigo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCodigo()
    {
        return isset($this->Codigo) ? $this->Codigo : null;
    }
    /**
     * Set Codigo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $codigo
     * @return \StructType\FuncionariosERP
     */
    public function setCodigo($codigo = null)
    {
        // validation for constraint: string
        if (!is_null($codigo) && !is_string($codigo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codigo)), __LINE__);
        }
        if (is_null($codigo) || (is_array($codigo) && empty($codigo))) {
            unset($this->Codigo);
        } else {
            $this->Codigo = $codigo;
        }
        return $this;
    }
    /**
     * Get Concelho value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getConcelho()
    {
        return isset($this->Concelho) ? $this->Concelho : null;
    }
    /**
     * Set Concelho value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $concelho
     * @return \StructType\FuncionariosERP
     */
    public function setConcelho($concelho = null)
    {
        // validation for constraint: string
        if (!is_null($concelho) && !is_string($concelho)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($concelho)), __LINE__);
        }
        if (is_null($concelho) || (is_array($concelho) && empty($concelho))) {
            unset($this->Concelho);
        } else {
            $this->Concelho = $concelho;
        }
        return $this;
    }
    /**
     * Get ConjugeDef value
     * @return bool|null
     */
    public function getConjugeDef()
    {
        return $this->ConjugeDef;
    }
    /**
     * Set ConjugeDef value
     * @param bool $conjugeDef
     * @return \StructType\FuncionariosERP
     */
    public function setConjugeDef($conjugeDef = null)
    {
        // validation for constraint: boolean
        if (!is_null($conjugeDef) && !is_bool($conjugeDef)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($conjugeDef)), __LINE__);
        }
        $this->ConjugeDef = $conjugeDef;
        return $this;
    }
    /**
     * Get ContaEmpresa value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getContaEmpresa()
    {
        return isset($this->ContaEmpresa) ? $this->ContaEmpresa : null;
    }
    /**
     * Set ContaEmpresa value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $contaEmpresa
     * @return \StructType\FuncionariosERP
     */
    public function setContaEmpresa($contaEmpresa = null)
    {
        // validation for constraint: string
        if (!is_null($contaEmpresa) && !is_string($contaEmpresa)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($contaEmpresa)), __LINE__);
        }
        if (is_null($contaEmpresa) || (is_array($contaEmpresa) && empty($contaEmpresa))) {
            unset($this->ContaEmpresa);
        } else {
            $this->ContaEmpresa = $contaEmpresa;
        }
        return $this;
    }
    /**
     * Get Contrato value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getContrato()
    {
        return isset($this->Contrato) ? $this->Contrato : null;
    }
    /**
     * Set Contrato value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $contrato
     * @return \StructType\FuncionariosERP
     */
    public function setContrato($contrato = null)
    {
        // validation for constraint: string
        if (!is_null($contrato) && !is_string($contrato)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($contrato)), __LINE__);
        }
        if (is_null($contrato) || (is_array($contrato) && empty($contrato))) {
            unset($this->Contrato);
        } else {
            $this->Contrato = $contrato;
        }
        return $this;
    }
    /**
     * Get ContribuinteNaoResidente value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getContribuinteNaoResidente()
    {
        return isset($this->ContribuinteNaoResidente) ? $this->ContribuinteNaoResidente : null;
    }
    /**
     * Set ContribuinteNaoResidente value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $contribuinteNaoResidente
     * @return \StructType\FuncionariosERP
     */
    public function setContribuinteNaoResidente($contribuinteNaoResidente = null)
    {
        // validation for constraint: string
        if (!is_null($contribuinteNaoResidente) && !is_string($contribuinteNaoResidente)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($contribuinteNaoResidente)), __LINE__);
        }
        if (is_null($contribuinteNaoResidente) || (is_array($contribuinteNaoResidente) && empty($contribuinteNaoResidente))) {
            unset($this->ContribuinteNaoResidente);
        } else {
            $this->ContribuinteNaoResidente = $contribuinteNaoResidente;
        }
        return $this;
    }
    /**
     * Get CopaAmerica2007 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getCopaAmerica2007()
    {
        return isset($this->CopaAmerica2007) ? $this->CopaAmerica2007 : null;
    }
    /**
     * Set CopaAmerica2007 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $copaAmerica2007
     * @return \StructType\FuncionariosERP
     */
    public function setCopaAmerica2007($copaAmerica2007 = null)
    {
        // validation for constraint: boolean
        if (!is_null($copaAmerica2007) && !is_bool($copaAmerica2007)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($copaAmerica2007)), __LINE__);
        }
        if (is_null($copaAmerica2007) || (is_array($copaAmerica2007) && empty($copaAmerica2007))) {
            unset($this->CopaAmerica2007);
        } else {
            $this->CopaAmerica2007 = $copaAmerica2007;
        }
        return $this;
    }
    /**
     * Get CustoPadrao value
     * @return float|null
     */
    public function getCustoPadrao()
    {
        return $this->CustoPadrao;
    }
    /**
     * Set CustoPadrao value
     * @param float $custoPadrao
     * @return \StructType\FuncionariosERP
     */
    public function setCustoPadrao($custoPadrao = null)
    {
        $this->CustoPadrao = $custoPadrao;
        return $this;
    }
    /**
     * Get DataAdmissao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataAdmissao()
    {
        return isset($this->DataAdmissao) ? $this->DataAdmissao : null;
    }
    /**
     * Set DataAdmissao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataAdmissao
     * @return \StructType\FuncionariosERP
     */
    public function setDataAdmissao($dataAdmissao = null)
    {
        // validation for constraint: string
        if (!is_null($dataAdmissao) && !is_string($dataAdmissao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataAdmissao)), __LINE__);
        }
        if (is_null($dataAdmissao) || (is_array($dataAdmissao) && empty($dataAdmissao))) {
            unset($this->DataAdmissao);
        } else {
            $this->DataAdmissao = $dataAdmissao;
        }
        return $this;
    }
    /**
     * Get DataAvisoPrevio value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataAvisoPrevio()
    {
        return isset($this->DataAvisoPrevio) ? $this->DataAvisoPrevio : null;
    }
    /**
     * Set DataAvisoPrevio value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataAvisoPrevio
     * @return \StructType\FuncionariosERP
     */
    public function setDataAvisoPrevio($dataAvisoPrevio = null)
    {
        // validation for constraint: string
        if (!is_null($dataAvisoPrevio) && !is_string($dataAvisoPrevio)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataAvisoPrevio)), __LINE__);
        }
        if (is_null($dataAvisoPrevio) || (is_array($dataAvisoPrevio) && empty($dataAvisoPrevio))) {
            unset($this->DataAvisoPrevio);
        } else {
            $this->DataAvisoPrevio = $dataAvisoPrevio;
        }
        return $this;
    }
    /**
     * Get DataComunicacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataComunicacao()
    {
        return isset($this->DataComunicacao) ? $this->DataComunicacao : null;
    }
    /**
     * Set DataComunicacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataComunicacao
     * @return \StructType\FuncionariosERP
     */
    public function setDataComunicacao($dataComunicacao = null)
    {
        // validation for constraint: string
        if (!is_null($dataComunicacao) && !is_string($dataComunicacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataComunicacao)), __LINE__);
        }
        if (is_null($dataComunicacao) || (is_array($dataComunicacao) && empty($dataComunicacao))) {
            unset($this->DataComunicacao);
        } else {
            $this->DataComunicacao = $dataComunicacao;
        }
        return $this;
    }
    /**
     * Get DataDemissao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataDemissao()
    {
        return isset($this->DataDemissao) ? $this->DataDemissao : null;
    }
    /**
     * Set DataDemissao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataDemissao
     * @return \StructType\FuncionariosERP
     */
    public function setDataDemissao($dataDemissao = null)
    {
        // validation for constraint: string
        if (!is_null($dataDemissao) && !is_string($dataDemissao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataDemissao)), __LINE__);
        }
        if (is_null($dataDemissao) || (is_array($dataDemissao) && empty($dataDemissao))) {
            unset($this->DataDemissao);
        } else {
            $this->DataDemissao = $dataDemissao;
        }
        return $this;
    }
    /**
     * Get DataEmBi value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataEmBi()
    {
        return isset($this->DataEmBi) ? $this->DataEmBi : null;
    }
    /**
     * Set DataEmBi value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataEmBi
     * @return \StructType\FuncionariosERP
     */
    public function setDataEmBi($dataEmBi = null)
    {
        // validation for constraint: string
        if (!is_null($dataEmBi) && !is_string($dataEmBi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataEmBi)), __LINE__);
        }
        if (is_null($dataEmBi) || (is_array($dataEmBi) && empty($dataEmBi))) {
            unset($this->DataEmBi);
        } else {
            $this->DataEmBi = $dataEmBi;
        }
        return $this;
    }
    /**
     * Get DataEmIE value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataEmIE()
    {
        return isset($this->DataEmIE) ? $this->DataEmIE : null;
    }
    /**
     * Set DataEmIE value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataEmIE
     * @return \StructType\FuncionariosERP
     */
    public function setDataEmIE($dataEmIE = null)
    {
        // validation for constraint: string
        if (!is_null($dataEmIE) && !is_string($dataEmIE)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataEmIE)), __LINE__);
        }
        if (is_null($dataEmIE) || (is_array($dataEmIE) && empty($dataEmIE))) {
            unset($this->DataEmIE);
        } else {
            $this->DataEmIE = $dataEmIE;
        }
        return $this;
    }
    /**
     * Get DataEmPassaporte value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataEmPassaporte()
    {
        return isset($this->DataEmPassaporte) ? $this->DataEmPassaporte : null;
    }
    /**
     * Set DataEmPassaporte value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataEmPassaporte
     * @return \StructType\FuncionariosERP
     */
    public function setDataEmPassaporte($dataEmPassaporte = null)
    {
        // validation for constraint: string
        if (!is_null($dataEmPassaporte) && !is_string($dataEmPassaporte)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataEmPassaporte)), __LINE__);
        }
        if (is_null($dataEmPassaporte) || (is_array($dataEmPassaporte) && empty($dataEmPassaporte))) {
            unset($this->DataEmPassaporte);
        } else {
            $this->DataEmPassaporte = $dataEmPassaporte;
        }
        return $this;
    }
    /**
     * Get DataEmissaoCR value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataEmissaoCR()
    {
        return isset($this->DataEmissaoCR) ? $this->DataEmissaoCR : null;
    }
    /**
     * Set DataEmissaoCR value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataEmissaoCR
     * @return \StructType\FuncionariosERP
     */
    public function setDataEmissaoCR($dataEmissaoCR = null)
    {
        // validation for constraint: string
        if (!is_null($dataEmissaoCR) && !is_string($dataEmissaoCR)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataEmissaoCR)), __LINE__);
        }
        if (is_null($dataEmissaoCR) || (is_array($dataEmissaoCR) && empty($dataEmissaoCR))) {
            unset($this->DataEmissaoCR);
        } else {
            $this->DataEmissaoCR = $dataEmissaoCR;
        }
        return $this;
    }
    /**
     * Get DataFimBonificacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataFimBonificacao()
    {
        return isset($this->DataFimBonificacao) ? $this->DataFimBonificacao : null;
    }
    /**
     * Set DataFimBonificacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataFimBonificacao
     * @return \StructType\FuncionariosERP
     */
    public function setDataFimBonificacao($dataFimBonificacao = null)
    {
        // validation for constraint: string
        if (!is_null($dataFimBonificacao) && !is_string($dataFimBonificacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataFimBonificacao)), __LINE__);
        }
        if (is_null($dataFimBonificacao) || (is_array($dataFimBonificacao) && empty($dataFimBonificacao))) {
            unset($this->DataFimBonificacao);
        } else {
            $this->DataFimBonificacao = $dataFimBonificacao;
        }
        return $this;
    }
    /**
     * Get DataFimContrato value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataFimContrato()
    {
        return isset($this->DataFimContrato) ? $this->DataFimContrato : null;
    }
    /**
     * Set DataFimContrato value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataFimContrato
     * @return \StructType\FuncionariosERP
     */
    public function setDataFimContrato($dataFimContrato = null)
    {
        // validation for constraint: string
        if (!is_null($dataFimContrato) && !is_string($dataFimContrato)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataFimContrato)), __LINE__);
        }
        if (is_null($dataFimContrato) || (is_array($dataFimContrato) && empty($dataFimContrato))) {
            unset($this->DataFimContrato);
        } else {
            $this->DataFimContrato = $dataFimContrato;
        }
        return $this;
    }
    /**
     * Get DataHabilitacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataHabilitacao()
    {
        return isset($this->DataHabilitacao) ? $this->DataHabilitacao : null;
    }
    /**
     * Set DataHabilitacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataHabilitacao
     * @return \StructType\FuncionariosERP
     */
    public function setDataHabilitacao($dataHabilitacao = null)
    {
        // validation for constraint: string
        if (!is_null($dataHabilitacao) && !is_string($dataHabilitacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataHabilitacao)), __LINE__);
        }
        if (is_null($dataHabilitacao) || (is_array($dataHabilitacao) && empty($dataHabilitacao))) {
            unset($this->DataHabilitacao);
        } else {
            $this->DataHabilitacao = $dataHabilitacao;
        }
        return $this;
    }
    /**
     * Get DataIniProfissao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataIniProfissao()
    {
        return isset($this->DataIniProfissao) ? $this->DataIniProfissao : null;
    }
    /**
     * Set DataIniProfissao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataIniProfissao
     * @return \StructType\FuncionariosERP
     */
    public function setDataIniProfissao($dataIniProfissao = null)
    {
        // validation for constraint: string
        if (!is_null($dataIniProfissao) && !is_string($dataIniProfissao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataIniProfissao)), __LINE__);
        }
        if (is_null($dataIniProfissao) || (is_array($dataIniProfissao) && empty($dataIniProfissao))) {
            unset($this->DataIniProfissao);
        } else {
            $this->DataIniProfissao = $dataIniProfissao;
        }
        return $this;
    }
    /**
     * Get DataInicioBonificacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataInicioBonificacao()
    {
        return isset($this->DataInicioBonificacao) ? $this->DataInicioBonificacao : null;
    }
    /**
     * Set DataInicioBonificacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataInicioBonificacao
     * @return \StructType\FuncionariosERP
     */
    public function setDataInicioBonificacao($dataInicioBonificacao = null)
    {
        // validation for constraint: string
        if (!is_null($dataInicioBonificacao) && !is_string($dataInicioBonificacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataInicioBonificacao)), __LINE__);
        }
        if (is_null($dataInicioBonificacao) || (is_array($dataInicioBonificacao) && empty($dataInicioBonificacao))) {
            unset($this->DataInicioBonificacao);
        } else {
            $this->DataInicioBonificacao = $dataInicioBonificacao;
        }
        return $this;
    }
    /**
     * Get DataInspMedica value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataInspMedica()
    {
        return isset($this->DataInspMedica) ? $this->DataInspMedica : null;
    }
    /**
     * Set DataInspMedica value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataInspMedica
     * @return \StructType\FuncionariosERP
     */
    public function setDataInspMedica($dataInspMedica = null)
    {
        // validation for constraint: string
        if (!is_null($dataInspMedica) && !is_string($dataInspMedica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataInspMedica)), __LINE__);
        }
        if (is_null($dataInspMedica) || (is_array($dataInspMedica) && empty($dataInspMedica))) {
            unset($this->DataInspMedica);
        } else {
            $this->DataInspMedica = $dataInspMedica;
        }
        return $this;
    }
    /**
     * Get DataNascimento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataNascimento()
    {
        return isset($this->DataNascimento) ? $this->DataNascimento : null;
    }
    /**
     * Set DataNascimento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataNascimento
     * @return \StructType\FuncionariosERP
     */
    public function setDataNascimento($dataNascimento = null)
    {
        // validation for constraint: string
        if (!is_null($dataNascimento) && !is_string($dataNascimento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataNascimento)), __LINE__);
        }
        if (is_null($dataNascimento) || (is_array($dataNascimento) && empty($dataNascimento))) {
            unset($this->DataNascimento);
        } else {
            $this->DataNascimento = $dataNascimento;
        }
        return $this;
    }
    /**
     * Get DataPromocao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataPromocao()
    {
        return isset($this->DataPromocao) ? $this->DataPromocao : null;
    }
    /**
     * Set DataPromocao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataPromocao
     * @return \StructType\FuncionariosERP
     */
    public function setDataPromocao($dataPromocao = null)
    {
        // validation for constraint: string
        if (!is_null($dataPromocao) && !is_string($dataPromocao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataPromocao)), __LINE__);
        }
        if (is_null($dataPromocao) || (is_array($dataPromocao) && empty($dataPromocao))) {
            unset($this->DataPromocao);
        } else {
            $this->DataPromocao = $dataPromocao;
        }
        return $this;
    }
    /**
     * Get DataProximaDiuturnidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataProximaDiuturnidade()
    {
        return isset($this->DataProximaDiuturnidade) ? $this->DataProximaDiuturnidade : null;
    }
    /**
     * Set DataProximaDiuturnidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataProximaDiuturnidade
     * @return \StructType\FuncionariosERP
     */
    public function setDataProximaDiuturnidade($dataProximaDiuturnidade = null)
    {
        // validation for constraint: string
        if (!is_null($dataProximaDiuturnidade) && !is_string($dataProximaDiuturnidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataProximaDiuturnidade)), __LINE__);
        }
        if (is_null($dataProximaDiuturnidade) || (is_array($dataProximaDiuturnidade) && empty($dataProximaDiuturnidade))) {
            unset($this->DataProximaDiuturnidade);
        } else {
            $this->DataProximaDiuturnidade = $dataProximaDiuturnidade;
        }
        return $this;
    }
    /**
     * Get DataQualif value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataQualif()
    {
        return isset($this->DataQualif) ? $this->DataQualif : null;
    }
    /**
     * Set DataQualif value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataQualif
     * @return \StructType\FuncionariosERP
     */
    public function setDataQualif($dataQualif = null)
    {
        // validation for constraint: string
        if (!is_null($dataQualif) && !is_string($dataQualif)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataQualif)), __LINE__);
        }
        if (is_null($dataQualif) || (is_array($dataQualif) && empty($dataQualif))) {
            unset($this->DataQualif);
        } else {
            $this->DataQualif = $dataQualif;
        }
        return $this;
    }
    /**
     * Get DataReadmissao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataReadmissao()
    {
        return isset($this->DataReadmissao) ? $this->DataReadmissao : null;
    }
    /**
     * Set DataReadmissao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataReadmissao
     * @return \StructType\FuncionariosERP
     */
    public function setDataReadmissao($dataReadmissao = null)
    {
        // validation for constraint: string
        if (!is_null($dataReadmissao) && !is_string($dataReadmissao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataReadmissao)), __LINE__);
        }
        if (is_null($dataReadmissao) || (is_array($dataReadmissao) && empty($dataReadmissao))) {
            unset($this->DataReadmissao);
        } else {
            $this->DataReadmissao = $dataReadmissao;
        }
        return $this;
    }
    /**
     * Get DataSubsFerias value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataSubsFerias()
    {
        return isset($this->DataSubsFerias) ? $this->DataSubsFerias : null;
    }
    /**
     * Set DataSubsFerias value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataSubsFerias
     * @return \StructType\FuncionariosERP
     */
    public function setDataSubsFerias($dataSubsFerias = null)
    {
        // validation for constraint: string
        if (!is_null($dataSubsFerias) && !is_string($dataSubsFerias)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataSubsFerias)), __LINE__);
        }
        if (is_null($dataSubsFerias) || (is_array($dataSubsFerias) && empty($dataSubsFerias))) {
            unset($this->DataSubsFerias);
        } else {
            $this->DataSubsFerias = $dataSubsFerias;
        }
        return $this;
    }
    /**
     * Get DataSubsNatal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataSubsNatal()
    {
        return isset($this->DataSubsNatal) ? $this->DataSubsNatal : null;
    }
    /**
     * Set DataSubsNatal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataSubsNatal
     * @return \StructType\FuncionariosERP
     */
    public function setDataSubsNatal($dataSubsNatal = null)
    {
        // validation for constraint: string
        if (!is_null($dataSubsNatal) && !is_string($dataSubsNatal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataSubsNatal)), __LINE__);
        }
        if (is_null($dataSubsNatal) || (is_array($dataSubsNatal) && empty($dataSubsNatal))) {
            unset($this->DataSubsNatal);
        } else {
            $this->DataSubsNatal = $dataSubsNatal;
        }
        return $this;
    }
    /**
     * Get DataUltAumento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataUltAumento()
    {
        return isset($this->DataUltAumento) ? $this->DataUltAumento : null;
    }
    /**
     * Set DataUltAumento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataUltAumento
     * @return \StructType\FuncionariosERP
     */
    public function setDataUltAumento($dataUltAumento = null)
    {
        // validation for constraint: string
        if (!is_null($dataUltAumento) && !is_string($dataUltAumento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataUltAumento)), __LINE__);
        }
        if (is_null($dataUltAumento) || (is_array($dataUltAumento) && empty($dataUltAumento))) {
            unset($this->DataUltAumento);
        } else {
            $this->DataUltAumento = $dataUltAumento;
        }
        return $this;
    }
    /**
     * Get DataUltProcessamento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataUltProcessamento()
    {
        return isset($this->DataUltProcessamento) ? $this->DataUltProcessamento : null;
    }
    /**
     * Set DataUltProcessamento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataUltProcessamento
     * @return \StructType\FuncionariosERP
     */
    public function setDataUltProcessamento($dataUltProcessamento = null)
    {
        // validation for constraint: string
        if (!is_null($dataUltProcessamento) && !is_string($dataUltProcessamento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataUltProcessamento)), __LINE__);
        }
        if (is_null($dataUltProcessamento) || (is_array($dataUltProcessamento) && empty($dataUltProcessamento))) {
            unset($this->DataUltProcessamento);
        } else {
            $this->DataUltProcessamento = $dataUltProcessamento;
        }
        return $this;
    }
    /**
     * Get DataValidadeBI value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataValidadeBI()
    {
        return isset($this->DataValidadeBI) ? $this->DataValidadeBI : null;
    }
    /**
     * Set DataValidadeBI value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataValidadeBI
     * @return \StructType\FuncionariosERP
     */
    public function setDataValidadeBI($dataValidadeBI = null)
    {
        // validation for constraint: string
        if (!is_null($dataValidadeBI) && !is_string($dataValidadeBI)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataValidadeBI)), __LINE__);
        }
        if (is_null($dataValidadeBI) || (is_array($dataValidadeBI) && empty($dataValidadeBI))) {
            unset($this->DataValidadeBI);
        } else {
            $this->DataValidadeBI = $dataValidadeBI;
        }
        return $this;
    }
    /**
     * Get DataValidadeCR value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataValidadeCR()
    {
        return isset($this->DataValidadeCR) ? $this->DataValidadeCR : null;
    }
    /**
     * Set DataValidadeCR value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataValidadeCR
     * @return \StructType\FuncionariosERP
     */
    public function setDataValidadeCR($dataValidadeCR = null)
    {
        // validation for constraint: string
        if (!is_null($dataValidadeCR) && !is_string($dataValidadeCR)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataValidadeCR)), __LINE__);
        }
        if (is_null($dataValidadeCR) || (is_array($dataValidadeCR) && empty($dataValidadeCR))) {
            unset($this->DataValidadeCR);
        } else {
            $this->DataValidadeCR = $dataValidadeCR;
        }
        return $this;
    }
    /**
     * Get DataValidadeCarta value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataValidadeCarta()
    {
        return isset($this->DataValidadeCarta) ? $this->DataValidadeCarta : null;
    }
    /**
     * Set DataValidadeCarta value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataValidadeCarta
     * @return \StructType\FuncionariosERP
     */
    public function setDataValidadeCarta($dataValidadeCarta = null)
    {
        // validation for constraint: string
        if (!is_null($dataValidadeCarta) && !is_string($dataValidadeCarta)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataValidadeCarta)), __LINE__);
        }
        if (is_null($dataValidadeCarta) || (is_array($dataValidadeCarta) && empty($dataValidadeCarta))) {
            unset($this->DataValidadeCarta);
        } else {
            $this->DataValidadeCarta = $dataValidadeCarta;
        }
        return $this;
    }
    /**
     * Get DataValidadeIE value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataValidadeIE()
    {
        return isset($this->DataValidadeIE) ? $this->DataValidadeIE : null;
    }
    /**
     * Set DataValidadeIE value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataValidadeIE
     * @return \StructType\FuncionariosERP
     */
    public function setDataValidadeIE($dataValidadeIE = null)
    {
        // validation for constraint: string
        if (!is_null($dataValidadeIE) && !is_string($dataValidadeIE)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataValidadeIE)), __LINE__);
        }
        if (is_null($dataValidadeIE) || (is_array($dataValidadeIE) && empty($dataValidadeIE))) {
            unset($this->DataValidadeIE);
        } else {
            $this->DataValidadeIE = $dataValidadeIE;
        }
        return $this;
    }
    /**
     * Get DataValidadePassaporte value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataValidadePassaporte()
    {
        return isset($this->DataValidadePassaporte) ? $this->DataValidadePassaporte : null;
    }
    /**
     * Set DataValidadePassaporte value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataValidadePassaporte
     * @return \StructType\FuncionariosERP
     */
    public function setDataValidadePassaporte($dataValidadePassaporte = null)
    {
        // validation for constraint: string
        if (!is_null($dataValidadePassaporte) && !is_string($dataValidadePassaporte)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataValidadePassaporte)), __LINE__);
        }
        if (is_null($dataValidadePassaporte) || (is_array($dataValidadePassaporte) && empty($dataValidadePassaporte))) {
            unset($this->DataValidadePassaporte);
        } else {
            $this->DataValidadePassaporte = $dataValidadePassaporte;
        }
        return $this;
    }
    /**
     * Get DeficienciasCronicas value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDeficienciasCronicas()
    {
        return isset($this->DeficienciasCronicas) ? $this->DeficienciasCronicas : null;
    }
    /**
     * Set DeficienciasCronicas value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $deficienciasCronicas
     * @return \StructType\FuncionariosERP
     */
    public function setDeficienciasCronicas($deficienciasCronicas = null)
    {
        // validation for constraint: string
        if (!is_null($deficienciasCronicas) && !is_string($deficienciasCronicas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($deficienciasCronicas)), __LINE__);
        }
        if (is_null($deficienciasCronicas) || (is_array($deficienciasCronicas) && empty($deficienciasCronicas))) {
            unset($this->DeficienciasCronicas);
        } else {
            $this->DeficienciasCronicas = $deficienciasCronicas;
        }
        return $this;
    }
    /**
     * Get DeficienciasFisicas value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDeficienciasFisicas()
    {
        return isset($this->DeficienciasFisicas) ? $this->DeficienciasFisicas : null;
    }
    /**
     * Set DeficienciasFisicas value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $deficienciasFisicas
     * @return \StructType\FuncionariosERP
     */
    public function setDeficienciasFisicas($deficienciasFisicas = null)
    {
        // validation for constraint: string
        if (!is_null($deficienciasFisicas) && !is_string($deficienciasFisicas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($deficienciasFisicas)), __LINE__);
        }
        if (is_null($deficienciasFisicas) || (is_array($deficienciasFisicas) && empty($deficienciasFisicas))) {
            unset($this->DeficienciasFisicas);
        } else {
            $this->DeficienciasFisicas = $deficienciasFisicas;
        }
        return $this;
    }
    /**
     * Get DescricaoInspMedica value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDescricaoInspMedica()
    {
        return isset($this->DescricaoInspMedica) ? $this->DescricaoInspMedica : null;
    }
    /**
     * Set DescricaoInspMedica value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $descricaoInspMedica
     * @return \StructType\FuncionariosERP
     */
    public function setDescricaoInspMedica($descricaoInspMedica = null)
    {
        // validation for constraint: string
        if (!is_null($descricaoInspMedica) && !is_string($descricaoInspMedica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($descricaoInspMedica)), __LINE__);
        }
        if (is_null($descricaoInspMedica) || (is_array($descricaoInspMedica) && empty($descricaoInspMedica))) {
            unset($this->DescricaoInspMedica);
        } else {
            $this->DescricaoInspMedica = $descricaoInspMedica;
        }
        return $this;
    }
    /**
     * Get DiasSubsFerias value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getDiasSubsFerias()
    {
        return isset($this->DiasSubsFerias) ? $this->DiasSubsFerias : null;
    }
    /**
     * Set DiasSubsFerias value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $diasSubsFerias
     * @return \StructType\FuncionariosERP
     */
    public function setDiasSubsFerias($diasSubsFerias = null)
    {
        if (is_null($diasSubsFerias) || (is_array($diasSubsFerias) && empty($diasSubsFerias))) {
            unset($this->DiasSubsFerias);
        } else {
            $this->DiasSubsFerias = $diasSubsFerias;
        }
        return $this;
    }
    /**
     * Get DiasSubsNatal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getDiasSubsNatal()
    {
        return isset($this->DiasSubsNatal) ? $this->DiasSubsNatal : null;
    }
    /**
     * Set DiasSubsNatal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $diasSubsNatal
     * @return \StructType\FuncionariosERP
     */
    public function setDiasSubsNatal($diasSubsNatal = null)
    {
        if (is_null($diasSubsNatal) || (is_array($diasSubsNatal) && empty($diasSubsNatal))) {
            unset($this->DiasSubsNatal);
        } else {
            $this->DiasSubsNatal = $diasSubsNatal;
        }
        return $this;
    }
    /**
     * Get DiasSubsNatalJaPagos value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getDiasSubsNatalJaPagos()
    {
        return isset($this->DiasSubsNatalJaPagos) ? $this->DiasSubsNatalJaPagos : null;
    }
    /**
     * Set DiasSubsNatalJaPagos value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $diasSubsNatalJaPagos
     * @return \StructType\FuncionariosERP
     */
    public function setDiasSubsNatalJaPagos($diasSubsNatalJaPagos = null)
    {
        if (is_null($diasSubsNatalJaPagos) || (is_array($diasSubsNatalJaPagos) && empty($diasSubsNatalJaPagos))) {
            unset($this->DiasSubsNatalJaPagos);
        } else {
            $this->DiasSubsNatalJaPagos = $diasSubsNatalJaPagos;
        }
        return $this;
    }
    /**
     * Get Distrito value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDistrito()
    {
        return isset($this->Distrito) ? $this->Distrito : null;
    }
    /**
     * Set Distrito value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $distrito
     * @return \StructType\FuncionariosERP
     */
    public function setDistrito($distrito = null)
    {
        // validation for constraint: string
        if (!is_null($distrito) && !is_string($distrito)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($distrito)), __LINE__);
        }
        if (is_null($distrito) || (is_array($distrito) && empty($distrito))) {
            unset($this->Distrito);
        } else {
            $this->Distrito = $distrito;
        }
        return $this;
    }
    /**
     * Get DiuturnidadeMensal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getDiuturnidadeMensal()
    {
        return isset($this->DiuturnidadeMensal) ? $this->DiuturnidadeMensal : null;
    }
    /**
     * Set DiuturnidadeMensal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $diuturnidadeMensal
     * @return \StructType\FuncionariosERP
     */
    public function setDiuturnidadeMensal($diuturnidadeMensal = null)
    {
        if (is_null($diuturnidadeMensal) || (is_array($diuturnidadeMensal) && empty($diuturnidadeMensal))) {
            unset($this->DiuturnidadeMensal);
        } else {
            $this->DiuturnidadeMensal = $diuturnidadeMensal;
        }
        return $this;
    }
    /**
     * Get Diuturnidades value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getDiuturnidades()
    {
        return isset($this->Diuturnidades) ? $this->Diuturnidades : null;
    }
    /**
     * Set Diuturnidades value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $diuturnidades
     * @return \StructType\FuncionariosERP
     */
    public function setDiuturnidades($diuturnidades = null)
    {
        if (is_null($diuturnidades) || (is_array($diuturnidades) && empty($diuturnidades))) {
            unset($this->Diuturnidades);
        } else {
            $this->Diuturnidades = $diuturnidades;
        }
        return $this;
    }
    /**
     * Get DoencasHereditarias value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDoencasHereditarias()
    {
        return isset($this->DoencasHereditarias) ? $this->DoencasHereditarias : null;
    }
    /**
     * Set DoencasHereditarias value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $doencasHereditarias
     * @return \StructType\FuncionariosERP
     */
    public function setDoencasHereditarias($doencasHereditarias = null)
    {
        // validation for constraint: string
        if (!is_null($doencasHereditarias) && !is_string($doencasHereditarias)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($doencasHereditarias)), __LINE__);
        }
        if (is_null($doencasHereditarias) || (is_array($doencasHereditarias) && empty($doencasHereditarias))) {
            unset($this->DoencasHereditarias);
        } else {
            $this->DoencasHereditarias = $doencasHereditarias;
        }
        return $this;
    }
    /**
     * Get DomicilioFiscal value
     * @return int|null
     */
    public function getDomicilioFiscal()
    {
        return $this->DomicilioFiscal;
    }
    /**
     * Set DomicilioFiscal value
     * @param int $domicilioFiscal
     * @return \StructType\FuncionariosERP
     */
    public function setDomicilioFiscal($domicilioFiscal = null)
    {
        // validation for constraint: int
        if (!is_null($domicilioFiscal) && !is_numeric($domicilioFiscal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($domicilioFiscal)), __LINE__);
        }
        $this->DomicilioFiscal = $domicilioFiscal;
        return $this;
    }
    /**
     * Get Email value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEmail()
    {
        return isset($this->Email) ? $this->Email : null;
    }
    /**
     * Set Email value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $email
     * @return \StructType\FuncionariosERP
     */
    public function setEmail($email = null)
    {
        // validation for constraint: string
        if (!is_null($email) && !is_string($email)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($email)), __LINE__);
        }
        if (is_null($email) || (is_array($email) && empty($email))) {
            unset($this->Email);
        } else {
            $this->Email = $email;
        }
        return $this;
    }
    /**
     * Get EmprestimoBancario value
     * @return bool|null
     */
    public function getEmprestimoBancario()
    {
        return $this->EmprestimoBancario;
    }
    /**
     * Set EmprestimoBancario value
     * @param bool $emprestimoBancario
     * @return \StructType\FuncionariosERP
     */
    public function setEmprestimoBancario($emprestimoBancario = null)
    {
        // validation for constraint: boolean
        if (!is_null($emprestimoBancario) && !is_bool($emprestimoBancario)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($emprestimoBancario)), __LINE__);
        }
        $this->EmprestimoBancario = $emprestimoBancario;
        return $this;
    }
    /**
     * Get EmprestimoBancarioAntesRegul value
     * @return bool|null
     */
    public function getEmprestimoBancarioAntesRegul()
    {
        return $this->EmprestimoBancarioAntesRegul;
    }
    /**
     * Set EmprestimoBancarioAntesRegul value
     * @param bool $emprestimoBancarioAntesRegul
     * @return \StructType\FuncionariosERP
     */
    public function setEmprestimoBancarioAntesRegul($emprestimoBancarioAntesRegul = null)
    {
        // validation for constraint: boolean
        if (!is_null($emprestimoBancarioAntesRegul) && !is_bool($emprestimoBancarioAntesRegul)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($emprestimoBancarioAntesRegul)), __LINE__);
        }
        $this->EmprestimoBancarioAntesRegul = $emprestimoBancarioAntesRegul;
        return $this;
    }
    /**
     * Get EpigrafeAT value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEpigrafeAT()
    {
        return isset($this->EpigrafeAT) ? $this->EpigrafeAT : null;
    }
    /**
     * Set EpigrafeAT value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $epigrafeAT
     * @return \StructType\FuncionariosERP
     */
    public function setEpigrafeAT($epigrafeAT = null)
    {
        // validation for constraint: string
        if (!is_null($epigrafeAT) && !is_string($epigrafeAT)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($epigrafeAT)), __LINE__);
        }
        if (is_null($epigrafeAT) || (is_array($epigrafeAT) && empty($epigrafeAT))) {
            unset($this->EpigrafeAT);
        } else {
            $this->EpigrafeAT = $epigrafeAT;
        }
        return $this;
    }
    /**
     * Get EstadoCivil value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEstadoCivil()
    {
        return isset($this->EstadoCivil) ? $this->EstadoCivil : null;
    }
    /**
     * Set EstadoCivil value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $estadoCivil
     * @return \StructType\FuncionariosERP
     */
    public function setEstadoCivil($estadoCivil = null)
    {
        // validation for constraint: string
        if (!is_null($estadoCivil) && !is_string($estadoCivil)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($estadoCivil)), __LINE__);
        }
        if (is_null($estadoCivil) || (is_array($estadoCivil) && empty($estadoCivil))) {
            unset($this->EstadoCivil);
        } else {
            $this->EstadoCivil = $estadoCivil;
        }
        return $this;
    }
    /**
     * Get Extensao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getExtensao()
    {
        return isset($this->Extensao) ? $this->Extensao : null;
    }
    /**
     * Set Extensao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $extensao
     * @return \StructType\FuncionariosERP
     */
    public function setExtensao($extensao = null)
    {
        // validation for constraint: string
        if (!is_null($extensao) && !is_string($extensao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($extensao)), __LINE__);
        }
        if (is_null($extensao) || (is_array($extensao) && empty($extensao))) {
            unset($this->Extensao);
        } else {
            $this->Extensao = $extensao;
        }
        return $this;
    }
    /**
     * Get FormaPagSF value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFormaPagSF()
    {
        return isset($this->FormaPagSF) ? $this->FormaPagSF : null;
    }
    /**
     * Set FormaPagSF value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $formaPagSF
     * @return \StructType\FuncionariosERP
     */
    public function setFormaPagSF($formaPagSF = null)
    {
        // validation for constraint: string
        if (!is_null($formaPagSF) && !is_string($formaPagSF)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($formaPagSF)), __LINE__);
        }
        if (is_null($formaPagSF) || (is_array($formaPagSF) && empty($formaPagSF))) {
            unset($this->FormaPagSF);
        } else {
            $this->FormaPagSF = $formaPagSF;
        }
        return $this;
    }
    /**
     * Get FormaPagSN value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFormaPagSN()
    {
        return isset($this->FormaPagSN) ? $this->FormaPagSN : null;
    }
    /**
     * Set FormaPagSN value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $formaPagSN
     * @return \StructType\FuncionariosERP
     */
    public function setFormaPagSN($formaPagSN = null)
    {
        // validation for constraint: string
        if (!is_null($formaPagSN) && !is_string($formaPagSN)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($formaPagSN)), __LINE__);
        }
        if (is_null($formaPagSN) || (is_array($formaPagSN) && empty($formaPagSN))) {
            unset($this->FormaPagSN);
        } else {
            $this->FormaPagSN = $formaPagSN;
        }
        return $this;
    }
    /**
     * Get Foto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFoto()
    {
        return isset($this->Foto) ? $this->Foto : null;
    }
    /**
     * Set Foto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $foto
     * @return \StructType\FuncionariosERP
     */
    public function setFoto($foto = null)
    {
        // validation for constraint: string
        if (!is_null($foto) && !is_string($foto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($foto)), __LINE__);
        }
        if (is_null($foto) || (is_array($foto) && empty($foto))) {
            unset($this->Foto);
        } else {
            $this->Foto = $foto;
        }
        return $this;
    }
    /**
     * Get Freguesia value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFreguesia()
    {
        return isset($this->Freguesia) ? $this->Freguesia : null;
    }
    /**
     * Set Freguesia value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $freguesia
     * @return \StructType\FuncionariosERP
     */
    public function setFreguesia($freguesia = null)
    {
        // validation for constraint: string
        if (!is_null($freguesia) && !is_string($freguesia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($freguesia)), __LINE__);
        }
        if (is_null($freguesia) || (is_array($freguesia) && empty($freguesia))) {
            unset($this->Freguesia);
        } else {
            $this->Freguesia = $freguesia;
        }
        return $this;
    }
    /**
     * Get GastosDedutiveis value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getGastosDedutiveis()
    {
        return isset($this->GastosDedutiveis) ? $this->GastosDedutiveis : null;
    }
    /**
     * Set GastosDedutiveis value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $gastosDedutiveis
     * @return \StructType\FuncionariosERP
     */
    public function setGastosDedutiveis($gastosDedutiveis = null)
    {
        if (is_null($gastosDedutiveis) || (is_array($gastosDedutiveis) && empty($gastosDedutiveis))) {
            unset($this->GastosDedutiveis);
        } else {
            $this->GastosDedutiveis = $gastosDedutiveis;
        }
        return $this;
    }
    /**
     * Get GrupoCotizacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getGrupoCotizacao()
    {
        return isset($this->GrupoCotizacao) ? $this->GrupoCotizacao : null;
    }
    /**
     * Set GrupoCotizacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $grupoCotizacao
     * @return \StructType\FuncionariosERP
     */
    public function setGrupoCotizacao($grupoCotizacao = null)
    {
        // validation for constraint: string
        if (!is_null($grupoCotizacao) && !is_string($grupoCotizacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($grupoCotizacao)), __LINE__);
        }
        if (is_null($grupoCotizacao) || (is_array($grupoCotizacao) && empty($grupoCotizacao))) {
            unset($this->GrupoCotizacao);
        } else {
            $this->GrupoCotizacao = $grupoCotizacao;
        }
        return $this;
    }
    /**
     * Get GrupoSanguineo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getGrupoSanguineo()
    {
        return isset($this->GrupoSanguineo) ? $this->GrupoSanguineo : null;
    }
    /**
     * Set GrupoSanguineo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $grupoSanguineo
     * @return \StructType\FuncionariosERP
     */
    public function setGrupoSanguineo($grupoSanguineo = null)
    {
        // validation for constraint: string
        if (!is_null($grupoSanguineo) && !is_string($grupoSanguineo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($grupoSanguineo)), __LINE__);
        }
        if (is_null($grupoSanguineo) || (is_array($grupoSanguineo) && empty($grupoSanguineo))) {
            unset($this->GrupoSanguineo);
        } else {
            $this->GrupoSanguineo = $grupoSanguineo;
        }
        return $this;
    }
    /**
     * Get GrupoTraco value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getGrupoTraco()
    {
        return isset($this->GrupoTraco) ? $this->GrupoTraco : null;
    }
    /**
     * Set GrupoTraco value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $grupoTraco
     * @return \StructType\FuncionariosERP
     */
    public function setGrupoTraco($grupoTraco = null)
    {
        // validation for constraint: string
        if (!is_null($grupoTraco) && !is_string($grupoTraco)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($grupoTraco)), __LINE__);
        }
        if (is_null($grupoTraco) || (is_array($grupoTraco) && empty($grupoTraco))) {
            unset($this->GrupoTraco);
        } else {
            $this->GrupoTraco = $grupoTraco;
        }
        return $this;
    }
    /**
     * Get Habilitacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getHabilitacao()
    {
        return isset($this->Habilitacao) ? $this->Habilitacao : null;
    }
    /**
     * Set Habilitacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $habilitacao
     * @return \StructType\FuncionariosERP
     */
    public function setHabilitacao($habilitacao = null)
    {
        // validation for constraint: string
        if (!is_null($habilitacao) && !is_string($habilitacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($habilitacao)), __LINE__);
        }
        if (is_null($habilitacao) || (is_array($habilitacao) && empty($habilitacao))) {
            unset($this->Habilitacao);
        } else {
            $this->Habilitacao = $habilitacao;
        }
        return $this;
    }
    /**
     * Get HoraEntradaM value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getHoraEntradaM()
    {
        return isset($this->HoraEntradaM) ? $this->HoraEntradaM : null;
    }
    /**
     * Set HoraEntradaM value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $horaEntradaM
     * @return \StructType\FuncionariosERP
     */
    public function setHoraEntradaM($horaEntradaM = null)
    {
        if (is_null($horaEntradaM) || (is_array($horaEntradaM) && empty($horaEntradaM))) {
            unset($this->HoraEntradaM);
        } else {
            $this->HoraEntradaM = $horaEntradaM;
        }
        return $this;
    }
    /**
     * Get HoraEntradaT value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getHoraEntradaT()
    {
        return isset($this->HoraEntradaT) ? $this->HoraEntradaT : null;
    }
    /**
     * Set HoraEntradaT value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $horaEntradaT
     * @return \StructType\FuncionariosERP
     */
    public function setHoraEntradaT($horaEntradaT = null)
    {
        if (is_null($horaEntradaT) || (is_array($horaEntradaT) && empty($horaEntradaT))) {
            unset($this->HoraEntradaT);
        } else {
            $this->HoraEntradaT = $horaEntradaT;
        }
        return $this;
    }
    /**
     * Get HoraSaidaM value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getHoraSaidaM()
    {
        return isset($this->HoraSaidaM) ? $this->HoraSaidaM : null;
    }
    /**
     * Set HoraSaidaM value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $horaSaidaM
     * @return \StructType\FuncionariosERP
     */
    public function setHoraSaidaM($horaSaidaM = null)
    {
        if (is_null($horaSaidaM) || (is_array($horaSaidaM) && empty($horaSaidaM))) {
            unset($this->HoraSaidaM);
        } else {
            $this->HoraSaidaM = $horaSaidaM;
        }
        return $this;
    }
    /**
     * Get HoraSaidaT value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getHoraSaidaT()
    {
        return isset($this->HoraSaidaT) ? $this->HoraSaidaT : null;
    }
    /**
     * Set HoraSaidaT value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $horaSaidaT
     * @return \StructType\FuncionariosERP
     */
    public function setHoraSaidaT($horaSaidaT = null)
    {
        if (is_null($horaSaidaT) || (is_array($horaSaidaT) && empty($horaSaidaT))) {
            unset($this->HoraSaidaT);
        } else {
            $this->HoraSaidaT = $horaSaidaT;
        }
        return $this;
    }
    /**
     * Get HorasSemana value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getHorasSemana()
    {
        return isset($this->HorasSemana) ? $this->HorasSemana : null;
    }
    /**
     * Set HorasSemana value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $horasSemana
     * @return \StructType\FuncionariosERP
     */
    public function setHorasSemana($horasSemana = null)
    {
        if (is_null($horasSemana) || (is_array($horasSemana) && empty($horasSemana))) {
            unset($this->HorasSemana);
        } else {
            $this->HorasSemana = $horasSemana;
        }
        return $this;
    }
    /**
     * Get IRSFixo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getIRSFixo()
    {
        return isset($this->IRSFixo) ? $this->IRSFixo : null;
    }
    /**
     * Set IRSFixo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $iRSFixo
     * @return \StructType\FuncionariosERP
     */
    public function setIRSFixo($iRSFixo = null)
    {
        if (is_null($iRSFixo) || (is_array($iRSFixo) && empty($iRSFixo))) {
            unset($this->IRSFixo);
        } else {
            $this->IRSFixo = $iRSFixo;
        }
        return $this;
    }
    /**
     * Get IdGDOC value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIdGDOC()
    {
        return isset($this->IdGDOC) ? $this->IdGDOC : null;
    }
    /**
     * Set IdGDOC value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $idGDOC
     * @return \StructType\FuncionariosERP
     */
    public function setIdGDOC($idGDOC = null)
    {
        // validation for constraint: pattern
        if (is_scalar($idGDOC) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $idGDOC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}", "%s" given', var_export($idGDOC, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($idGDOC) && !is_string($idGDOC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($idGDOC)), __LINE__);
        }
        if (is_null($idGDOC) || (is_array($idGDOC) && empty($idGDOC))) {
            unset($this->IdGDOC);
        } else {
            $this->IdGDOC = $idGDOC;
        }
        return $this;
    }
    /**
     * Get IniciaisNomeSegSocial value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIniciaisNomeSegSocial()
    {
        return isset($this->IniciaisNomeSegSocial) ? $this->IniciaisNomeSegSocial : null;
    }
    /**
     * Set IniciaisNomeSegSocial value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $iniciaisNomeSegSocial
     * @return \StructType\FuncionariosERP
     */
    public function setIniciaisNomeSegSocial($iniciaisNomeSegSocial = null)
    {
        // validation for constraint: string
        if (!is_null($iniciaisNomeSegSocial) && !is_string($iniciaisNomeSegSocial)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($iniciaisNomeSegSocial)), __LINE__);
        }
        if (is_null($iniciaisNomeSegSocial) || (is_array($iniciaisNomeSegSocial) && empty($iniciaisNomeSegSocial))) {
            unset($this->IniciaisNomeSegSocial);
        } else {
            $this->IniciaisNomeSegSocial = $iniciaisNomeSegSocial;
        }
        return $this;
    }
    /**
     * Get Instrumento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getInstrumento()
    {
        return isset($this->Instrumento) ? $this->Instrumento : null;
    }
    /**
     * Set Instrumento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $instrumento
     * @return \StructType\FuncionariosERP
     */
    public function setInstrumento($instrumento = null)
    {
        // validation for constraint: string
        if (!is_null($instrumento) && !is_string($instrumento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($instrumento)), __LINE__);
        }
        if (is_null($instrumento) || (is_array($instrumento) && empty($instrumento))) {
            unset($this->Instrumento);
        } else {
            $this->Instrumento = $instrumento;
        }
        return $this;
    }
    /**
     * Get Isento value
     * @return bool|null
     */
    public function getIsento()
    {
        return $this->Isento;
    }
    /**
     * Set Isento value
     * @param bool $isento
     * @return \StructType\FuncionariosERP
     */
    public function setIsento($isento = null)
    {
        // validation for constraint: boolean
        if (!is_null($isento) && !is_bool($isento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($isento)), __LINE__);
        }
        $this->Isento = $isento;
        return $this;
    }
    /**
     * Get LigadoTimesheets value
     * @return bool|null
     */
    public function getLigadoTimesheets()
    {
        return $this->LigadoTimesheets;
    }
    /**
     * Set LigadoTimesheets value
     * @param bool $ligadoTimesheets
     * @return \StructType\FuncionariosERP
     */
    public function setLigadoTimesheets($ligadoTimesheets = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligadoTimesheets) && !is_bool($ligadoTimesheets)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligadoTimesheets)), __LINE__);
        }
        $this->LigadoTimesheets = $ligadoTimesheets;
        return $this;
    }
    /**
     * Get LimiteContribuicoesSegSocial value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getLimiteContribuicoesSegSocial()
    {
        return isset($this->LimiteContribuicoesSegSocial) ? $this->LimiteContribuicoesSegSocial : null;
    }
    /**
     * Set LimiteContribuicoesSegSocial value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $limiteContribuicoesSegSocial
     * @return \StructType\FuncionariosERP
     */
    public function setLimiteContribuicoesSegSocial($limiteContribuicoesSegSocial = null)
    {
        if (is_null($limiteContribuicoesSegSocial) || (is_array($limiteContribuicoesSegSocial) && empty($limiteContribuicoesSegSocial))) {
            unset($this->LimiteContribuicoesSegSocial);
        } else {
            $this->LimiteContribuicoesSegSocial = $limiteContribuicoesSegSocial;
        }
        return $this;
    }
    /**
     * Get LimitesHExtraHorasAno value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getLimitesHExtraHorasAno()
    {
        return isset($this->LimitesHExtraHorasAno) ? $this->LimitesHExtraHorasAno : null;
    }
    /**
     * Set LimitesHExtraHorasAno value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $limitesHExtraHorasAno
     * @return \StructType\FuncionariosERP
     */
    public function setLimitesHExtraHorasAno($limitesHExtraHorasAno = null)
    {
        if (is_null($limitesHExtraHorasAno) || (is_array($limitesHExtraHorasAno) && empty($limitesHExtraHorasAno))) {
            unset($this->LimitesHExtraHorasAno);
        } else {
            $this->LimitesHExtraHorasAno = $limitesHExtraHorasAno;
        }
        return $this;
    }
    /**
     * Get LimitesHExtraHorasFimSemana value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getLimitesHExtraHorasFimSemana()
    {
        return isset($this->LimitesHExtraHorasFimSemana) ? $this->LimitesHExtraHorasFimSemana : null;
    }
    /**
     * Set LimitesHExtraHorasFimSemana value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $limitesHExtraHorasFimSemana
     * @return \StructType\FuncionariosERP
     */
    public function setLimitesHExtraHorasFimSemana($limitesHExtraHorasFimSemana = null)
    {
        if (is_null($limitesHExtraHorasFimSemana) || (is_array($limitesHExtraHorasFimSemana) && empty($limitesHExtraHorasFimSemana))) {
            unset($this->LimitesHExtraHorasFimSemana);
        } else {
            $this->LimitesHExtraHorasFimSemana = $limitesHExtraHorasFimSemana;
        }
        return $this;
    }
    /**
     * Get LimitesHExtraHorasSemana value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getLimitesHExtraHorasSemana()
    {
        return isset($this->LimitesHExtraHorasSemana) ? $this->LimitesHExtraHorasSemana : null;
    }
    /**
     * Set LimitesHExtraHorasSemana value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $limitesHExtraHorasSemana
     * @return \StructType\FuncionariosERP
     */
    public function setLimitesHExtraHorasSemana($limitesHExtraHorasSemana = null)
    {
        if (is_null($limitesHExtraHorasSemana) || (is_array($limitesHExtraHorasSemana) && empty($limitesHExtraHorasSemana))) {
            unset($this->LimitesHExtraHorasSemana);
        } else {
            $this->LimitesHExtraHorasSemana = $limitesHExtraHorasSemana;
        }
        return $this;
    }
    /**
     * Get LimitesHExtraPercentagem value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getLimitesHExtraPercentagem()
    {
        return isset($this->LimitesHExtraPercentagem) ? $this->LimitesHExtraPercentagem : null;
    }
    /**
     * Set LimitesHExtraPercentagem value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $limitesHExtraPercentagem
     * @return \StructType\FuncionariosERP
     */
    public function setLimitesHExtraPercentagem($limitesHExtraPercentagem = null)
    {
        if (is_null($limitesHExtraPercentagem) || (is_array($limitesHExtraPercentagem) && empty($limitesHExtraPercentagem))) {
            unset($this->LimitesHExtraPercentagem);
        } else {
            $this->LimitesHExtraPercentagem = $limitesHExtraPercentagem;
        }
        return $this;
    }
    /**
     * Get LocalEmBi value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLocalEmBi()
    {
        return isset($this->LocalEmBi) ? $this->LocalEmBi : null;
    }
    /**
     * Set LocalEmBi value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $localEmBi
     * @return \StructType\FuncionariosERP
     */
    public function setLocalEmBi($localEmBi = null)
    {
        // validation for constraint: string
        if (!is_null($localEmBi) && !is_string($localEmBi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localEmBi)), __LINE__);
        }
        if (is_null($localEmBi) || (is_array($localEmBi) && empty($localEmBi))) {
            unset($this->LocalEmBi);
        } else {
            $this->LocalEmBi = $localEmBi;
        }
        return $this;
    }
    /**
     * Get LocalEmCR value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLocalEmCR()
    {
        return isset($this->LocalEmCR) ? $this->LocalEmCR : null;
    }
    /**
     * Set LocalEmCR value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $localEmCR
     * @return \StructType\FuncionariosERP
     */
    public function setLocalEmCR($localEmCR = null)
    {
        // validation for constraint: string
        if (!is_null($localEmCR) && !is_string($localEmCR)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localEmCR)), __LINE__);
        }
        if (is_null($localEmCR) || (is_array($localEmCR) && empty($localEmCR))) {
            unset($this->LocalEmCR);
        } else {
            $this->LocalEmCR = $localEmCR;
        }
        return $this;
    }
    /**
     * Get LocalEmIE value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLocalEmIE()
    {
        return isset($this->LocalEmIE) ? $this->LocalEmIE : null;
    }
    /**
     * Set LocalEmIE value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $localEmIE
     * @return \StructType\FuncionariosERP
     */
    public function setLocalEmIE($localEmIE = null)
    {
        // validation for constraint: string
        if (!is_null($localEmIE) && !is_string($localEmIE)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localEmIE)), __LINE__);
        }
        if (is_null($localEmIE) || (is_array($localEmIE) && empty($localEmIE))) {
            unset($this->LocalEmIE);
        } else {
            $this->LocalEmIE = $localEmIE;
        }
        return $this;
    }
    /**
     * Get LocalEmPassaporte value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLocalEmPassaporte()
    {
        return isset($this->LocalEmPassaporte) ? $this->LocalEmPassaporte : null;
    }
    /**
     * Set LocalEmPassaporte value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $localEmPassaporte
     * @return \StructType\FuncionariosERP
     */
    public function setLocalEmPassaporte($localEmPassaporte = null)
    {
        // validation for constraint: string
        if (!is_null($localEmPassaporte) && !is_string($localEmPassaporte)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localEmPassaporte)), __LINE__);
        }
        if (is_null($localEmPassaporte) || (is_array($localEmPassaporte) && empty($localEmPassaporte))) {
            unset($this->LocalEmPassaporte);
        } else {
            $this->LocalEmPassaporte = $localEmPassaporte;
        }
        return $this;
    }
    /**
     * Get Localidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLocalidade()
    {
        return isset($this->Localidade) ? $this->Localidade : null;
    }
    /**
     * Set Localidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $localidade
     * @return \StructType\FuncionariosERP
     */
    public function setLocalidade($localidade = null)
    {
        // validation for constraint: string
        if (!is_null($localidade) && !is_string($localidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localidade)), __LINE__);
        }
        if (is_null($localidade) || (is_array($localidade) && empty($localidade))) {
            unset($this->Localidade);
        } else {
            $this->Localidade = $localidade;
        }
        return $this;
    }
    /**
     * Get MesSubsFerias value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getMesSubsFerias()
    {
        return isset($this->MesSubsFerias) ? $this->MesSubsFerias : null;
    }
    /**
     * Set MesSubsFerias value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $mesSubsFerias
     * @return \StructType\FuncionariosERP
     */
    public function setMesSubsFerias($mesSubsFerias = null)
    {
        // validation for constraint: int
        if (!is_null($mesSubsFerias) && !is_numeric($mesSubsFerias)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($mesSubsFerias)), __LINE__);
        }
        if (is_null($mesSubsFerias) || (is_array($mesSubsFerias) && empty($mesSubsFerias))) {
            unset($this->MesSubsFerias);
        } else {
            $this->MesSubsFerias = $mesSubsFerias;
        }
        return $this;
    }
    /**
     * Get MesSubsNatal value
     * @return int|null
     */
    public function getMesSubsNatal()
    {
        return $this->MesSubsNatal;
    }
    /**
     * Set MesSubsNatal value
     * @param int $mesSubsNatal
     * @return \StructType\FuncionariosERP
     */
    public function setMesSubsNatal($mesSubsNatal = null)
    {
        // validation for constraint: int
        if (!is_null($mesSubsNatal) && !is_numeric($mesSubsNatal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($mesSubsNatal)), __LINE__);
        }
        $this->MesSubsNatal = $mesSubsNatal;
        return $this;
    }
    /**
     * Get MinPessoalFamiliar value
     * @return float|null
     */
    public function getMinPessoalFamiliar()
    {
        return $this->MinPessoalFamiliar;
    }
    /**
     * Set MinPessoalFamiliar value
     * @param float $minPessoalFamiliar
     * @return \StructType\FuncionariosERP
     */
    public function setMinPessoalFamiliar($minPessoalFamiliar = null)
    {
        $this->MinPessoalFamiliar = $minPessoalFamiliar;
        return $this;
    }
    /**
     * Get MobilidadeGeografica value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getMobilidadeGeografica()
    {
        return isset($this->MobilidadeGeografica) ? $this->MobilidadeGeografica : null;
    }
    /**
     * Set MobilidadeGeografica value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $mobilidadeGeografica
     * @return \StructType\FuncionariosERP
     */
    public function setMobilidadeGeografica($mobilidadeGeografica = null)
    {
        // validation for constraint: boolean
        if (!is_null($mobilidadeGeografica) && !is_bool($mobilidadeGeografica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($mobilidadeGeografica)), __LINE__);
        }
        if (is_null($mobilidadeGeografica) || (is_array($mobilidadeGeografica) && empty($mobilidadeGeografica))) {
            unset($this->MobilidadeGeografica);
        } else {
            $this->MobilidadeGeografica = $mobilidadeGeografica;
        }
        return $this;
    }
    /**
     * Get MobilidadeReduzida value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getMobilidadeReduzida()
    {
        return isset($this->MobilidadeReduzida) ? $this->MobilidadeReduzida : null;
    }
    /**
     * Set MobilidadeReduzida value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $mobilidadeReduzida
     * @return \StructType\FuncionariosERP
     */
    public function setMobilidadeReduzida($mobilidadeReduzida = null)
    {
        // validation for constraint: boolean
        if (!is_null($mobilidadeReduzida) && !is_bool($mobilidadeReduzida)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($mobilidadeReduzida)), __LINE__);
        }
        if (is_null($mobilidadeReduzida) || (is_array($mobilidadeReduzida) && empty($mobilidadeReduzida))) {
            unset($this->MobilidadeReduzida);
        } else {
            $this->MobilidadeReduzida = $mobilidadeReduzida;
        }
        return $this;
    }
    /**
     * Get ModContratoCom value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getModContratoCom()
    {
        return isset($this->ModContratoCom) ? $this->ModContratoCom : null;
    }
    /**
     * Set ModContratoCom value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $modContratoCom
     * @return \StructType\FuncionariosERP
     */
    public function setModContratoCom($modContratoCom = null)
    {
        // validation for constraint: string
        if (!is_null($modContratoCom) && !is_string($modContratoCom)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($modContratoCom)), __LINE__);
        }
        if (is_null($modContratoCom) || (is_array($modContratoCom) && empty($modContratoCom))) {
            unset($this->ModContratoCom);
        } else {
            $this->ModContratoCom = $modContratoCom;
        }
        return $this;
    }
    /**
     * Get Moeda value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMoeda()
    {
        return isset($this->Moeda) ? $this->Moeda : null;
    }
    /**
     * Set Moeda value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $moeda
     * @return \StructType\FuncionariosERP
     */
    public function setMoeda($moeda = null)
    {
        // validation for constraint: string
        if (!is_null($moeda) && !is_string($moeda)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($moeda)), __LINE__);
        }
        if (is_null($moeda) || (is_array($moeda) && empty($moeda))) {
            unset($this->Moeda);
        } else {
            $this->Moeda = $moeda;
        }
        return $this;
    }
    /**
     * Get Morada value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMorada()
    {
        return isset($this->Morada) ? $this->Morada : null;
    }
    /**
     * Set Morada value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $morada
     * @return \StructType\FuncionariosERP
     */
    public function setMorada($morada = null)
    {
        // validation for constraint: string
        if (!is_null($morada) && !is_string($morada)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($morada)), __LINE__);
        }
        if (is_null($morada) || (is_array($morada) && empty($morada))) {
            unset($this->Morada);
        } else {
            $this->Morada = $morada;
        }
        return $this;
    }
    /**
     * Get MotivoAdmissao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMotivoAdmissao()
    {
        return isset($this->MotivoAdmissao) ? $this->MotivoAdmissao : null;
    }
    /**
     * Set MotivoAdmissao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $motivoAdmissao
     * @return \StructType\FuncionariosERP
     */
    public function setMotivoAdmissao($motivoAdmissao = null)
    {
        // validation for constraint: string
        if (!is_null($motivoAdmissao) && !is_string($motivoAdmissao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($motivoAdmissao)), __LINE__);
        }
        if (is_null($motivoAdmissao) || (is_array($motivoAdmissao) && empty($motivoAdmissao))) {
            unset($this->MotivoAdmissao);
        } else {
            $this->MotivoAdmissao = $motivoAdmissao;
        }
        return $this;
    }
    /**
     * Get MotivoAumento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMotivoAumento()
    {
        return isset($this->MotivoAumento) ? $this->MotivoAumento : null;
    }
    /**
     * Set MotivoAumento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $motivoAumento
     * @return \StructType\FuncionariosERP
     */
    public function setMotivoAumento($motivoAumento = null)
    {
        // validation for constraint: string
        if (!is_null($motivoAumento) && !is_string($motivoAumento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($motivoAumento)), __LINE__);
        }
        if (is_null($motivoAumento) || (is_array($motivoAumento) && empty($motivoAumento))) {
            unset($this->MotivoAumento);
        } else {
            $this->MotivoAumento = $motivoAumento;
        }
        return $this;
    }
    /**
     * Get MotivoPromocao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMotivoPromocao()
    {
        return isset($this->MotivoPromocao) ? $this->MotivoPromocao : null;
    }
    /**
     * Set MotivoPromocao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $motivoPromocao
     * @return \StructType\FuncionariosERP
     */
    public function setMotivoPromocao($motivoPromocao = null)
    {
        // validation for constraint: string
        if (!is_null($motivoPromocao) && !is_string($motivoPromocao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($motivoPromocao)), __LINE__);
        }
        if (is_null($motivoPromocao) || (is_array($motivoPromocao) && empty($motivoPromocao))) {
            unset($this->MotivoPromocao);
        } else {
            $this->MotivoPromocao = $motivoPromocao;
        }
        return $this;
    }
    /**
     * Get MotivoSaida value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMotivoSaida()
    {
        return isset($this->MotivoSaida) ? $this->MotivoSaida : null;
    }
    /**
     * Set MotivoSaida value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $motivoSaida
     * @return \StructType\FuncionariosERP
     */
    public function setMotivoSaida($motivoSaida = null)
    {
        // validation for constraint: string
        if (!is_null($motivoSaida) && !is_string($motivoSaida)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($motivoSaida)), __LINE__);
        }
        if (is_null($motivoSaida) || (is_array($motivoSaida) && empty($motivoSaida))) {
            unset($this->MotivoSaida);
        } else {
            $this->MotivoSaida = $motivoSaida;
        }
        return $this;
    }
    /**
     * Get Nacionalidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNacionalidade()
    {
        return isset($this->Nacionalidade) ? $this->Nacionalidade : null;
    }
    /**
     * Set Nacionalidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nacionalidade
     * @return \StructType\FuncionariosERP
     */
    public function setNacionalidade($nacionalidade = null)
    {
        // validation for constraint: string
        if (!is_null($nacionalidade) && !is_string($nacionalidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nacionalidade)), __LINE__);
        }
        if (is_null($nacionalidade) || (is_array($nacionalidade) && empty($nacionalidade))) {
            unset($this->Nacionalidade);
        } else {
            $this->Nacionalidade = $nacionalidade;
        }
        return $this;
    }
    /**
     * Get Naturalidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNaturalidade()
    {
        return isset($this->Naturalidade) ? $this->Naturalidade : null;
    }
    /**
     * Set Naturalidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $naturalidade
     * @return \StructType\FuncionariosERP
     */
    public function setNaturalidade($naturalidade = null)
    {
        // validation for constraint: string
        if (!is_null($naturalidade) && !is_string($naturalidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($naturalidade)), __LINE__);
        }
        if (is_null($naturalidade) || (is_array($naturalidade) && empty($naturalidade))) {
            unset($this->Naturalidade);
        } else {
            $this->Naturalidade = $naturalidade;
        }
        return $this;
    }
    /**
     * Get NivelRemCGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNivelRemCGA()
    {
        return isset($this->NivelRemCGA) ? $this->NivelRemCGA : null;
    }
    /**
     * Set NivelRemCGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nivelRemCGA
     * @return \StructType\FuncionariosERP
     */
    public function setNivelRemCGA($nivelRemCGA = null)
    {
        // validation for constraint: string
        if (!is_null($nivelRemCGA) && !is_string($nivelRemCGA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nivelRemCGA)), __LINE__);
        }
        if (is_null($nivelRemCGA) || (is_array($nivelRemCGA) && empty($nivelRemCGA))) {
            unset($this->NivelRemCGA);
        } else {
            $this->NivelRemCGA = $nivelRemCGA;
        }
        return $this;
    }
    /**
     * Get Nome value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNome()
    {
        return isset($this->Nome) ? $this->Nome : null;
    }
    /**
     * Set Nome value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nome
     * @return \StructType\FuncionariosERP
     */
    public function setNome($nome = null)
    {
        // validation for constraint: string
        if (!is_null($nome) && !is_string($nome)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nome)), __LINE__);
        }
        if (is_null($nome) || (is_array($nome) && empty($nome))) {
            unset($this->Nome);
        } else {
            $this->Nome = $nome;
        }
        return $this;
    }
    /**
     * Get NomeAbreviado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNomeAbreviado()
    {
        return isset($this->NomeAbreviado) ? $this->NomeAbreviado : null;
    }
    /**
     * Set NomeAbreviado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nomeAbreviado
     * @return \StructType\FuncionariosERP
     */
    public function setNomeAbreviado($nomeAbreviado = null)
    {
        // validation for constraint: string
        if (!is_null($nomeAbreviado) && !is_string($nomeAbreviado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nomeAbreviado)), __LINE__);
        }
        if (is_null($nomeAbreviado) || (is_array($nomeAbreviado) && empty($nomeAbreviado))) {
            unset($this->NomeAbreviado);
        } else {
            $this->NomeAbreviado = $nomeAbreviado;
        }
        return $this;
    }
    /**
     * Get NomeCGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNomeCGA()
    {
        return isset($this->NomeCGA) ? $this->NomeCGA : null;
    }
    /**
     * Set NomeCGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nomeCGA
     * @return \StructType\FuncionariosERP
     */
    public function setNomeCGA($nomeCGA = null)
    {
        // validation for constraint: string
        if (!is_null($nomeCGA) && !is_string($nomeCGA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nomeCGA)), __LINE__);
        }
        if (is_null($nomeCGA) || (is_array($nomeCGA) && empty($nomeCGA))) {
            unset($this->NomeCGA);
        } else {
            $this->NomeCGA = $nomeCGA;
        }
        return $this;
    }
    /**
     * Get NomeConcelho value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNomeConcelho()
    {
        return isset($this->NomeConcelho) ? $this->NomeConcelho : null;
    }
    /**
     * Set NomeConcelho value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nomeConcelho
     * @return \StructType\FuncionariosERP
     */
    public function setNomeConcelho($nomeConcelho = null)
    {
        // validation for constraint: string
        if (!is_null($nomeConcelho) && !is_string($nomeConcelho)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nomeConcelho)), __LINE__);
        }
        if (is_null($nomeConcelho) || (is_array($nomeConcelho) && empty($nomeConcelho))) {
            unset($this->NomeConcelho);
        } else {
            $this->NomeConcelho = $nomeConcelho;
        }
        return $this;
    }
    /**
     * Get NomeConjuge value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNomeConjuge()
    {
        return isset($this->NomeConjuge) ? $this->NomeConjuge : null;
    }
    /**
     * Set NomeConjuge value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nomeConjuge
     * @return \StructType\FuncionariosERP
     */
    public function setNomeConjuge($nomeConjuge = null)
    {
        // validation for constraint: string
        if (!is_null($nomeConjuge) && !is_string($nomeConjuge)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nomeConjuge)), __LINE__);
        }
        if (is_null($nomeConjuge) || (is_array($nomeConjuge) && empty($nomeConjuge))) {
            unset($this->NomeConjuge);
        } else {
            $this->NomeConjuge = $nomeConjuge;
        }
        return $this;
    }
    /**
     * Get NomeDistrito value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNomeDistrito()
    {
        return isset($this->NomeDistrito) ? $this->NomeDistrito : null;
    }
    /**
     * Set NomeDistrito value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nomeDistrito
     * @return \StructType\FuncionariosERP
     */
    public function setNomeDistrito($nomeDistrito = null)
    {
        // validation for constraint: string
        if (!is_null($nomeDistrito) && !is_string($nomeDistrito)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nomeDistrito)), __LINE__);
        }
        if (is_null($nomeDistrito) || (is_array($nomeDistrito) && empty($nomeDistrito))) {
            unset($this->NomeDistrito);
        } else {
            $this->NomeDistrito = $nomeDistrito;
        }
        return $this;
    }
    /**
     * Get NomeFreguesia value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNomeFreguesia()
    {
        return isset($this->NomeFreguesia) ? $this->NomeFreguesia : null;
    }
    /**
     * Set NomeFreguesia value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nomeFreguesia
     * @return \StructType\FuncionariosERP
     */
    public function setNomeFreguesia($nomeFreguesia = null)
    {
        // validation for constraint: string
        if (!is_null($nomeFreguesia) && !is_string($nomeFreguesia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nomeFreguesia)), __LINE__);
        }
        if (is_null($nomeFreguesia) || (is_array($nomeFreguesia) && empty($nomeFreguesia))) {
            unset($this->NomeFreguesia);
        } else {
            $this->NomeFreguesia = $nomeFreguesia;
        }
        return $this;
    }
    /**
     * Get Notas value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNotas()
    {
        return isset($this->Notas) ? $this->Notas : null;
    }
    /**
     * Set Notas value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $notas
     * @return \StructType\FuncionariosERP
     */
    public function setNotas($notas = null)
    {
        // validation for constraint: string
        if (!is_null($notas) && !is_string($notas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($notas)), __LINE__);
        }
        if (is_null($notas) || (is_array($notas) && empty($notas))) {
            unset($this->Notas);
        } else {
            $this->Notas = $notas;
        }
        return $this;
    }
    /**
     * Get NumBI value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumBI()
    {
        return isset($this->NumBI) ? $this->NumBI : null;
    }
    /**
     * Set NumBI value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $numBI
     * @return \StructType\FuncionariosERP
     */
    public function setNumBI($numBI = null)
    {
        // validation for constraint: string
        if (!is_null($numBI) && !is_string($numBI)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numBI)), __LINE__);
        }
        if (is_null($numBI) || (is_array($numBI) && empty($numBI))) {
            unset($this->NumBI);
        } else {
            $this->NumBI = $numBI;
        }
        return $this;
    }
    /**
     * Get NumBeneficiario value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumBeneficiario()
    {
        return isset($this->NumBeneficiario) ? $this->NumBeneficiario : null;
    }
    /**
     * Set NumBeneficiario value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $numBeneficiario
     * @return \StructType\FuncionariosERP
     */
    public function setNumBeneficiario($numBeneficiario = null)
    {
        // validation for constraint: string
        if (!is_null($numBeneficiario) && !is_string($numBeneficiario)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numBeneficiario)), __LINE__);
        }
        if (is_null($numBeneficiario) || (is_array($numBeneficiario) && empty($numBeneficiario))) {
            unset($this->NumBeneficiario);
        } else {
            $this->NumBeneficiario = $numBeneficiario;
        }
        return $this;
    }
    /**
     * Get NumCGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumCGA()
    {
        return isset($this->NumCGA) ? $this->NumCGA : null;
    }
    /**
     * Set NumCGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $numCGA
     * @return \StructType\FuncionariosERP
     */
    public function setNumCGA($numCGA = null)
    {
        // validation for constraint: string
        if (!is_null($numCGA) && !is_string($numCGA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numCGA)), __LINE__);
        }
        if (is_null($numCGA) || (is_array($numCGA) && empty($numCGA))) {
            unset($this->NumCGA);
        } else {
            $this->NumCGA = $numCGA;
        }
        return $this;
    }
    /**
     * Get NumContr value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumContr()
    {
        return isset($this->NumContr) ? $this->NumContr : null;
    }
    /**
     * Set NumContr value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $numContr
     * @return \StructType\FuncionariosERP
     */
    public function setNumContr($numContr = null)
    {
        // validation for constraint: string
        if (!is_null($numContr) && !is_string($numContr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numContr)), __LINE__);
        }
        if (is_null($numContr) || (is_array($numContr) && empty($numContr))) {
            unset($this->NumContr);
        } else {
            $this->NumContr = $numContr;
        }
        return $this;
    }
    /**
     * Get NumDiuturnidadesCGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getNumDiuturnidadesCGA()
    {
        return isset($this->NumDiuturnidadesCGA) ? $this->NumDiuturnidadesCGA : null;
    }
    /**
     * Set NumDiuturnidadesCGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $numDiuturnidadesCGA
     * @return \StructType\FuncionariosERP
     */
    public function setNumDiuturnidadesCGA($numDiuturnidadesCGA = null)
    {
        // validation for constraint: int
        if (!is_null($numDiuturnidadesCGA) && !is_numeric($numDiuturnidadesCGA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($numDiuturnidadesCGA)), __LINE__);
        }
        if (is_null($numDiuturnidadesCGA) || (is_array($numDiuturnidadesCGA) && empty($numDiuturnidadesCGA))) {
            unset($this->NumDiuturnidadesCGA);
        } else {
            $this->NumDiuturnidadesCGA = $numDiuturnidadesCGA;
        }
        return $this;
    }
    /**
     * Get NumHorasSemInstrumentos value
     * @return bool|null
     */
    public function getNumHorasSemInstrumentos()
    {
        return $this->NumHorasSemInstrumentos;
    }
    /**
     * Set NumHorasSemInstrumentos value
     * @param bool $numHorasSemInstrumentos
     * @return \StructType\FuncionariosERP
     */
    public function setNumHorasSemInstrumentos($numHorasSemInstrumentos = null)
    {
        // validation for constraint: boolean
        if (!is_null($numHorasSemInstrumentos) && !is_bool($numHorasSemInstrumentos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($numHorasSemInstrumentos)), __LINE__);
        }
        $this->NumHorasSemInstrumentos = $numHorasSemInstrumentos;
        return $this;
    }
    /**
     * Get NumIE value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumIE()
    {
        return isset($this->NumIE) ? $this->NumIE : null;
    }
    /**
     * Set NumIE value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $numIE
     * @return \StructType\FuncionariosERP
     */
    public function setNumIE($numIE = null)
    {
        // validation for constraint: string
        if (!is_null($numIE) && !is_string($numIE)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numIE)), __LINE__);
        }
        if (is_null($numIE) || (is_array($numIE) && empty($numIE))) {
            unset($this->NumIE);
        } else {
            $this->NumIE = $numIE;
        }
        return $this;
    }
    /**
     * Get NumPassaporte value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumPassaporte()
    {
        return isset($this->NumPassaporte) ? $this->NumPassaporte : null;
    }
    /**
     * Set NumPassaporte value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $numPassaporte
     * @return \StructType\FuncionariosERP
     */
    public function setNumPassaporte($numPassaporte = null)
    {
        // validation for constraint: string
        if (!is_null($numPassaporte) && !is_string($numPassaporte)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numPassaporte)), __LINE__);
        }
        if (is_null($numPassaporte) || (is_array($numPassaporte) && empty($numPassaporte))) {
            unset($this->NumPassaporte);
        } else {
            $this->NumPassaporte = $numPassaporte;
        }
        return $this;
    }
    /**
     * Get NumPeriodoProcessado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getNumPeriodoProcessado()
    {
        return isset($this->NumPeriodoProcessado) ? $this->NumPeriodoProcessado : null;
    }
    /**
     * Set NumPeriodoProcessado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $numPeriodoProcessado
     * @return \StructType\FuncionariosERP
     */
    public function setNumPeriodoProcessado($numPeriodoProcessado = null)
    {
        // validation for constraint: int
        if (!is_null($numPeriodoProcessado) && !is_numeric($numPeriodoProcessado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($numPeriodoProcessado)), __LINE__);
        }
        if (is_null($numPeriodoProcessado) || (is_array($numPeriodoProcessado) && empty($numPeriodoProcessado))) {
            unset($this->NumPeriodoProcessado);
        } else {
            $this->NumPeriodoProcessado = $numPeriodoProcessado;
        }
        return $this;
    }
    /**
     * Get NumSindicato value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumSindicato()
    {
        return isset($this->NumSindicato) ? $this->NumSindicato : null;
    }
    /**
     * Set NumSindicato value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $numSindicato
     * @return \StructType\FuncionariosERP
     */
    public function setNumSindicato($numSindicato = null)
    {
        // validation for constraint: string
        if (!is_null($numSindicato) && !is_string($numSindicato)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numSindicato)), __LINE__);
        }
        if (is_null($numSindicato) || (is_array($numSindicato) && empty($numSindicato))) {
            unset($this->NumSindicato);
        } else {
            $this->NumSindicato = $numSindicato;
        }
        return $this;
    }
    /**
     * Get OutrasDadosFisicos value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getOutrasDadosFisicos()
    {
        return isset($this->OutrasDadosFisicos) ? $this->OutrasDadosFisicos : null;
    }
    /**
     * Set OutrasDadosFisicos value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $outrasDadosFisicos
     * @return \StructType\FuncionariosERP
     */
    public function setOutrasDadosFisicos($outrasDadosFisicos = null)
    {
        // validation for constraint: string
        if (!is_null($outrasDadosFisicos) && !is_string($outrasDadosFisicos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($outrasDadosFisicos)), __LINE__);
        }
        if (is_null($outrasDadosFisicos) || (is_array($outrasDadosFisicos) && empty($outrasDadosFisicos))) {
            unset($this->OutrasDadosFisicos);
        } else {
            $this->OutrasDadosFisicos = $outrasDadosFisicos;
        }
        return $this;
    }
    /**
     * Get Pais value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPais()
    {
        return isset($this->Pais) ? $this->Pais : null;
    }
    /**
     * Set Pais value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $pais
     * @return \StructType\FuncionariosERP
     */
    public function setPais($pais = null)
    {
        // validation for constraint: string
        if (!is_null($pais) && !is_string($pais)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($pais)), __LINE__);
        }
        if (is_null($pais) || (is_array($pais) && empty($pais))) {
            unset($this->Pais);
        } else {
            $this->Pais = $pais;
        }
        return $this;
    }
    /**
     * Get PensaoConjuge value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getPensaoConjuge()
    {
        return isset($this->PensaoConjuge) ? $this->PensaoConjuge : null;
    }
    /**
     * Set PensaoConjuge value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $pensaoConjuge
     * @return \StructType\FuncionariosERP
     */
    public function setPensaoConjuge($pensaoConjuge = null)
    {
        if (is_null($pensaoConjuge) || (is_array($pensaoConjuge) && empty($pensaoConjuge))) {
            unset($this->PensaoConjuge);
        } else {
            $this->PensaoConjuge = $pensaoConjuge;
        }
        return $this;
    }
    /**
     * Get PensaoFilhos value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getPensaoFilhos()
    {
        return isset($this->PensaoFilhos) ? $this->PensaoFilhos : null;
    }
    /**
     * Set PensaoFilhos value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $pensaoFilhos
     * @return \StructType\FuncionariosERP
     */
    public function setPensaoFilhos($pensaoFilhos = null)
    {
        if (is_null($pensaoFilhos) || (is_array($pensaoFilhos) && empty($pensaoFilhos))) {
            unset($this->PensaoFilhos);
        } else {
            $this->PensaoFilhos = $pensaoFilhos;
        }
        return $this;
    }
    /**
     * Get PercIncapacidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getPercIncapacidade()
    {
        return isset($this->PercIncapacidade) ? $this->PercIncapacidade : null;
    }
    /**
     * Set PercIncapacidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $percIncapacidade
     * @return \StructType\FuncionariosERP
     */
    public function setPercIncapacidade($percIncapacidade = null)
    {
        if (is_null($percIncapacidade) || (is_array($percIncapacidade) && empty($percIncapacidade))) {
            unset($this->PercIncapacidade);
        } else {
            $this->PercIncapacidade = $percIncapacidade;
        }
        return $this;
    }
    /**
     * Get PercVencParaSubsFerias value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPercVencParaSubsFerias()
    {
        return isset($this->PercVencParaSubsFerias) ? $this->PercVencParaSubsFerias : null;
    }
    /**
     * Set PercVencParaSubsFerias value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $percVencParaSubsFerias
     * @return \StructType\FuncionariosERP
     */
    public function setPercVencParaSubsFerias($percVencParaSubsFerias = null)
    {
        // validation for constraint: string
        if (!is_null($percVencParaSubsFerias) && !is_string($percVencParaSubsFerias)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($percVencParaSubsFerias)), __LINE__);
        }
        if (is_null($percVencParaSubsFerias) || (is_array($percVencParaSubsFerias) && empty($percVencParaSubsFerias))) {
            unset($this->PercVencParaSubsFerias);
        } else {
            $this->PercVencParaSubsFerias = $percVencParaSubsFerias;
        }
        return $this;
    }
    /**
     * Get PercVencParaSubsNatal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPercVencParaSubsNatal()
    {
        return isset($this->PercVencParaSubsNatal) ? $this->PercVencParaSubsNatal : null;
    }
    /**
     * Set PercVencParaSubsNatal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $percVencParaSubsNatal
     * @return \StructType\FuncionariosERP
     */
    public function setPercVencParaSubsNatal($percVencParaSubsNatal = null)
    {
        // validation for constraint: string
        if (!is_null($percVencParaSubsNatal) && !is_string($percVencParaSubsNatal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($percVencParaSubsNatal)), __LINE__);
        }
        if (is_null($percVencParaSubsNatal) || (is_array($percVencParaSubsNatal) && empty($percVencParaSubsNatal))) {
            unset($this->PercVencParaSubsNatal);
        } else {
            $this->PercVencParaSubsNatal = $percVencParaSubsNatal;
        }
        return $this;
    }
    /**
     * Get Periodo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPeriodo()
    {
        return isset($this->Periodo) ? $this->Periodo : null;
    }
    /**
     * Set Periodo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $periodo
     * @return \StructType\FuncionariosERP
     */
    public function setPeriodo($periodo = null)
    {
        // validation for constraint: string
        if (!is_null($periodo) && !is_string($periodo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($periodo)), __LINE__);
        }
        if (is_null($periodo) || (is_array($periodo) && empty($periodo))) {
            unset($this->Periodo);
        } else {
            $this->Periodo = $periodo;
        }
        return $this;
    }
    /**
     * Get PeriodoExp value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getPeriodoExp()
    {
        return isset($this->PeriodoExp) ? $this->PeriodoExp : null;
    }
    /**
     * Set PeriodoExp value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $periodoExp
     * @return \StructType\FuncionariosERP
     */
    public function setPeriodoExp($periodoExp = null)
    {
        // validation for constraint: int
        if (!is_null($periodoExp) && !is_numeric($periodoExp)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($periodoExp)), __LINE__);
        }
        if (is_null($periodoExp) || (is_array($periodoExp) && empty($periodoExp))) {
            unset($this->PeriodoExp);
        } else {
            $this->PeriodoExp = $periodoExp;
        }
        return $this;
    }
    /**
     * Get PertenceOrgaosSoc value
     * @return bool|null
     */
    public function getPertenceOrgaosSoc()
    {
        return $this->PertenceOrgaosSoc;
    }
    /**
     * Set PertenceOrgaosSoc value
     * @param bool $pertenceOrgaosSoc
     * @return \StructType\FuncionariosERP
     */
    public function setPertenceOrgaosSoc($pertenceOrgaosSoc = null)
    {
        // validation for constraint: boolean
        if (!is_null($pertenceOrgaosSoc) && !is_bool($pertenceOrgaosSoc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($pertenceOrgaosSoc)), __LINE__);
        }
        $this->PertenceOrgaosSoc = $pertenceOrgaosSoc;
        return $this;
    }
    /**
     * Get PrimeiroApelido value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPrimeiroApelido()
    {
        return isset($this->PrimeiroApelido) ? $this->PrimeiroApelido : null;
    }
    /**
     * Set PrimeiroApelido value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $primeiroApelido
     * @return \StructType\FuncionariosERP
     */
    public function setPrimeiroApelido($primeiroApelido = null)
    {
        // validation for constraint: string
        if (!is_null($primeiroApelido) && !is_string($primeiroApelido)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($primeiroApelido)), __LINE__);
        }
        if (is_null($primeiroApelido) || (is_array($primeiroApelido) && empty($primeiroApelido))) {
            unset($this->PrimeiroApelido);
        } else {
            $this->PrimeiroApelido = $primeiroApelido;
        }
        return $this;
    }
    /**
     * Get PrimeiroNome value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPrimeiroNome()
    {
        return isset($this->PrimeiroNome) ? $this->PrimeiroNome : null;
    }
    /**
     * Set PrimeiroNome value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $primeiroNome
     * @return \StructType\FuncionariosERP
     */
    public function setPrimeiroNome($primeiroNome = null)
    {
        // validation for constraint: string
        if (!is_null($primeiroNome) && !is_string($primeiroNome)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($primeiroNome)), __LINE__);
        }
        if (is_null($primeiroNome) || (is_array($primeiroNome) && empty($primeiroNome))) {
            unset($this->PrimeiroNome);
        } else {
            $this->PrimeiroNome = $primeiroNome;
        }
        return $this;
    }
    /**
     * Get ProcDiasAnterioresSF value
     * @return bool|null
     */
    public function getProcDiasAnterioresSF()
    {
        return $this->ProcDiasAnterioresSF;
    }
    /**
     * Set ProcDiasAnterioresSF value
     * @param bool $procDiasAnterioresSF
     * @return \StructType\FuncionariosERP
     */
    public function setProcDiasAnterioresSF($procDiasAnterioresSF = null)
    {
        // validation for constraint: boolean
        if (!is_null($procDiasAnterioresSF) && !is_bool($procDiasAnterioresSF)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($procDiasAnterioresSF)), __LINE__);
        }
        $this->ProcDiasAnterioresSF = $procDiasAnterioresSF;
        return $this;
    }
    /**
     * Get ProcDiasAnterioresSN value
     * @return bool|null
     */
    public function getProcDiasAnterioresSN()
    {
        return $this->ProcDiasAnterioresSN;
    }
    /**
     * Set ProcDiasAnterioresSN value
     * @param bool $procDiasAnterioresSN
     * @return \StructType\FuncionariosERP
     */
    public function setProcDiasAnterioresSN($procDiasAnterioresSN = null)
    {
        // validation for constraint: boolean
        if (!is_null($procDiasAnterioresSN) && !is_bool($procDiasAnterioresSN)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($procDiasAnterioresSN)), __LINE__);
        }
        $this->ProcDiasAnterioresSN = $procDiasAnterioresSN;
        return $this;
    }
    /**
     * Get Profissao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getProfissao()
    {
        return isset($this->Profissao) ? $this->Profissao : null;
    }
    /**
     * Set Profissao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $profissao
     * @return \StructType\FuncionariosERP
     */
    public function setProfissao($profissao = null)
    {
        // validation for constraint: string
        if (!is_null($profissao) && !is_string($profissao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($profissao)), __LINE__);
        }
        if (is_null($profissao) || (is_array($profissao) && empty($profissao))) {
            unset($this->Profissao);
        } else {
            $this->Profissao = $profissao;
        }
        return $this;
    }
    /**
     * Get ProlongacaoActLaboral value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getProlongacaoActLaboral()
    {
        return isset($this->ProlongacaoActLaboral) ? $this->ProlongacaoActLaboral : null;
    }
    /**
     * Set ProlongacaoActLaboral value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $prolongacaoActLaboral
     * @return \StructType\FuncionariosERP
     */
    public function setProlongacaoActLaboral($prolongacaoActLaboral = null)
    {
        // validation for constraint: boolean
        if (!is_null($prolongacaoActLaboral) && !is_bool($prolongacaoActLaboral)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($prolongacaoActLaboral)), __LINE__);
        }
        if (is_null($prolongacaoActLaboral) || (is_array($prolongacaoActLaboral) && empty($prolongacaoActLaboral))) {
            unset($this->ProlongacaoActLaboral);
        } else {
            $this->ProlongacaoActLaboral = $prolongacaoActLaboral;
        }
        return $this;
    }
    /**
     * Get Protegida value
     * @return bool|null
     */
    public function getProtegida()
    {
        return $this->Protegida;
    }
    /**
     * Set Protegida value
     * @param bool $protegida
     * @return \StructType\FuncionariosERP
     */
    public function setProtegida($protegida = null)
    {
        // validation for constraint: boolean
        if (!is_null($protegida) && !is_bool($protegida)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($protegida)), __LINE__);
        }
        $this->Protegida = $protegida;
        return $this;
    }
    /**
     * Get Qualificacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getQualificacao()
    {
        return isset($this->Qualificacao) ? $this->Qualificacao : null;
    }
    /**
     * Set Qualificacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $qualificacao
     * @return \StructType\FuncionariosERP
     */
    public function setQualificacao($qualificacao = null)
    {
        // validation for constraint: string
        if (!is_null($qualificacao) && !is_string($qualificacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($qualificacao)), __LINE__);
        }
        if (is_null($qualificacao) || (is_array($qualificacao) && empty($qualificacao))) {
            unset($this->Qualificacao);
        } else {
            $this->Qualificacao = $qualificacao;
        }
        return $this;
    }
    /**
     * Get RecursoCCOP value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getRecursoCCOP()
    {
        return isset($this->RecursoCCOP) ? $this->RecursoCCOP : null;
    }
    /**
     * Set RecursoCCOP value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $recursoCCOP
     * @return \StructType\FuncionariosERP
     */
    public function setRecursoCCOP($recursoCCOP = null)
    {
        // validation for constraint: int
        if (!is_null($recursoCCOP) && !is_numeric($recursoCCOP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($recursoCCOP)), __LINE__);
        }
        if (is_null($recursoCCOP) || (is_array($recursoCCOP) && empty($recursoCCOP))) {
            unset($this->RecursoCCOP);
        } else {
            $this->RecursoCCOP = $recursoCCOP;
        }
        return $this;
    }
    /**
     * Get ReducaoIrregularidades value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getReducaoIrregularidades()
    {
        return isset($this->ReducaoIrregularidades) ? $this->ReducaoIrregularidades : null;
    }
    /**
     * Set ReducaoIrregularidades value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $reducaoIrregularidades
     * @return \StructType\FuncionariosERP
     */
    public function setReducaoIrregularidades($reducaoIrregularidades = null)
    {
        if (is_null($reducaoIrregularidades) || (is_array($reducaoIrregularidades) && empty($reducaoIrregularidades))) {
            unset($this->ReducaoIrregularidades);
        } else {
            $this->ReducaoIrregularidades = $reducaoIrregularidades;
        }
        return $this;
    }
    /**
     * Get RegTmpNumHorasCGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getRegTmpNumHorasCGA()
    {
        return isset($this->RegTmpNumHorasCGA) ? $this->RegTmpNumHorasCGA : null;
    }
    /**
     * Set RegTmpNumHorasCGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $regTmpNumHorasCGA
     * @return \StructType\FuncionariosERP
     */
    public function setRegTmpNumHorasCGA($regTmpNumHorasCGA = null)
    {
        if (is_null($regTmpNumHorasCGA) || (is_array($regTmpNumHorasCGA) && empty($regTmpNumHorasCGA))) {
            unset($this->RegTmpNumHorasCGA);
        } else {
            $this->RegTmpNumHorasCGA = $regTmpNumHorasCGA;
        }
        return $this;
    }
    /**
     * Get RegTmpPercAcresCGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getRegTmpPercAcresCGA()
    {
        return isset($this->RegTmpPercAcresCGA) ? $this->RegTmpPercAcresCGA : null;
    }
    /**
     * Set RegTmpPercAcresCGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $regTmpPercAcresCGA
     * @return \StructType\FuncionariosERP
     */
    public function setRegTmpPercAcresCGA($regTmpPercAcresCGA = null)
    {
        if (is_null($regTmpPercAcresCGA) || (is_array($regTmpPercAcresCGA) && empty($regTmpPercAcresCGA))) {
            unset($this->RegTmpPercAcresCGA);
        } else {
            $this->RegTmpPercAcresCGA = $regTmpPercAcresCGA;
        }
        return $this;
    }
    /**
     * Get RegTmpSituacaoCGA value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getRegTmpSituacaoCGA()
    {
        return isset($this->RegTmpSituacaoCGA) ? $this->RegTmpSituacaoCGA : null;
    }
    /**
     * Set RegTmpSituacaoCGA value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $regTmpSituacaoCGA
     * @return \StructType\FuncionariosERP
     */
    public function setRegTmpSituacaoCGA($regTmpSituacaoCGA = null)
    {
        // validation for constraint: string
        if (!is_null($regTmpSituacaoCGA) && !is_string($regTmpSituacaoCGA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($regTmpSituacaoCGA)), __LINE__);
        }
        if (is_null($regTmpSituacaoCGA) || (is_array($regTmpSituacaoCGA) && empty($regTmpSituacaoCGA))) {
            unset($this->RegTmpSituacaoCGA);
        } else {
            $this->RegTmpSituacaoCGA = $regTmpSituacaoCGA;
        }
        return $this;
    }
    /**
     * Get Regime value
     * @return int|null
     */
    public function getRegime()
    {
        return $this->Regime;
    }
    /**
     * Set Regime value
     * @param int $regime
     * @return \StructType\FuncionariosERP
     */
    public function setRegime($regime = null)
    {
        // validation for constraint: int
        if (!is_null($regime) && !is_numeric($regime)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($regime)), __LINE__);
        }
        $this->Regime = $regime;
        return $this;
    }
    /**
     * Get RegimeTrab value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getRegimeTrab()
    {
        return isset($this->RegimeTrab) ? $this->RegimeTrab : null;
    }
    /**
     * Set RegimeTrab value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $regimeTrab
     * @return \StructType\FuncionariosERP
     */
    public function setRegimeTrab($regimeTrab = null)
    {
        // validation for constraint: string
        if (!is_null($regimeTrab) && !is_string($regimeTrab)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($regimeTrab)), __LINE__);
        }
        if (is_null($regimeTrab) || (is_array($regimeTrab) && empty($regimeTrab))) {
            unset($this->RegimeTrab);
        } else {
            $this->RegimeTrab = $regimeTrab;
        }
        return $this;
    }
    /**
     * Get RetribAnuaisIniciais value
     * @return float|null
     */
    public function getRetribAnuaisIniciais()
    {
        return $this->RetribAnuaisIniciais;
    }
    /**
     * Set RetribAnuaisIniciais value
     * @param float $retribAnuaisIniciais
     * @return \StructType\FuncionariosERP
     */
    public function setRetribAnuaisIniciais($retribAnuaisIniciais = null)
    {
        $this->RetribAnuaisIniciais = $retribAnuaisIniciais;
        return $this;
    }
    /**
     * Get SalHora value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getSalHora()
    {
        return isset($this->SalHora) ? $this->SalHora : null;
    }
    /**
     * Set SalHora value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $salHora
     * @return \StructType\FuncionariosERP
     */
    public function setSalHora($salHora = null)
    {
        if (is_null($salHora) || (is_array($salHora) && empty($salHora))) {
            unset($this->SalHora);
        } else {
            $this->SalHora = $salHora;
        }
        return $this;
    }
    /**
     * Get SegundoApelido value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSegundoApelido()
    {
        return isset($this->SegundoApelido) ? $this->SegundoApelido : null;
    }
    /**
     * Set SegundoApelido value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $segundoApelido
     * @return \StructType\FuncionariosERP
     */
    public function setSegundoApelido($segundoApelido = null)
    {
        // validation for constraint: string
        if (!is_null($segundoApelido) && !is_string($segundoApelido)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($segundoApelido)), __LINE__);
        }
        if (is_null($segundoApelido) || (is_array($segundoApelido) && empty($segundoApelido))) {
            unset($this->SegundoApelido);
        } else {
            $this->SegundoApelido = $segundoApelido;
        }
        return $this;
    }
    /**
     * Get Sexo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSexo()
    {
        return isset($this->Sexo) ? $this->Sexo : null;
    }
    /**
     * Set Sexo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $sexo
     * @return \StructType\FuncionariosERP
     */
    public function setSexo($sexo = null)
    {
        // validation for constraint: string
        if (!is_null($sexo) && !is_string($sexo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($sexo)), __LINE__);
        }
        if (is_null($sexo) || (is_array($sexo) && empty($sexo))) {
            unset($this->Sexo);
        } else {
            $this->Sexo = $sexo;
        }
        return $this;
    }
    /**
     * Get Situacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSituacao()
    {
        return isset($this->Situacao) ? $this->Situacao : null;
    }
    /**
     * Set Situacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $situacao
     * @return \StructType\FuncionariosERP
     */
    public function setSituacao($situacao = null)
    {
        // validation for constraint: string
        if (!is_null($situacao) && !is_string($situacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($situacao)), __LINE__);
        }
        if (is_null($situacao) || (is_array($situacao) && empty($situacao))) {
            unset($this->Situacao);
        } else {
            $this->Situacao = $situacao;
        }
        return $this;
    }
    /**
     * Get SituacaoFaceLei2098 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSituacaoFaceLei2098()
    {
        return isset($this->SituacaoFaceLei2098) ? $this->SituacaoFaceLei2098 : null;
    }
    /**
     * Set SituacaoFaceLei2098 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $situacaoFaceLei2098
     * @return \StructType\FuncionariosERP
     */
    public function setSituacaoFaceLei2098($situacaoFaceLei2098 = null)
    {
        // validation for constraint: string
        if (!is_null($situacaoFaceLei2098) && !is_string($situacaoFaceLei2098)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($situacaoFaceLei2098)), __LINE__);
        }
        if (is_null($situacaoFaceLei2098) || (is_array($situacaoFaceLei2098) && empty($situacaoFaceLei2098))) {
            unset($this->SituacaoFaceLei2098);
        } else {
            $this->SituacaoFaceLei2098 = $situacaoFaceLei2098;
        }
        return $this;
    }
    /**
     * Get SituacaoQP value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSituacaoQP()
    {
        return isset($this->SituacaoQP) ? $this->SituacaoQP : null;
    }
    /**
     * Set SituacaoQP value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $situacaoQP
     * @return \StructType\FuncionariosERP
     */
    public function setSituacaoQP($situacaoQP = null)
    {
        // validation for constraint: string
        if (!is_null($situacaoQP) && !is_string($situacaoQP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($situacaoQP)), __LINE__);
        }
        if (is_null($situacaoQP) || (is_array($situacaoQP) && empty($situacaoQP))) {
            unset($this->SituacaoQP);
        } else {
            $this->SituacaoQP = $situacaoQP;
        }
        return $this;
    }
    /**
     * Get SubsAlim1 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getSubsAlim1()
    {
        return isset($this->SubsAlim1) ? $this->SubsAlim1 : null;
    }
    /**
     * Set SubsAlim1 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $subsAlim1
     * @return \StructType\FuncionariosERP
     */
    public function setSubsAlim1($subsAlim1 = null)
    {
        // validation for constraint: int
        if (!is_null($subsAlim1) && !is_numeric($subsAlim1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($subsAlim1)), __LINE__);
        }
        if (is_null($subsAlim1) || (is_array($subsAlim1) && empty($subsAlim1))) {
            unset($this->SubsAlim1);
        } else {
            $this->SubsAlim1 = $subsAlim1;
        }
        return $this;
    }
    /**
     * Get SubsAlim2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getSubsAlim2()
    {
        return isset($this->SubsAlim2) ? $this->SubsAlim2 : null;
    }
    /**
     * Set SubsAlim2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $subsAlim2
     * @return \StructType\FuncionariosERP
     */
    public function setSubsAlim2($subsAlim2 = null)
    {
        // validation for constraint: int
        if (!is_null($subsAlim2) && !is_numeric($subsAlim2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($subsAlim2)), __LINE__);
        }
        if (is_null($subsAlim2) || (is_array($subsAlim2) && empty($subsAlim2))) {
            unset($this->SubsAlim2);
        } else {
            $this->SubsAlim2 = $subsAlim2;
        }
        return $this;
    }
    /**
     * Get SubsNatalProcessado value
     * @return bool|null
     */
    public function getSubsNatalProcessado()
    {
        return $this->SubsNatalProcessado;
    }
    /**
     * Set SubsNatalProcessado value
     * @param bool $subsNatalProcessado
     * @return \StructType\FuncionariosERP
     */
    public function setSubsNatalProcessado($subsNatalProcessado = null)
    {
        // validation for constraint: boolean
        if (!is_null($subsNatalProcessado) && !is_bool($subsNatalProcessado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($subsNatalProcessado)), __LINE__);
        }
        $this->SubsNatalProcessado = $subsNatalProcessado;
        return $this;
    }
    /**
     * Get TabIRPS value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTabIRPS()
    {
        return isset($this->TabIRPS) ? $this->TabIRPS : null;
    }
    /**
     * Set TabIRPS value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tabIRPS
     * @return \StructType\FuncionariosERP
     */
    public function setTabIRPS($tabIRPS = null)
    {
        // validation for constraint: string
        if (!is_null($tabIRPS) && !is_string($tabIRPS)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tabIRPS)), __LINE__);
        }
        if (is_null($tabIRPS) || (is_array($tabIRPS) && empty($tabIRPS))) {
            unset($this->TabIRPS);
        } else {
            $this->TabIRPS = $tabIRPS;
        }
        return $this;
    }
    /**
     * Get Telefone value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelefone()
    {
        return isset($this->Telefone) ? $this->Telefone : null;
    }
    /**
     * Set Telefone value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telefone
     * @return \StructType\FuncionariosERP
     */
    public function setTelefone($telefone = null)
    {
        // validation for constraint: string
        if (!is_null($telefone) && !is_string($telefone)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telefone)), __LINE__);
        }
        if (is_null($telefone) || (is_array($telefone) && empty($telefone))) {
            unset($this->Telefone);
        } else {
            $this->Telefone = $telefone;
        }
        return $this;
    }
    /**
     * Get Telemovel value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelemovel()
    {
        return isset($this->Telemovel) ? $this->Telemovel : null;
    }
    /**
     * Set Telemovel value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telemovel
     * @return \StructType\FuncionariosERP
     */
    public function setTelemovel($telemovel = null)
    {
        // validation for constraint: string
        if (!is_null($telemovel) && !is_string($telemovel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telemovel)), __LINE__);
        }
        if (is_null($telemovel) || (is_array($telemovel) && empty($telemovel))) {
            unset($this->Telemovel);
        } else {
            $this->Telemovel = $telemovel;
        }
        return $this;
    }
    /**
     * Get TipoCalculoVencimento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTipoCalculoVencimento()
    {
        return isset($this->TipoCalculoVencimento) ? $this->TipoCalculoVencimento : null;
    }
    /**
     * Set TipoCalculoVencimento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $tipoCalculoVencimento
     * @return \StructType\FuncionariosERP
     */
    public function setTipoCalculoVencimento($tipoCalculoVencimento = null)
    {
        // validation for constraint: int
        if (!is_null($tipoCalculoVencimento) && !is_numeric($tipoCalculoVencimento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($tipoCalculoVencimento)), __LINE__);
        }
        if (is_null($tipoCalculoVencimento) || (is_array($tipoCalculoVencimento) && empty($tipoCalculoVencimento))) {
            unset($this->TipoCalculoVencimento);
        } else {
            $this->TipoCalculoVencimento = $tipoCalculoVencimento;
        }
        return $this;
    }
    /**
     * Get TipoContrato value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoContrato()
    {
        return isset($this->TipoContrato) ? $this->TipoContrato : null;
    }
    /**
     * Set TipoContrato value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoContrato
     * @return \StructType\FuncionariosERP
     */
    public function setTipoContrato($tipoContrato = null)
    {
        // validation for constraint: string
        if (!is_null($tipoContrato) && !is_string($tipoContrato)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoContrato)), __LINE__);
        }
        if (is_null($tipoContrato) || (is_array($tipoContrato) && empty($tipoContrato))) {
            unset($this->TipoContrato);
        } else {
            $this->TipoContrato = $tipoContrato;
        }
        return $this;
    }
    /**
     * Get TipoMoeda value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTipoMoeda()
    {
        return isset($this->TipoMoeda) ? $this->TipoMoeda : null;
    }
    /**
     * Set TipoMoeda value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $tipoMoeda
     * @return \StructType\FuncionariosERP
     */
    public function setTipoMoeda($tipoMoeda = null)
    {
        // validation for constraint: int
        if (!is_null($tipoMoeda) && !is_numeric($tipoMoeda)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($tipoMoeda)), __LINE__);
        }
        if (is_null($tipoMoeda) || (is_array($tipoMoeda) && empty($tipoMoeda))) {
            unset($this->TipoMoeda);
        } else {
            $this->TipoMoeda = $tipoMoeda;
        }
        return $this;
    }
    /**
     * Get TipoPessoal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoPessoal()
    {
        return isset($this->TipoPessoal) ? $this->TipoPessoal : null;
    }
    /**
     * Set TipoPessoal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoPessoal
     * @return \StructType\FuncionariosERP
     */
    public function setTipoPessoal($tipoPessoal = null)
    {
        // validation for constraint: string
        if (!is_null($tipoPessoal) && !is_string($tipoPessoal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoPessoal)), __LINE__);
        }
        if (is_null($tipoPessoal) || (is_array($tipoPessoal) && empty($tipoPessoal))) {
            unset($this->TipoPessoal);
        } else {
            $this->TipoPessoal = $tipoPessoal;
        }
        return $this;
    }
    /**
     * Get TipoProcessamento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTipoProcessamento()
    {
        return isset($this->TipoProcessamento) ? $this->TipoProcessamento : null;
    }
    /**
     * Set TipoProcessamento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $tipoProcessamento
     * @return \StructType\FuncionariosERP
     */
    public function setTipoProcessamento($tipoProcessamento = null)
    {
        // validation for constraint: int
        if (!is_null($tipoProcessamento) && !is_numeric($tipoProcessamento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($tipoProcessamento)), __LINE__);
        }
        if (is_null($tipoProcessamento) || (is_array($tipoProcessamento) && empty($tipoProcessamento))) {
            unset($this->TipoProcessamento);
        } else {
            $this->TipoProcessamento = $tipoProcessamento;
        }
        return $this;
    }
    /**
     * Get TipoRendimento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoRendimento()
    {
        return isset($this->TipoRendimento) ? $this->TipoRendimento : null;
    }
    /**
     * Set TipoRendimento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoRendimento
     * @return \StructType\FuncionariosERP
     */
    public function setTipoRendimento($tipoRendimento = null)
    {
        // validation for constraint: string
        if (!is_null($tipoRendimento) && !is_string($tipoRendimento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoRendimento)), __LINE__);
        }
        if (is_null($tipoRendimento) || (is_array($tipoRendimento) && empty($tipoRendimento))) {
            unset($this->TipoRendimento);
        } else {
            $this->TipoRendimento = $tipoRendimento;
        }
        return $this;
    }
    /**
     * Get TotalDepDeficientes value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTotalDepDeficientes()
    {
        return isset($this->TotalDepDeficientes) ? $this->TotalDepDeficientes : null;
    }
    /**
     * Set TotalDepDeficientes value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $totalDepDeficientes
     * @return \StructType\FuncionariosERP
     */
    public function setTotalDepDeficientes($totalDepDeficientes = null)
    {
        // validation for constraint: int
        if (!is_null($totalDepDeficientes) && !is_numeric($totalDepDeficientes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($totalDepDeficientes)), __LINE__);
        }
        if (is_null($totalDepDeficientes) || (is_array($totalDepDeficientes) && empty($totalDepDeficientes))) {
            unset($this->TotalDepDeficientes);
        } else {
            $this->TotalDepDeficientes = $totalDepDeficientes;
        }
        return $this;
    }
    /**
     * Get TotalDependentes value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTotalDependentes()
    {
        return isset($this->TotalDependentes) ? $this->TotalDependentes : null;
    }
    /**
     * Set TotalDependentes value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $totalDependentes
     * @return \StructType\FuncionariosERP
     */
    public function setTotalDependentes($totalDependentes = null)
    {
        // validation for constraint: int
        if (!is_null($totalDependentes) && !is_numeric($totalDependentes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($totalDependentes)), __LINE__);
        }
        if (is_null($totalDependentes) || (is_array($totalDependentes) && empty($totalDependentes))) {
            unset($this->TotalDependentes);
        } else {
            $this->TotalDependentes = $totalDependentes;
        }
        return $this;
    }
    /**
     * Get TurnosDia value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTurnosDia()
    {
        return isset($this->TurnosDia) ? $this->TurnosDia : null;
    }
    /**
     * Set TurnosDia value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $turnosDia
     * @return \StructType\FuncionariosERP
     */
    public function setTurnosDia($turnosDia = null)
    {
        // validation for constraint: int
        if (!is_null($turnosDia) && !is_numeric($turnosDia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($turnosDia)), __LINE__);
        }
        if (is_null($turnosDia) || (is_array($turnosDia) && empty($turnosDia))) {
            unset($this->TurnosDia);
        } else {
            $this->TurnosDia = $turnosDia;
        }
        return $this;
    }
    /**
     * Get TurnosTaxa value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTurnosTaxa()
    {
        return isset($this->TurnosTaxa) ? $this->TurnosTaxa : null;
    }
    /**
     * Set TurnosTaxa value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $turnosTaxa
     * @return \StructType\FuncionariosERP
     */
    public function setTurnosTaxa($turnosTaxa = null)
    {
        // validation for constraint: int
        if (!is_null($turnosTaxa) && !is_numeric($turnosTaxa)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($turnosTaxa)), __LINE__);
        }
        if (is_null($turnosTaxa) || (is_array($turnosTaxa) && empty($turnosTaxa))) {
            unset($this->TurnosTaxa);
        } else {
            $this->TurnosTaxa = $turnosTaxa;
        }
        return $this;
    }
    /**
     * Get UltimaProgressao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUltimaProgressao()
    {
        return isset($this->UltimaProgressao) ? $this->UltimaProgressao : null;
    }
    /**
     * Set UltimaProgressao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $ultimaProgressao
     * @return \StructType\FuncionariosERP
     */
    public function setUltimaProgressao($ultimaProgressao = null)
    {
        // validation for constraint: string
        if (!is_null($ultimaProgressao) && !is_string($ultimaProgressao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($ultimaProgressao)), __LINE__);
        }
        if (is_null($ultimaProgressao) || (is_array($ultimaProgressao) && empty($ultimaProgressao))) {
            unset($this->UltimaProgressao);
        } else {
            $this->UltimaProgressao = $ultimaProgressao;
        }
        return $this;
    }
    /**
     * Get UltimoAnoProcessado value
     * @return int|null
     */
    public function getUltimoAnoProcessado()
    {
        return $this->UltimoAnoProcessado;
    }
    /**
     * Set UltimoAnoProcessado value
     * @param int $ultimoAnoProcessado
     * @return \StructType\FuncionariosERP
     */
    public function setUltimoAnoProcessado($ultimoAnoProcessado = null)
    {
        // validation for constraint: int
        if (!is_null($ultimoAnoProcessado) && !is_numeric($ultimoAnoProcessado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($ultimoAnoProcessado)), __LINE__);
        }
        $this->UltimoAnoProcessado = $ultimoAnoProcessado;
        return $this;
    }
    /**
     * Get UtilizadoCCOP value
     * @return bool|null
     */
    public function getUtilizadoCCOP()
    {
        return $this->UtilizadoCCOP;
    }
    /**
     * Set UtilizadoCCOP value
     * @param bool $utilizadoCCOP
     * @return \StructType\FuncionariosERP
     */
    public function setUtilizadoCCOP($utilizadoCCOP = null)
    {
        // validation for constraint: boolean
        if (!is_null($utilizadoCCOP) && !is_bool($utilizadoCCOP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($utilizadoCCOP)), __LINE__);
        }
        $this->UtilizadoCCOP = $utilizadoCCOP;
        return $this;
    }
    /**
     * Get UtilizadorComunicacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUtilizadorComunicacao()
    {
        return isset($this->UtilizadorComunicacao) ? $this->UtilizadorComunicacao : null;
    }
    /**
     * Set UtilizadorComunicacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $utilizadorComunicacao
     * @return \StructType\FuncionariosERP
     */
    public function setUtilizadorComunicacao($utilizadorComunicacao = null)
    {
        // validation for constraint: string
        if (!is_null($utilizadorComunicacao) && !is_string($utilizadorComunicacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($utilizadorComunicacao)), __LINE__);
        }
        if (is_null($utilizadorComunicacao) || (is_array($utilizadorComunicacao) && empty($utilizadorComunicacao))) {
            unset($this->UtilizadorComunicacao);
        } else {
            $this->UtilizadorComunicacao = $utilizadorComunicacao;
        }
        return $this;
    }
    /**
     * Get ValorAbateAntesRegul value
     * @return float|null
     */
    public function getValorAbateAntesRegul()
    {
        return $this->ValorAbateAntesRegul;
    }
    /**
     * Set ValorAbateAntesRegul value
     * @param float $valorAbateAntesRegul
     * @return \StructType\FuncionariosERP
     */
    public function setValorAbateAntesRegul($valorAbateAntesRegul = null)
    {
        $this->ValorAbateAntesRegul = $valorAbateAntesRegul;
        return $this;
    }
    /**
     * Get ValorSubsAlim value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getValorSubsAlim()
    {
        return isset($this->ValorSubsAlim) ? $this->ValorSubsAlim : null;
    }
    /**
     * Set ValorSubsAlim value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $valorSubsAlim
     * @return \StructType\FuncionariosERP
     */
    public function setValorSubsAlim($valorSubsAlim = null)
    {
        if (is_null($valorSubsAlim) || (is_array($valorSubsAlim) && empty($valorSubsAlim))) {
            unset($this->ValorSubsAlim);
        } else {
            $this->ValorSubsAlim = $valorSubsAlim;
        }
        return $this;
    }
    /**
     * Get ValorSubsEsp value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getValorSubsEsp()
    {
        return isset($this->ValorSubsEsp) ? $this->ValorSubsEsp : null;
    }
    /**
     * Set ValorSubsEsp value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $valorSubsEsp
     * @return \StructType\FuncionariosERP
     */
    public function setValorSubsEsp($valorSubsEsp = null)
    {
        if (is_null($valorSubsEsp) || (is_array($valorSubsEsp) && empty($valorSubsEsp))) {
            unset($this->ValorSubsEsp);
        } else {
            $this->ValorSubsEsp = $valorSubsEsp;
        }
        return $this;
    }
    /**
     * Get Vencimento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getVencimento()
    {
        return isset($this->Vencimento) ? $this->Vencimento : null;
    }
    /**
     * Set Vencimento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $vencimento
     * @return \StructType\FuncionariosERP
     */
    public function setVencimento($vencimento = null)
    {
        if (is_null($vencimento) || (is_array($vencimento) && empty($vencimento))) {
            unset($this->Vencimento);
        } else {
            $this->Vencimento = $vencimento;
        }
        return $this;
    }
    /**
     * Get VencimentoConjSupLimite value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getVencimentoConjSupLimite()
    {
        return isset($this->VencimentoConjSupLimite) ? $this->VencimentoConjSupLimite : null;
    }
    /**
     * Set VencimentoConjSupLimite value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $vencimentoConjSupLimite
     * @return \StructType\FuncionariosERP
     */
    public function setVencimentoConjSupLimite($vencimentoConjSupLimite = null)
    {
        // validation for constraint: boolean
        if (!is_null($vencimentoConjSupLimite) && !is_bool($vencimentoConjSupLimite)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($vencimentoConjSupLimite)), __LINE__);
        }
        if (is_null($vencimentoConjSupLimite) || (is_array($vencimentoConjSupLimite) && empty($vencimentoConjSupLimite))) {
            unset($this->VencimentoConjSupLimite);
        } else {
            $this->VencimentoConjSupLimite = $vencimentoConjSupLimite;
        }
        return $this;
    }
    /**
     * Get VencimentoDiario value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getVencimentoDiario()
    {
        return isset($this->VencimentoDiario) ? $this->VencimentoDiario : null;
    }
    /**
     * Set VencimentoDiario value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $vencimentoDiario
     * @return \StructType\FuncionariosERP
     */
    public function setVencimentoDiario($vencimentoDiario = null)
    {
        if (is_null($vencimentoDiario) || (is_array($vencimentoDiario) && empty($vencimentoDiario))) {
            unset($this->VencimentoDiario);
        } else {
            $this->VencimentoDiario = $vencimentoDiario;
        }
        return $this;
    }
    /**
     * Get VencimentoLiquidoEstimado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getVencimentoLiquidoEstimado()
    {
        return isset($this->VencimentoLiquidoEstimado) ? $this->VencimentoLiquidoEstimado : null;
    }
    /**
     * Set VencimentoLiquidoEstimado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $vencimentoLiquidoEstimado
     * @return \StructType\FuncionariosERP
     */
    public function setVencimentoLiquidoEstimado($vencimentoLiquidoEstimado = null)
    {
        if (is_null($vencimentoLiquidoEstimado) || (is_array($vencimentoLiquidoEstimado) && empty($vencimentoLiquidoEstimado))) {
            unset($this->VencimentoLiquidoEstimado);
        } else {
            $this->VencimentoLiquidoEstimado = $vencimentoLiquidoEstimado;
        }
        return $this;
    }
    /**
     * Get VencimentoMensal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getVencimentoMensal()
    {
        return isset($this->VencimentoMensal) ? $this->VencimentoMensal : null;
    }
    /**
     * Set VencimentoMensal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $vencimentoMensal
     * @return \StructType\FuncionariosERP
     */
    public function setVencimentoMensal($vencimentoMensal = null)
    {
        if (is_null($vencimentoMensal) || (is_array($vencimentoMensal) && empty($vencimentoMensal))) {
            unset($this->VencimentoMensal);
        } else {
            $this->VencimentoMensal = $vencimentoMensal;
        }
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return \StructType\FuncionariosERP
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
