コード例 #1
0
  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());
    }
  }
コード例 #2
0
  private void CalculaFormulaResultado(
      List<ExameConfiguracao> listExameConfiguracao,
      XmlLoteResultadoInterface loteResultadoInterface) {

    for (ExameConfiguracao exameConfiguracao : listExameConfiguracao) {

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

      if (exameConfiguracao.getCinStTipoResultado().equals("003")) {

        String resultadoFormula = null;
        String resultadoCkFormula = null;
        String vars = null;
        BigDecimal res = new BigDecimal(0);
        DecimalFormat nroFormatado = null;

        String code = exameConfiguracao.getExaStCodigo();

        if (mapResultadoFormula.containsKey(code)) {
          vars = mapResultadoFormula.get(code);
        }

        LabResultados labResultado =
            new LabResultados(
                exameConfiguracao.getReqStCodigo(),
                exameConfiguracao.getExaStCodigo(),
                exameConfiguracao.getLabResultado().getSeqStCodigo(),
                exameConfiguracao.getMetStCodigo(),
                exameConfiguracao.getEmvDtValidade(),
                exameConfiguracao.getCinStCodigo(),
                dtBanco,
                null,
                null,
                exameConfiguracao.getLabResultado().getResStComentario(),
                null,
                exameConfiguracao.getLabResultado().getResChHidden(),
                exameConfiguracao.getLabResultado().getResInSequencia(),
                exameConfiguracao.getCinStTipoResultado(),
                exameConfiguracao.getDerInCodigo(),
                exameConfiguracao.getLabResultado().getDerInValidadeRes(),
                exameConfiguracao.getLabResultado().getResClResultados(),
                exameConfiguracao.getLabResultado().getEquStCodigo(),
                exameConfiguracao.getDerChParcial(),
                exameConfiguracao.getLabResultado().getDerChNaoNecessario(),
                exameConfiguracao.getLabResultado().getDerInRepeticao());

        System.out.println(
            "exameConfiguracao.getCinStCodigo() : " + exameConfiguracao.getCinStCodigo());

        ByteArrayInputStream bais =
            new ByteArrayInputStream((vars + exameConfiguracao.getCinClFormula()).getBytes());

        if (vars != null && exameConfiguracao.getCinClFormula() != null) {
          resultadoFormula = resultFormulaAndCheck(vars, bais);

          if (exameConfiguracao.getCinInDecimais() != null) {
            nroFormatado =
                new DecimalFormat(
                    PartnerDecimal.PartnerDecimal(exameConfiguracao.getCinInDecimais()));
          } else {
            nroFormatado = new DecimalFormat(PartnerDecimal.PartnerDecimal(0));
          }

          System.out.println("resultado formula : " + resultadoFormula);

          if (resultadoFormula != null && resultadoFormula.trim().length() > 0) {
            try {
              res = new BigDecimal(resultadoFormula.replaceAll(",", "."));
              labResultado.setResStIngresso(nroFormatado.format(res));
              labResultado.setResStResultado(nroFormatado.format(res));
            } catch (NumberFormatException xcp) {
              System.out.println("do something else....................");
              labResultado.setResStIngresso(resultadoFormula);
              labResultado.setResStResultado(resultadoFormula);
            }

          } else {
            labResultado.setResStIngresso(resultadoFormula);
            labResultado.setResStResultado(resultadoFormula);
          }
        }

        if (vars != null && exameConfiguracao.getCinClCheckFormula() != null) {
          resultadoCkFormula = resultFormulaAndCheck(vars, bais);
          labResultado.setResStFlag(resultadoCkFormula);
        }

        String resultado = mapResultadoFormula.get(code);
        mapResultadoFormula.remove(code);

        if (resultadoFormula != null) {
          mapResultadoFormula.put(
              code,
              resultado
                  + exameConfiguracao.getCinStCodigo()
                  + ":=\""
                  + resultadoFormula.replace(",", ".")
                  + "\";");
        }
        OracleHelper.saveOrUpdateObject(labResultado, loteResultadoInterface.getStrDbName());
      }
    }
  }
コード例 #3
0
  private LabResultados inclusaoResultados(
      ExameConfiguracao exameConfiguracao, String strDbName, Integer seqRes) {

    DecimalFormat nroFormatado = null;

    LabResultados labResultado =
        new LabResultados(
            exameConfiguracao.getReqStCodigo(),
            exameConfiguracao.getExaStCodigo(),
            exameConfiguracao.getLabResultado().getSeqStCodigo(),
            exameConfiguracao.getLabResultado().getMetStCodigo(),
            exameConfiguracao.getEmvDtValidade(),
            exameConfiguracao.getCinStCodigo(),
            dtBanco,
            exameConfiguracao.getLabResultado().getResStFlag(),
            exameConfiguracao.getLabResultado().getResStIngresso(),
            exameConfiguracao.getLabResultado().getResStComentario(),
            exameConfiguracao.getLabResultado().getResStResultado(),
            'N',
            seqRes,
            exameConfiguracao.getCinStTipoResultado(),
            exameConfiguracao.getDerInCodigo(),
            exameConfiguracao.getLabResultado().getDerInValidadeRes(),
            null,
            null,
            null,
            null,
            exameConfiguracao.getLabResultado().getDerInRepeticao());

    if (exameConfiguracao.getCinStSugere() != null
        && exameConfiguracao.getCinStSugere().equalsIgnoreCase("TEMPO")) {
      labResultado.setResStIngresso(exameConfiguracao.getDerInTempo().toString());
      labResultado.setResStResultado(exameConfiguracao.getDerInTempo().toString());
    }

    if (exameConfiguracao.getCinStSugere() != null
        && exameConfiguracao.getCinStSugere().equalsIgnoreCase("VOLUME")) {
      labResultado.setResStIngresso(exameConfiguracao.getDerStVolume());
      labResultado.setResStResultado(exameConfiguracao.getDerStVolume());
    }

    if (exameConfiguracao.getCinStSugere() != null
        && exameConfiguracao.getCinStSugere().equalsIgnoreCase("PESO")) {
      labResultado.setResStIngresso(exameConfiguracao.getReqStPeso());
      labResultado.setResStResultado(exameConfiguracao.getReqStPeso());
    }

    if (exameConfiguracao.getCinStSugere() != null
        && exameConfiguracao.getCinStSugere().equalsIgnoreCase("ALTURA")) {
      labResultado.setResStIngresso(exameConfiguracao.getReqStAltura());
      labResultado.setResStResultado(exameConfiguracao.getReqStAltura());
    }

    if (exameConfiguracao.getCinStTipoResultado() != null) {

      switch (new Integer(exameConfiguracao.getCinStTipoResultado())) {
        case 1:
          if (exameConfiguracao.getLabResultado().getResStResultado() != null
              && !exameConfiguracao.getLabResultado().getResStResultado().equals("")) {

            if (exameConfiguracao.getCinInDecimais() != null) {
              nroFormatado =
                  new DecimalFormat(
                      PartnerDecimal.PartnerDecimal(exameConfiguracao.getCinInDecimais()));
            } else {
              nroFormatado = new DecimalFormat(PartnerDecimal.PartnerDecimal(0));
            }

            BigDecimal resultado =
                new BigDecimal(
                    exameConfiguracao.getLabResultado().getResStResultado().replaceAll(",", "."));

            labResultado.setResStResultado(nroFormatado.format(resultado));
            labResultado.setResStIngresso(nroFormatado.format(resultado));
          }
          break;
        case 4:
          labResultado.setResStIngresso(exameConfiguracao.getLabResultado().getResStResultado());

          if (exameConfiguracao.getLabResultado().getSeqStCodigo().equals("045")) {
            labResultado.setResStResultado(
                resultadoFrases(exameConfiguracao.getLabResultado().getResStIngresso(), strDbName));
          } else {
            labResultado.setResStResultado(
                resultadoFrases(exameConfiguracao.getLabResultado().getResStIngresso(), strDbName)
                    .toUpperCase());
          }
          break;
        case 9:
          labResultado.setResStIngresso(exameConfiguracao.getLabResultado().getResStResultado());

          if (exameConfiguracao.getLabResultado().getSeqStCodigo().equals("045")) {
            labResultado.setResStResultado(
                resultadoTsa(exameConfiguracao.getLabResultado().getResStIngresso(), strDbName));
          } else {
            labResultado.setResStResultado(
                resultadoTsa(exameConfiguracao.getLabResultado().getResStIngresso(), strDbName)
                    .toUpperCase());
          }
          break;
        case 10:
          if (exameConfiguracao.getLabResultado().getSeqStCodigo().equals("045")) {
            labResultado.setResStIngresso(
                resultadoBacteria(
                    exameConfiguracao.getLabResultado().getResStIngresso(), strDbName));
            labResultado.setResStResultado(
                resultadoBacteria(
                    exameConfiguracao.getLabResultado().getResStIngresso(), strDbName));
          } else {
            labResultado.setResStIngresso(
                resultadoBacteria(exameConfiguracao.getLabResultado().getResStIngresso(), strDbName)
                    .toUpperCase());
            labResultado.setResStResultado(
                resultadoBacteria(
                    exameConfiguracao.getLabResultado().getResStIngresso(), strDbName));
          }
          break;
        default:
      }
    }

    return labResultado;
  }
コード例 #4
0
  private void grapConfigIngresso(
      List<ExameConfiguracao> listExameConfiguracao,
      XmlLoteResultadoInterface loteResultadoInterface) {

    String reqStCodigo = null;

    for (ExameConfiguracao exameConfiguracao : listExameConfiguracao) {

      LabResultados labResultado;
      String code = exameConfiguracao.getDerInCodigo() + exameConfiguracao.getCinStCodigo();

      if (mapResultado.containsKey(code)) {
        exameConfiguracao.setLabResultado(mapResultado.get(code));

        labResultado =
            inclusaoResultados(
                exameConfiguracao, loteResultadoInterface.getStrDbName(), derInValidadeRes);
        labResultado.setEmvDtValidade(exameConfiguracao.getEmvDtValidade());
        labResultado.setResInSequencia(exameConfiguracao.getCinInSequencia().intValue());

        String codeResultado = labResultado.getExaStCodigo();
        if (!mapResultadoFormula.containsKey(codeResultado)) {
          mapResultadoFormula.put(
              codeResultado,
              labResultado.getCinStCodigo()
                  + ":=\""
                  + labResultado.getResStIngresso().replace(",", ".")
                  + "\";");
        } else {
          String strResForm = mapResultadoFormula.get(codeResultado);
          mapResultadoFormula.remove(code);
          mapResultadoFormula.put(
              codeResultado,
              strResForm
                  + labResultado.getCinStCodigo()
                  + ":=\""
                  + labResultado.getResStIngresso().replace(",", ".")
                  + "\";");
        }

        reqStCodigo = labResultado.getReqStCodigo();
        OracleHelper.saveObject(labResultado, loteResultadoInterface.getStrDbName());

        AtualizaDetalheRequisicao(labResultado, exameConfiguracao, loteResultadoInterface);
      } else {

        labResultado =
            new LabResultados(
                exameConfiguracao.getReqStCodigo(),
                exameConfiguracao.getExaStCodigo(),
                exameConfiguracao.getSeqStCodigo(),
                exameConfiguracao.getMetStCodigo(),
                exameConfiguracao.getEmvDtValidade(),
                exameConfiguracao.getCinStCodigo(),
                dtBanco,
                null,
                null,
                null,
                null,
                'N',
                derInValidadeRes,
                exameConfiguracao.getCinStTipoResultado(),
                exameConfiguracao.getDerInCodigo(),
                derInValidadeRes,
                null,
                null,
                'N',
                'N',
                null);

        exameConfiguracao.setLabResultado(labResultado);
        OracleHelper.saveObject(labResultado, loteResultadoInterface.getStrDbName());
      }
    }

    CalculaFormulaResultado(listExameConfiguracao, loteResultadoInterface);

    if (reqStCodigo != null) {
      OracleHelper.procedureExecuterPSTATUSREQUISICAO(
          reqStCodigo, loteResultadoInterface.getStrDbName());
    }
  }