public IBusinessObject montar(IRegistro registro, PerfilIntercambioDadosPflid perfil, UsuarioUsu usuarioLogado) throws ECARException {
ItemEstruturaTXTDTO itemEstruturaDTO = null;
SituacaoDao situacaoDao = new SituacaoDao(null);
ItemEstruturaDao itemEstruturaDao = new ItemEstruturaDao(null);
EstruturaDao estruturaDao = new EstruturaDao(null);
String[] posicoes = Util.split(((RegistroTXT)registro).getLinha(),((DadosTecnologiaPerfilTxtDtpt)perfil.getDadosTecnologiaPerfilDtp()).getSeparadorCamposDtpt());
int tipo = Integer.parseInt(posicoes[0]);
TipoRegistroEnum tipoRegistro = TipoRegistroEnum.valueOf(tipo);
if (!tipoRegistro.equals(TipoRegistroEnum.HEADER_ARQUIVO) &&
!tipoRegistro.equals(TipoRegistroEnum.TRAILER_ARQUIVO)){
if (tipoRegistro.equals(TipoRegistroEnum.HEADER_ITEM)){
itemEstruturaDTO = (ItemEstruturaTXTDTO)montaRegistroHeaderItemDTO(((RegistroTXT)registro).getLinha(), posicoes, 0);
}
}
ItemEstruturaIett iett = null;
iett = new ItemEstruturaIett();
//C�digo - se existir, � uma altera��o ou exclusao, senao inser��o
iett.setIndAtivoIett(Dominios.SIM);
// //siglaIett
iett.setSiglaIett(itemEstruturaDTO.getCodigo());
// //Nome - nomeIett
iett.setNomeIett(itemEstruturaDTO.getNome());
// //Descri��o - descricaoR2
iett.setDescricaoR2(itemEstruturaDTO.getDescricao());
// //Data de In�cio - dataInicioIett
iett.setDataInicioIett(Data.parseDate(itemEstruturaDTO.getDataInicio(), ConstantesECAR.FORMATO_DATA_IMPORTACAO));
// //Data de T�rmino - dataTerminoIett
iett.setDataTerminoIett(Data.parseDate(itemEstruturaDTO.getDataConclusao(), ConstantesECAR.FORMATO_DATA_IMPORTACAO));
// //Custo - valPrevistoFuturoIett
if (itemEstruturaDTO.getCusto() != null && !itemEstruturaDTO.getCusto().equals(Dominios.STRING_VAZIA)){
BigDecimal custo = new BigDecimal(Double.valueOf(Util.formataNumero(itemEstruturaDTO.getCusto())).doubleValue());
iett.setValPrevistoFuturoIett(custo);
}
// //Situa��o - situacaoSit
SituacaoSit situacaoSit = null;
//ser� usada a situa��o configurada no perfil (situacaoSitNaoInformadoImp) caso n�o seja informada a situa��o no arquivo
if (itemEstruturaDTO.getSituacao() == null || itemEstruturaDTO.getSituacao().equals(Dominios.STRING_VAZIA)){
situacaoSit = ((PerfilIntercambioDadosCadastroPidc)perfil).getSituacaoNaoInformadaPidc();
} else {
//ser� usada a situa��o configurado no perfil (situacaoSitSemCorrespondenteImp)caso a situa��o informada n�o tenha correspondente no e-car
situacaoSit = situacaoDao.getSituacaoSitByDescricao(itemEstruturaDTO.getSituacao());
if (situacaoSit == null){
situacaoSit = ((PerfilIntercambioDadosCadastroPidc)perfil).getSituacaoSemCorrespondentePidc();
}
}
iett.setSituacaoSit(situacaoSit);
//Tipo - descricaoR4
iett.setDescricaoR4(itemEstruturaDTO.getTipo());
//Sub-Tipo - descricaoR5
iett.setDescricaoR5(itemEstruturaDTO.getSubTipo());
//Valor de liga��o - descricaoR1
iett.setDescricaoR1(itemEstruturaDTO.getValorAssociacao());
//Novos campos acrescentados para importa��o
//Executor - descricaoIett
iett.setDescricaoIett(itemEstruturaDTO.getExecutor());
//Meta PAC - origemIett
iett.setOrigemIett(itemEstruturaDTO.getMetaPac());
//Investimento Previsto 2007-2010 - objetivoGeralIett
iett.setObjetivoGeralIett(itemEstruturaDTO.getInvestPrev20072010());
//Investimento Previsto ap�s 2010 - objetivoEspecificoIett
iett.setObjetivoEspecificoIett(itemEstruturaDTO.getInvestPrevApos2010());
//Est�gio - beneficiosIett
iett.setBeneficiosIett(itemEstruturaDTO.getEstagio());
//Tipo de Empreendimento - descricaoR3
iett.setDescricaoR3(itemEstruturaDTO.getTipoEmpreendimento());
ItemEstruturaIett itemBase = itemEstruturaDao.getItemEstruturaIettByEstruturaDescricaoR1(((PerfilIntercambioDadosCadastroPidc)perfil).getEstruturaBasePidc(), itemEstruturaDTO.getValorAssociacao());
ItemEstruturaIett itemNivelSuperior = itemEstruturaDao.getItemEstruturaIettByEstruturaDescricaoR3(((PerfilIntercambioDadosCadastroPidc)perfil).getEstruturaItemNivelSuperiorPidc(), itemBase, itemEstruturaDTO.getTipoEmpreendimento()); //itemEstruturaDao.getItemEstruturaIett(perfil.getEstruturaEttItemNivelSuperiorImp(), itemBase, perfil.getItemEstruturaIettNivelSuperiorImp().getNomeIett());
iett.setItemEstruturaIett(itemNivelSuperior);
iett.setEstruturaEtt((EstruturaEtt) estruturaDao.buscar(EstruturaEtt.class, ((PerfilIntercambioDadosCadastroPidc)perfil).getEstruturaCriacaoItemPidc().getCodEtt()));
if (itemNivelSuperior != null)
iett.setNivelIett(itemNivelSuperior.getNivelIett() + 1);
if (itemEstruturaDTO.getOperacao().equals(ConstantesECAR.TIPO_OPERACAO_INCLUSAO)){
if (((PerfilIntercambioDadosCadastroPidc)perfil).getIndUsuarioProcessamentoAssociacaoItemPflid() != null && ((PerfilIntercambioDadosCadastroPidc)perfil).getIndUsuarioProcessamentoAssociacaoItemPflid().equals(Dominios.SIM)){
iett.setUsuarioUsuByCodUsuIncIett(usuarioLogado);
} else {
iett.setUsuarioUsuByCodUsuIncIett(((PerfilIntercambioDadosCadastroPidc)perfil).getUsuarioImportacao());
}
if (((PerfilIntercambioDadosCadastroPidc)perfil).getGrupoAcessoItensImportadosPidc() != null){
Set<ItemEstrutUsuarioIettus> iettus = new HashSet<ItemEstrutUsuarioIettus>();
ItemEstrutUsuarioIettus itemEstrutUsuarioIettus = new ItemEstrutUsuarioIettus();
itemEstrutUsuarioIettus.setItemEstruturaIett(iett);
itemEstrutUsuarioIettus.setItemEstruturaIettOrigem(iett);
itemEstrutUsuarioIettus.setCodTpPermIettus(ControlePermissao.PERMISSAO_GRUPO);
itemEstrutUsuarioIettus.setSisAtributoSatb(((PerfilIntercambioDadosCadastroPidc)perfil).getGrupoAcessoItensImportadosPidc());
itemEstrutUsuarioIettus.setIndLeituraIettus("S");
itemEstrutUsuarioIettus.setIndEdicaoIettus("S");
itemEstrutUsuarioIettus.setIndExcluirIettus("S");
itemEstrutUsuarioIettus.setIndAtivMonitIettus("N");
itemEstrutUsuarioIettus.setIndDesatMonitIettus("N");
itemEstrutUsuarioIettus.setIndBloqPlanIettus("N");
itemEstrutUsuarioIettus.setIndDesblPlanIettus("N");
itemEstrutUsuarioIettus.setIndInfAndamentoIettus("N");
itemEstrutUsuarioIettus.setIndEmitePosIettus("N");
itemEstrutUsuarioIettus.setIndProxNivelIettus("N");
itemEstrutUsuarioIettus.setDataInclusaoIettus(Data.getDataAtual());
iettus.add(itemEstrutUsuarioIettus);
iett.setItemEstrutUsuarioIettusesByCodIett(iettus);
}
} else if (itemEstruturaDTO.getOperacao().equals(ConstantesECAR.TIPO_OPERACAO_ALTERACAO)){
if (((PerfilIntercambioDadosCadastroPidc)perfil).getIndUsuarioProcessamentoAssociacaoItemPflid() != null && ((PerfilIntercambioDadosCadastroPidc)perfil).getIndUsuarioProcessamentoAssociacaoItemPflid().equals(Dominios.SIM)){
iett.setUsuarioUsuByCodUsuUltManutIett(usuarioLogado);
} else {
iett.setUsuarioUsuByCodUsuUltManutIett(((PerfilIntercambioDadosCadastroPidc)perfil).getUsuarioImportacao());
}
} else if (itemEstruturaDTO.getOperacao().equals(ConstantesECAR.TIPO_OPERACAO_EXCLUSAO)){
if (perfil.getIndUsuarioProcessamentoAssociacaoItemPflid() != null && perfil.getIndUsuarioProcessamentoAssociacaoItemPflid().equals(Dominios.SIM)){
iett.setUsuarioUsuByCodUsuUltManutIett(usuarioLogado);
} else {
iett.setUsuarioUsuByCodUsuUltManutIett(perfil.getUsuarioImportacao());
}