def cargar(): def cerrar_exp(): pacientes.destroy() #pacientes.eval('::ttk::CancelRepeat') self.cargar_paciente() try: nombre_pac = self.util.validar_cadena(str(nombre.get()), True) apellido_pac = self.util.validar_cadena(str(apellido.get()), True) cedula_pac = self.util.validar_entero(str(documento_identidad.get()), 1) telefono_pac = self.util.validar_cadena(str(telefono.get()), False) email_pac = self.util.validar_cadena(str(email.get()), False) fecha_pac = self.util.validar_fecha(str(fecha_nacimiento.get())) #contenedor = Medico(nombre, apellido, cedula, telefono, email, fecha, cargo, '') contenedor = Paciente(nombre_pac, apellido_pac, cedula_pac, telefono_pac, email_pac, fecha_pac, '') self.controller.cargar_paciente(contenedor) except Exception as e: alerta = tkinter.Message(pacientes, relief='raised', text='NO SE PUDO CARGAR EL PACIENTE\nError: ' + str(e), width=200) alerta.place(bordermode='outside', height=150, width=200, y=30, x=150) ok = tkinter.Button(alerta, text="Ok", command=cerrar_exp) ok.pack(side="bottom") else: alerta = tkinter.Message(pacientes, relief='raised', text='PACIENTE CARGADO CON EXITO', width=200) alerta.place(bordermode='outside', height=150, width=200, y=30, x=150) ok = tkinter.Button(alerta, text="Ok", command=cerrar_exp) ok.pack(side="bottom")
def solicitar_datos_pac(self): print('-> Datos del nuevo Paciente') nombre = self.util.leer_cadena('Nombre: ',True) apellido = self.util.leer_cadena('Apellido: ',True) cedula = self.util.leer_entero('Cedula: ',1) telefono = self.util.leer_cadena('Telefono: ',False) email = self.util.leer_cadena('Email: ',False) fecha = self.util.leer_fecha('Fecha de Nacimiento dd/mm/yyyy: ') contenedor = Paciente(nombre,apellido,cedula,telefono,email,fecha,'','') return (contenedor)
class ControladorPaciente(): """Clase Controlador de los Pacientes""" def __init__(self): self.var = Paciente('', '', 0, '', '', '', '', '') #self.view = View() self.util = Util() def cargar_paciente(self, paciente): self.var = paciente codigo = self.util.genera_codigo(self.var.nombre, self.var.apellido, self.var.cedula) existe = self.var.buscar_persona(codigo) if existe != None and len(existe) != 0: raise Exception( 'El paciente {} ya esta existe en la base'.format(codigo)) #self.view.mostrar_msg_pac(msg) else: self.var.carga_datos(codigo) msg = self.var.cargar_persona(self.var, codigo) ##self.view.mostrar_msg_pac(msg) def listar_paciente(self): return self.var.listar_persona() #self.view.listar_pacientes(ob) def buscar_paciente(self, codigo): #codigo = self.view.solicitar_codigo_pac() return self.var.buscar_persona(codigo) #self.view.mostrar_resultado_pac(paciente) def solicitar_oa(self): '''Se encarga de crear una orden de trabajo nueva'''
def __init__(self): # self.orden = OrdenPaciente() self.pac = Paciente() self.model = OrdenModel() self.cpac = ControladorPaciente() self.turno = TurnoController()
class OrdenController: def __init__(self): # self.orden = OrdenPaciente() self.pac = Paciente() self.model = OrdenModel() self.cpac = ControladorPaciente() self.turno = TurnoController() def verificador_cupos(self): cargados = self.model.contador datosTope = self.turno.disponibilidad_x_turno() if (cargados >= datosTope): return False else: return True def cargar_orden(self): access = self.verificador_cupos() loop = True try: if (access): while (loop): cedula = self.orden.solicitar_datos() cliente = self.pac.buscar_persona_cedula(cedula) if cliente == '': msg = 'Paciente no registrado.' self.orden.mostrar_msg2(msg) consulta = self.orden.reg_cliente().upper() if (consulta == 'S' or consulta == 'SI'): self.cpac.cargar_paciente() else: nro = self.model.buscar_nro_orden() if nro == 0: nro = 1 else: nro += 1 ahora = date.today().strftime('%d/%b/%Y') tipo = self.model.tipos_analisis() retorno = self.orden.cargar_orden( cliente, ahora, nro, tipo) validacion = retorno[0].upper() etipo = tipo[int(retorno[1]) - 1] if (validacion == 'S' or validacion == 'SI'): cod_o = 'OT_' + str(nro) new_paciente = OrdenModel(ahora, nro, cliente['codigo'], etipo, cod_o) exit = self.model.cargar_orden(new_paciente, cod_o) self.orden.mostrar_msg(exit) consulta = self.orden.cargar_otro().upper() if (consulta == 'S' or consulta == 'SI'): pass else: loop = False else: msg = 'Operacion Cancelada' self.orden.mostrar_msg2(msg) loop = False else: msg = 'No hay mas cupos disponibles para hoy' self.orden.mostrar_msg2(msg) except Exception as e: raise ('Error Fatal', e) def listar_orden(self): return self.model.listar_ordenes() # self.orden.listar_ordeness(ob) def orden_list(self, lang): '''funcion de orden superior para controlar las ordenes''' def listar_orden_pendiente(): return self.model.listar_ordenes() def listar_orden_finalizada(): return self.model.listar_ordenes_finalizadas() lang_func = { 'pen': listar_orden_pendiente, 'fin': listar_orden_finalizada } return lang_func[lang]() # self.orden.listar_ordeness(ob) # self.orden.listar_ordeness_finalizadas(ob) def buscar_orden(self, codigo): # codigo = self.orden.solicitar_codigo() return self.model.buscar_orden(codigo) # self.orden.mostrar_resultado(orden) def atender_orden(self, codigo): # codigo = self.orden.solicitar_codigo() orden = self.model.buscar_orden_modif(codigo) orden.estado = 'Finalizado' orden.fecha = date.today().strftime('%d/%b/%Y') self.model.cargar_orden(orden, orden.cod_orden)
def __init__(self): self.var = Paciente('', '', 0, '', '', '', '', '') #self.view = View() self.util = Util()