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();
}
}