private String VerificaUsuario(XmlLoteResultadoInterface loteResultadoInterface) {
    LabUsuario labUsuario = null;
    String usuStUsuario = null;

    if (mapUsuario.containsKey(loteResultadoInterface.getUsuStCodigo())) {
      labUsuario = mapUsuario.get(loteResultadoInterface.getUsuStCodigo());
    } else {
      labUsuario =
          (LabUsuario)
              OracleHelper.getObject(
                  LabUsuario.class,
                  loteResultadoInterface.getUsuStCodigo(),
                  loteResultadoInterface.getStrDbName());

      if (labUsuario != null) {
        mapUsuario.put(labUsuario.getUniStCodigo(), labUsuario);
      }
    }

    if (loteResultadoInterface.getLegStcodigo().equals("010")) {
      if (labUsuario != null) {
        usuStUsuario = labUsuario.getUsuStCodigo();
      } else {
        usuStUsuario = "INTERFACE";
      }
    }

    if (labUsuario != null) {
      usuStUsuario = labUsuario.getUsuStCodigo();
    } else {
      usuStUsuario = "INTERFACE";
    }
    return usuStUsuario;
  }
  private void AtualizaDetalheRequisicao(
      LabResultados labResultado,
      ExameConfiguracao exameConfiguracao,
      XmlLoteResultadoInterface loteResultadoInterface) {

    LabDetalheRequisicao labDetalheRequisicao =
        OracleHelper.getLabDetalherequisicaoByReqExameSeq(
            labResultado.getReqStCodigo(),
            labResultado.getExaStCodigo(),
            labResultado.getSeqStCodigo(),
            loteResultadoInterface.getStrDbName());

    if (labDetalheRequisicao != null) {

      if (exameConfiguracao.getCinChObrigatorio().equals('S')
          && exameConfiguracao.getLabResultado().getResStResultado() != null
          && exameConfiguracao.getLabResultado().getResStResultado().equals("")) {
        labDetalheRequisicao.setLegStCodigo("007");
      } else {
        labDetalheRequisicao.setLegStCodigo(loteResultadoInterface.getLegStcodigo());
      }

      labDetalheRequisicao.setMetStCodigo(exameConfiguracao.getLabResultado().getMetStCodigo());
      labDetalheRequisicao.setUsuStCodigo(VerificaUsuario(loteResultadoInterface));
      labDetalheRequisicao.setDerInRepeticao(
          exameConfiguracao.getLabResultado().getDerInRepeticao());
      labDetalheRequisicao.setDerChNaoNecessario(
          exameConfiguracao.getLabResultado().getDerChNaoNecessario());
      labDetalheRequisicao.setEmvDtValidade(exameConfiguracao.getEmvDtValidade());
      labDetalheRequisicao.setDerInValidadeRes(
          exameConfiguracao.getLabResultado().getDerInValidadeRes());
      labDetalheRequisicao.setDerChParcial(exameConfiguracao.getLabResultado().getDerChParcial());
      labDetalheRequisicao.setFrlCodigo(loteResultadoInterface.getObsStCodigo());

      if (exameConfiguracao.getEquStCodigo() != null
          && !exameConfiguracao.getEquStCodigo().equals("")) {
        labDetalheRequisicao.setEquInCodigo(exameConfiguracao.getEquInCodigo().longValue());
      }

      // TODO tratar exames assinados
      if (loteResultadoInterface.getTipoExame().equals("I")) {}

      OracleHelper.saveOrUpdateObject(labDetalheRequisicao, loteResultadoInterface.getStrDbName());
    }
  }
  private void buildMapResultado(
      List<XmlExameResultadoInterface> resultadoExame,
      XmlLoteResultadoInterface resultadoInterface) {

    dtBanco = OracleHelper.getDateFromDB(resultadoInterface.getStrDbName());
    String resStIngresso = null;
    String resStResultado = null;

    if (resultadoExame != null && !resultadoExame.isEmpty()) {

      for (XmlExameResultadoInterface xmlExameResultadoInterface : resultadoExame) {

        LabDetalheRequisicao labDetalheRequisicao = null;

        if (xmlExameResultadoInterface.getExaStCodigo().equalsIgnoreCase("TSA")) {
          labDetalheRequisicao = inclusaoTSA(xmlExameResultadoInterface, resultadoInterface);
        } else {
          labDetalheRequisicao =
              OracleHelper.getLabDetalherequisicaoByReqExameSeq(
                  resultadoInterface.getReqStCodigo(),
                  xmlExameResultadoInterface.getExaStCodigo(),
                  xmlExameResultadoInterface.getSeqStCodigo(),
                  resultadoInterface.getStrDbName());
        }

        if (labDetalheRequisicao != null) {

          String codResultado;

          if (xmlExameResultadoInterface.getResuladosExameItem() != null
              && !xmlExameResultadoInterface.getResuladosExameItem().isEmpty()) {

            for (XmlItemExameResultadoInterface itemExameResultadoInterface :
                xmlExameResultadoInterface.getXmlResuladosExameItem()) {

              if (xmlExameResultadoInterface.getDerChNaoNecessario().equals('N')) {

                if (labDetalheRequisicao.getLegStCodigo().equals("004")
                    || labDetalheRequisicao.getLegStCodigo().equals("002")
                    || labDetalheRequisicao.getLegStCodigo().equals("001")
                    || labDetalheRequisicao.getLegStCodigo().equals("003")
                    || labDetalheRequisicao.getLegStCodigo().equals("005")
                    || labDetalheRequisicao.getLegStCodigo().equals("006")
                    || labDetalheRequisicao.getLegStCodigo().equals("007")
                    || (labDetalheRequisicao.getLegStCodigo().equals("011")
                        && labDetalheRequisicao.getDerChParcial().toString().equalsIgnoreCase("S"))
                    || (labDetalheRequisicao.getLegStCodigo().equals("016")
                        && labDetalheRequisicao.getDerChParcial().toString().equalsIgnoreCase("S"))
                    || labDetalheRequisicao.getLegStCodigo().equals("010")
                    || labDetalheRequisicao.getLegStCodigo().equals("018")
                    || labDetalheRequisicao.getLegStCodigo().equals("045")
                    || labDetalheRequisicao.getLegStCodigo().equals("012")) {

                  derInValidadeRes = labDetalheRequisicao.getDerInValidadeRes();

                  if (derInValidadeRes != null) {
                    derInValidadeRes = derInValidadeRes + 1;
                  } else {
                    derInValidadeRes = 1;
                  }

                  if (xmlExameResultadoInterface.getExaStCodigo().equals("TSA")) {
                    resStIngresso =
                        itemExameResultadoInterface
                            .getResStIngresso()
                            .replace("{", "<")
                            .replace("}", ">");
                    resStResultado =
                        itemExameResultadoInterface
                            .getResStResultado()
                            .replace("{", "<")
                            .replace("}", ">");
                  } else {
                    resStIngresso = itemExameResultadoInterface.getResStIngresso();
                    resStResultado = itemExameResultadoInterface.getResStResultado();
                  }

                  Character sParcial;

                  if (xmlExameResultadoInterface.getDerChParcial().toString().equalsIgnoreCase("F")
                      || xmlExameResultadoInterface
                          .getDerChParcial()
                          .toString()
                          .equalsIgnoreCase("N")) {
                    sParcial = 'N';
                  } else {
                    sParcial = 'S';
                  }

                  LabResultados labResultados =
                      new LabResultados(
                          resultadoInterface.getReqStCodigo(),
                          xmlExameResultadoInterface.getExaStCodigo(),
                          xmlExameResultadoInterface.getSeqStCodigo(),
                          xmlExameResultadoInterface.getMetStCodigo(),
                          null,
                          itemExameResultadoInterface.getCinStCodigo(),
                          null,
                          itemExameResultadoInterface.getResStFlag(),
                          resStIngresso,
                          itemExameResultadoInterface.getResStComentario(),
                          resStResultado,
                          itemExameResultadoInterface.getResChHidden(),
                          null,
                          resultadoInterface.getLegStcodigo(),
                          new BigDecimal(labDetalheRequisicao.getDerInCodigo()),
                          derInValidadeRes,
                          null,
                          xmlExameResultadoInterface.getEquStCodigo(),
                          sParcial,
                          xmlExameResultadoInterface.getDerChNaoNecessario(),
                          xmlExameResultadoInterface.getDerInRepeticao());

                  codResultado =
                      labDetalheRequisicao.getDerInCodigo()
                          + itemExameResultadoInterface.getCinStCodigo();

                  if (!mapResultado.containsKey(codResultado)) {
                    mapResultado.put(codResultado, labResultados);
                  }

                  listExameConfiguracao =
                      LoteInterfaceReceiverSql.ConfiguraIngresso(
                          labResultados,
                          resultadoInterface.getStrDbName(),
                          xmlExameResultadoInterface.getDerInRepeticao());
                }

              } else {
                labDetalheRequisicao.setDerChNaoNecessario('S');
                labDetalheRequisicao.setUsuStCodigo(resultadoInterface.getUsuStCodigo());
                OracleHelper.updateObject(labDetalheRequisicao, resultadoInterface.getStrDbName());
              }
            }
          }
        } else {
          System.out.println("detalherequiscao nao encontrada");
        }
      }
    } else {
      System.out.println("lista vazia.");
    }
  }