class ImportarArquivoSusON extends BaseBMTBusiness {

	public Map<String, Object> atualizarCboProcedimento(final List<String> lista) throws BaseException {
		// Argumentos paramentrizados
		String nomeArquivoOcupacao = parametroFacade.buscarValorTexto(AghuParametrosEnum.P_NOME_ARQUIVO_OCUPACAO_CBO).toLowerCase(); // "tb_ocupacao.txt";
		String nomeArquivoProcedimentosCBO = parametroFacade.buscarValorTexto(AghuParametrosEnum.P_NOME_ARQUIVO_PROCEDIMENTOS_CBO).toLowerCase(); // "rl_procedimento_ocupacao.txt";
		
		// confere parametros necessários
		parametroFacade.buscarAghParametro(AghuParametrosEnum.P_PHI_SEQ_IMPORTACAO_PROCEDIMENTO_CBO);
		// Abertura de arquivos
		String arquivoAbrindo = "";
		try {
			arquivoAbrindo = nomeArquivoOcupacao;
			nomeArquivoOcupacao = FileUtil.arquivoExiste(lista, nomeArquivoOcupacao);
			arquivoAbrindo = nomeArquivoProcedimentosCBO;
			nomeArquivoProcedimentosCBO = FileUtil.arquivoExiste(lista, nomeArquivoProcedimentosCBO);
		} catch (final ApplicationBusinessException e1) {
			throw new ApplicationBusinessException(ImportarArquivoSusONExceptionCode.ARQUIVO_NAO_ENCONTRADO_COM_NOME, arquivoAbrindo);
		}
		final File arquivoOcupacao = new File(nomeArquivoOcupacao);
		final File arquivoProcedimentosCBO = new File(nomeArquivoProcedimentosCBO);
		final AghSistemas sistema = aghuFacade.obterAghSistema(parametroFacade.buscarAghParametro(AghuParametrosEnum.P_SIGLA_FATURAMENTO).getVlrTexto());
		atualizarProcessosAbortados(sistema);
		verificarConcorrencia(arquivoProcedimentosCBO.getName(), sistema);
		final List<AghArquivoProcessamento> arquivos = new ArrayList<AghArquivoProcessamento>(2);
		try {
			arquivoAbrindo = nomeArquivoOcupacao;
			arquivos.add(criarArquivo(arquivoOcupacao, sistema, 1));
			arquivoAbrindo = nomeArquivoProcedimentosCBO;
			arquivos.add(criarArquivo(arquivoProcedimentosCBO, sistema, 2));
		} catch (final IOException e) {
			LOG.error(EXCECAO_CAPTURADA, e);
			throw new ApplicationBusinessException(ImportarArquivoSusONExceptionCode.ARQUIVO_NAO_ENCONTRADO_COM_NOME, arquivoAbrindo);
		}

		File file = null;
		try {
			file = File.createTempFile(IFaturamentoFacade.NOME_ARQUIVO_LOG_CBO + DateUtil.obterDataFormatada(new Date(), DateConstants.DATE_PATTERN_YYYY_MM_DD_HH_MM), IFaturamentoFacade.EXTENCAO_ARQUIVO_LOG);
		} catch (final IOException e) {
			LOG.error(e.getMessage(), e);
		}

		getProcessadorArquivosImportacaoSus().processarCboProcedimento(file, lista);
		final Map<String, Object> retorno = new HashMap<String, Object>();
		retorno.put(IFaturamentoFacade.ARQUIVOS_IMPORTACAO_SUS, arquivos);
		retorno.put(IFaturamentoFacade.LOG_FILE_IMPORTACAO_SUS, file.getAbsolutePath());
		return retorno;
	}

}