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