/* * Metodo que imprime directamente en una impresra byte */ public void printExtra(CexAgenda turno) throws IOException { // FileInputStream inputStream = null; InputStream tex = null; SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy"); String fecha = sf.format(turno.getCagFecha()); SimpleDateFormat sfHora = new SimpleDateFormat("HH:mm"); String hora = ""; String te2; if (turno.getCagHora() != null) { hora = sfHora.format(turno.getCagHora()); } String impresora = "SIN IMPRESORA"; PrintService impresora11 = null; try { // inputStream = new FileInputStream("e:/archivo.txt"); String cadena = "************************************* \n\n" + "RESPONSABLE: " + turno.getCagNombreUsuario() + " \n" + "FECHA: " + fecha + " \n" + turno.getCagNombreInstitucion() + "\n" + turno .getCexHorariosDia() .getCexHorario() .getCexEspecialidadMedico() .getCexEspecialidad() .getCesNombre() + "\n" + "NÚMERO CARPETA: " + turno.getHosReferencia() != null ? turno.getHosReferencia().getCexHistoriaInstitucion().getCicNumeroCarpeta() : turno.getCexHistoriaInstitucion().getCicNumeroCarpeta() + "\n" + "CÉDULA: " + turno.getHosReferencia() != null ? turno .getHosReferencia() .getCexHistoriaInstitucion() .getCexHistoriaClinica() .getChcCedula() : turno.getCexHistoriaInstitucion().getCexHistoriaClinica().getChcCedula() + "\n" + "TURNO: " + turno.getCagSecuencia() + "\t HORA: " + hora + " \n" + "MEDICO: " + turno .getCexHorariosDia() .getCexHorario() .getCexEspecialidadMedico() .getAdmMedico() .getAmeNombreFull() + "\n" + "PACIENTE: " + turno.getHosReferencia() != null ? turno .getHosReferencia() .getCexHistoriaInstitucion() .getCexHistoriaClinica() .getChcNombreFull() : turno.getCexHistoriaInstitucion().getCexHistoriaClinica().getChcNombreFull() + "\n" + "******* TURNO EXTRA ********\n" + "\n" + "\n" + "SE RECOMIENDA ESTAR 30 MIN ANTES\n" + " DE LA HORA ESPECIFICADA\n" + "\n"; te2 = converteCaracter(cadena); tex = new ByteArrayInputStream(te2.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { log.error("printExtra() {} ", e.getMessage()); } if (tex == null) { return; } DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; Doc document = new SimpleDoc(tex, docFormat, null); PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet(); for (AdmDatosGlobales datoGlobal : listaImpresorasturnos) { if (user.getIp().equals(datoGlobal.getClave())) { impresora = datoGlobal.getValor(); break; } } // PrintService impresora11 = PrintServiceLookup.lookupDefaultPrintService(); PrintService[] printService = PrintServiceLookup.lookupPrintServices(null, null); for (PrintService printService1 : printService) { if (printService1.getName().equals(impresora)) { impresora11 = printService1; } } if (impresora11 != null) { DocPrintJob printJob = impresora11.createPrintJob(); try { printJob.print(document, attributeSet); } catch (PrintException e) { log.error("printExtra() {} ", e.getMessage()); } } else { log.error("No existen impresoras instaladas"); } tex.close(); }
/** * Metodo que busca una historia clinica * * @author David Carranza */ public void buscarHistorial() { String nombreMetodo = Thread.currentThread().getStackTrace()[1].getMethodName() + "()"; FacesContext context = FacesContext.getCurrentInstance(); try { lista.clear(); parametroBusqueda = parametroBusqueda.trim(); CexHistoriaInstitucion cexHistoriaClinica = new CexHistoriaInstitucion(); if (parametroBusqueda.equals("")) { FacesContext.getCurrentInstance() .addMessage( findComponent(context.getViewRoot(), "valorBusqueda").getClientId(), new FacesMessage( FacesMessage.SEVERITY_ERROR, "Valor nullo no permitido", "Ingrese parametro de busqueda")); } else { if (tipoBusqueda == 1) { // Buscar Historia Clinica cexHistoriaClinica = (CexHistoriaInstitucion) adminObject.buscar( CexHistoriaInstitucion.class, "admInstitucion", user.getUser().getAdmInstitucion(), "cicNumeroCarpeta", parametroBusqueda); } else if (tipoBusqueda == 2) { cexHistoriaClinica = (CexHistoriaInstitucion) adminObject.buscar( CexHistoriaInstitucion.class, "admInstitucion", user.getUser().getAdmInstitucion(), "cexHistoriaClinica.chcCedula", parametroBusqueda); } // Buscar pedidos por consulta sin referencia if (cexHistoriaClinica != null) { // recorre las agendas solo que tenga preparacion y consulta if (cexHistoriaClinica.getCexAgendaList() != null) { for (CexAgenda objAge : cexHistoriaClinica.getCexAgendaList()) { // Verifica que tengan preparacion if (objAge.getCagEstado() > 1) { if (objAge.getCexPreparacionList() != null) { for (CexPreparacion objPreparacion : objAge.getCexPreparacionList()) { // Recorrer Consulta if (objPreparacion.getCexConsultaList() != null) { for (CexConsulta objConsulta : objPreparacion.getCexConsultaList()) { // Recorrer pedido de laboratorio if (objConsulta.getCexPedidoLaboratorioList() != null) { for (CexPedidoLaboratorio objLaboratorio : objConsulta.getCexPedidoLaboratorioList()) { // añadir pedidos de laboratorio a lista general lista.add(objLaboratorio); } } } } } } } } } } // Buscar pedidos por consulta con referencia if (cexHistoriaClinica != null) { // recorre las referencias que esten asignadas a la historia a consultar if (cexHistoriaClinica.getHosReferenciaList() != null) { for (HosReferencia objRef : cexHistoriaClinica.getHosReferenciaList()) { // recorre las agendas solo que tenga preparacion y consulta if (objRef.getCexAgendaList() != null) { for (CexAgenda objAge : objRef.getCexAgendaList()) { // Verifica que tengan preparacion if (objAge.getCagEstado() > 1) { if (objAge.getCexPreparacionList() != null) { for (CexPreparacion objPreparacion : objAge.getCexPreparacionList()) { // Recorrer Consulta if (objPreparacion.getCexConsultaList() != null) { for (CexConsulta objConsulta : objPreparacion.getCexConsultaList()) { // Recorrer pedido de laboratorio if (objConsulta.getCexPedidoLaboratorioList() != null) { for (CexPedidoLaboratorio objLaboratorio : objConsulta.getCexPedidoLaboratorioList()) { // añadir pedidos de laboratorio a lista general lista.add(objLaboratorio); } } } } } } } } } } } } // Buscar por internacion que tengan referencia if (cexHistoriaClinica != null) { // recorre las referencias que esten asignadas a la historia a consultar if (cexHistoriaClinica.getHosReferenciaList() != null) { for (HosReferencia objRef : cexHistoriaClinica.getHosReferenciaList()) { // recorre los ingresos pertenecients a la referncia creada if (objRef.getHosRegistroDetalleList() != null) { for (HosRegistroDetalle objReg : objRef.getHosRegistroDetalleList()) { // recorre las internaciones de cada ingreso hospitalario if (objReg.getHosInternacionList() != null) { for (HosInternacion objInternacion : objReg.getHosInternacionList()) { // Recorrer los pedidos de laboratio asignado a cada internacion if (objInternacion.getCexPedidoLaboratorioList() != null) { for (CexPedidoLaboratorio objLaboratorio : objInternacion.getCexPedidoLaboratorioList()) { // añadir pedidos de laboratorio a lista general lista.add(objLaboratorio); } } } } } } } } } // Buscar por internacion que tengan solicitud de internacion sin referencia if (cexHistoriaClinica != null) { // recorre las agendas solo que tenga preparacion y consulta if (cexHistoriaClinica.getCexAgendaList() != null) { for (CexAgenda objAge : cexHistoriaClinica.getCexAgendaList()) { // recorre las preparaciones if (objAge.getCexPreparacionList() != null) { for (CexPreparacion objPre : objAge.getCexPreparacionList()) { // recorre consultas if (objPre.getCexConsultaList() != null) { for (CexConsulta objCexCon : objPre.getCexConsultaList()) { // recorre las solicitudes de internaciones por cada consulta if (objCexCon.getHosSolicitudInternacionList() != null) { for (HosSolicitudInternacion objSol : objCexCon.getHosSolicitudInternacionList()) { // recorre los ingresos pertenecients a la referncia creada if (objSol.getHosRegistroDetalleList() != null) { for (HosRegistroDetalle objReg : objSol.getHosRegistroDetalleList()) { // recorre las internaciones de cada ingreso hospitalario if (objReg.getHosInternacionList() != null) { for (HosInternacion objInternacion : objReg.getHosInternacionList()) { // Recorrer los pedidos de laboratio asignado a cada internacion if (objInternacion.getCexPedidoLaboratorioList() != null) { for (CexPedidoLaboratorio objLaboratorio : objInternacion.getCexPedidoLaboratorioList()) { // añadir pedidos de laboratorio a lista general lista.add(objLaboratorio); } } } } } } } } } } } } } } } // Buscar por internacion que tengan solicitud de internacion con referencia if (cexHistoriaClinica != null) { // recorre las referencias de acuerdo a la historia clinica requerida if (cexHistoriaClinica.getHosReferenciaList() != null) { for (HosReferencia objRef : cexHistoriaClinica.getHosReferenciaList()) { // recorre las agendas de acuerdo a las refrenciascreadas if (objRef.getCexAgendaList() != null) { for (CexAgenda objAge : objRef.getCexAgendaList()) { // recorre las preparaciones if (objAge.getCexPreparacionList() != null) { for (CexPreparacion objPre : objAge.getCexPreparacionList()) { // recorre consultas if (objPre.getCexConsultaList() != null) { for (CexConsulta objCexCon : objPre.getCexConsultaList()) { // recorre las solicitudes de internaciones por cada consulta if (objCexCon.getHosSolicitudInternacionList() != null) { for (HosSolicitudInternacion objSol : objCexCon.getHosSolicitudInternacionList()) { // recorre los ingresos pertenecients a la referncia creada if (objSol.getHosRegistroDetalleList() != null) { for (HosRegistroDetalle objReg : objSol.getHosRegistroDetalleList()) { // recorre las internaciones de cada ingreso hospitalario if (objReg.getHosInternacionList() != null) { for (HosInternacion objInternacion : objReg.getHosInternacionList()) { // Recorrer los pedidos de laboratio asignado a cada // internacion if (objInternacion.getCexPedidoLaboratorioList() != null) { for (CexPedidoLaboratorio objLaboratorio : objInternacion.getCexPedidoLaboratorioList()) { // añadir pedidos de laboratorio a lista general lista.add(objLaboratorio); } } } } } } } } } } } } } } } } } } if (lista.isEmpty()) { FacesContext.getCurrentInstance() .addMessage( findComponent(context.getViewRoot(), "formDatos").getClientId(), new FacesMessage( FacesMessage.SEVERITY_ERROR, "Busqueda sin resultados", "No se encontro pedidos asignados al paciente registrado")); parametroBusqueda = ""; } } catch (Exception e) { log.error("{}: {} ", nombreMetodo, e); } }
/** * Metodo que busca segun la especialidad , el Doctor y el horario que tiene asignado cada doctor * el turno mas cerca dispible * * @author David Carranza */ public void buscarTurnoListener() { String nombreMetodo = Thread.currentThread().getStackTrace()[1].getMethodName() + "()"; FacesContext context = FacesContext.getCurrentInstance(); int contHor = 0; listaHorarioDia.clear(); listaAgenda.clear(); List<CexAgenda> listTempAgen; try { // Recupera permiso para saber si se puede agendar en la fecha seleccionada List<AdmPermiso> objLicencia = (List<AdmPermiso>) adminObject.queryEJB( "select p from AdmPermiso p where :var1 between p.apeFechaInicio and p.apeFechaFin and p.admMedico = :var2", fechaAgenda, object.getAdmMedico()); // List<CexPermiso> objLicencia = adminObject.ejecutarQueryNativoLista("SELECT * FROM // cex_Permiso where med_id = " + // object.getCexHorario().getCexEspecialidadMedico().getCexMedico().getMedId() + " and date('" // + fecha + "') between per_fecha_inicio and per_fecha_fin;", CexPermiso.class); // Verifica si tiene permiso if (objLicencia.size() < 0 || objLicencia.isEmpty()) { // Recuper la lista del horario de acuerdo al dia seleciconado for (CexHorario objTemH : object.getCexHorarioList()) { // Agregar horario de acuerdo a la fecha if ((fechaAgenda.after(objTemH.getChoFechaInicio()) || objTemH.getChoFechaInicio().equals(fechaAgenda)) && (fechaAgenda.before(objTemH.getChoFechaFin()) || objTemH.getChoFechaFin().equals(fechaAgenda))) { // Verificar los horarios segun el tipo de consulta de la agenda if (objTemH.getAdmTipoConsulta().getAtcTipo().equals(1) && objTemH.getAdmInstitucion().equals(user.getUser().getAdmInstitucion())) { // Recorrer los horarios dias de cada horario for (CexHorariosDia objTemHd : objTemH.getCexHorariosDiaList()) { if (objTemHd.getCexDia().getCdiId().equals(dia)) { // Añadir solo el horario que tenga asignado hora inicio y hora fin if (objTemHd.getChdHoraInicioAm() != null && objTemHd.getChdHoraFinAm() != null) { listaHorarioDia.add(objTemHd); } } } } } } // Recuperar las agendas de acuerdo al horarioDia y de acuerdo a las fechas for (CexHorariosDia objHorDia : listaHorarioDia) { // Asignar numero de horario objHorDia.setOrdenHorario(contHor); listTempAgen = adminObject.listarOrdenada( CexAgenda.class, "cagFecha", fechaAgenda, "cexHorariosDia", objHorDia, "cagHora", true); for (CexAgenda objA : listTempAgen) { objA.setNumeroHorario(contHor); listaAgenda.add(objA); } listTempAgen.clear(); contHor++; } } else { AdmPermiso permiso = objLicencia.get(0); FacesContext.getCurrentInstance() .addMessage( findComponent(context.getViewRoot(), "formDatos").getClientId(), new FacesMessage( FacesMessage.SEVERITY_ERROR, "Agenda no disponible", "Médico no disponible en la fecha ha seleccioanda por motico de " + permiso.getApeMotivo() + "")); } } catch (Exception e) { log.error("{}: {} ", nombreMetodo, e); } }