def __init__(self): QtGui.QWidget.__init__(self) self.ui = Ui_FormInfSem() self.ui.setupUi(self) self.mostrar = True self.rellenaCBox() self.show() self.setSignal() self.rellenaCBoxComuna() self.ventana = FormAgregarComentario() self.ventana.setVisible(False)
class FormInformeSemestral(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) self.ui = Ui_FormInfSem() self.ui.setupUi(self) self.mostrar = True self.rellenaCBox() self.show() self.setSignal() self.rellenaCBoxComuna() self.ventana = FormAgregarComentario() self.ventana.setVisible(False) def setSignal(self): self.ui.pushButton_Guardar.clicked.connect(self.creaInforme) self.ui.pushButton_Cancelar.clicked.connect(self.salir) self.ui.pushButton_AgreComentario.clicked.connect(self.agregarComentario) self.ui.radioButton_Semestral.toggled.connect(self.actualizaSemestral) self.ui.radioButton_Mensual.toggled.connect(self.actualizaMensual) self.ui.radioButton_Anual.toggled.connect(self.actualizaAnual) self.ui.comboBox_Comuna.currentIndexChanged.connect(self.rellenaCBoxEstablecimientos) self.ui.comboBox_Establecimiento.currentIndexChanged.connect(self.actualizaCombobox) self.ui.radioButton_Establecimiento.toggled.connect(self.actualizaEstablecimiento) self.ui.radioButton_Comuna.toggled.connect(self.actualizaComuna) self.ui.radioButton_Region.toggled.connect(self.actualizaRegion) self.ui.pushButton_Email.clicked.connect(self.enviarInforme) def rellenaCBox(self): if(self.ui.radioButton_Establecimiento.isChecked() == True and self.ui.comboBox_Establecimiento.currentText() != "-----"): lista_anios = list() idEstablecimiento = controlador_generacion_informe.obtenerIdEstablecimiento(self.ui.comboBox_Establecimiento.currentText()) registros = controlador_generacion_informe.obtenerAnios(idEstablecimiento) for i in range(len(registros)): lista_anios.append(registros[0].anho) lista_anios_unicos = list(set(lista_anios)) if not registros: self.ui.comboBox_Anio.clear() self.ui.comboBox_Anio.addItem("-----") else: self.ui.comboBox_Anio.clear() self.ui.comboBox_Anio.addItem("-----") for i, registro in enumerate(lista_anios_unicos): self.ui.comboBox_Anio.addItem(str(registro),i) elif(self.ui.radioButton_Comuna.isChecked() == True and self.ui.comboBox_Comuna.currentText() != "-----"): lista_anios = list() lista_registros = list() id_comuna = controlador_generacion_informe.obtenerIdComuna(self.ui.comboBox_Comuna.currentText()) idEstablecimiento = controlador_generacion_informe.obtenerEstablecimiento(id_comuna) for j in range(len(idEstablecimiento)): registros = controlador_generacion_informe.obtenerAnios(idEstablecimiento[j].id_establecimiento) if(len(registros) != 0): lista_registros.append(registros[0].anho) for i in range(len(lista_registros)): lista_anios.append(lista_registros[i]) lista_anios_unicos = list(set(lista_anios)) if not registros: self.ui.comboBox_Anio.clear() self.ui.comboBox_Anio.addItem("-----") else: self.ui.comboBox_Anio.clear() self.ui.comboBox_Anio.addItem("-----") for i, registro in enumerate(lista_anios_unicos): self.ui.comboBox_Anio.addItem(str(registro),i) elif(self.ui.radioButton_Region.isChecked() == True): lista_anios = list() lista_registros = list() nom_comunas = controlador_generacion_informe.obtenerTodasComunas() for i in range(len(nom_comunas)): id_comuna = controlador_generacion_informe.obtenerIdComuna(nom_comunas[i].nombre) idEstablecimiento = controlador_generacion_informe.obtenerEstablecimiento(id_comuna) for j in range(len(idEstablecimiento)): registros = controlador_generacion_informe.obtenerAnios(idEstablecimiento[j].id_establecimiento) if(len(registros) != 0): lista_registros.append(registros[0].anho) for i in range(len(lista_registros)): lista_anios.append(lista_registros[i]) lista_anios_unicos = list(set(lista_anios)) if not registros: self.ui.comboBox_Anio.clear() self.ui.comboBox_Anio.addItem("-----") else: self.ui.comboBox_Anio.clear() self.ui.comboBox_Anio.addItem("-----") for i, registro in enumerate(lista_anios_unicos): self.ui.comboBox_Anio.addItem(str(registro),i) def rellenaCBoxMeses(self): if(self.ui.radioButton_Establecimiento.isChecked() ==True and self.ui.radioButton_Semestral.isChecked() == False and self.ui.comboBox_Establecimiento.currentText() != "-----"): lista_mes = list() idEstablecimiento = controlador_generacion_informe.obtenerIdEstablecimiento(self.ui.comboBox_Establecimiento.currentText()) registros = controlador_generacion_informe.obtenerMeses(idEstablecimiento) for i in range(len(registros)): lista_mes.append(registros[0].mes) lista_mes_unicos = list(set(lista_mes)) if not registros: self.ui.comboBox_Sem_Mes.clear() self.ui.comboBox_Sem_Mes.addItem("-----") else: self.ui.comboBox_Sem_Mes.clear() self.ui.comboBox_Sem_Mes.addItem("-----") for i, registro in enumerate(lista_mes_unicos): self.ui.comboBox_Sem_Mes.addItem(str(registro),i) elif(self.ui.radioButton_Comuna.isChecked() == True and self.ui.comboBox_Comuna.currentText() != "-----" and self.ui.radioButton_Semestral.isChecked() == False): lista_mes = list() lista_registros = list() id_comuna = controlador_generacion_informe.obtenerIdComuna(self.ui.comboBox_Comuna.currentText()) idEstablecimiento = controlador_generacion_informe.obtenerEstablecimiento(id_comuna) for j in range(len(idEstablecimiento)): registros = controlador_generacion_informe.obtenerMeses(idEstablecimiento[j].id_establecimiento) if(len(registros) != 0): lista_registros.append(registros[0].mes) for i in range(len(lista_registros)): lista_mes.append(lista_registros[i]) lista_mes_unicos = list(set(lista_mes)) if not registros: self.ui.comboBox_Sem_Mes.clear() self.ui.comboBox_Sem_Mes.addItem("-----") else: self.ui.comboBox_Sem_Mes.clear() self.ui.comboBox_Sem_Mes.addItem("-----") for i, registro in enumerate(lista_mes_unicos): self.ui.comboBox_Sem_Mes.addItem(str(registro),i) elif(self.ui.radioButton_Region.isChecked() == True and self.ui.radioButton_Semestral.isChecked() == False): lista_mes = list() lista_registros = list() nom_comunas = controlador_generacion_informe.obtenerTodasComunas() for i in range(len(nom_comunas)): id_comuna = controlador_generacion_informe.obtenerIdComuna(nom_comunas[i].nombre) idEstablecimiento = controlador_generacion_informe.obtenerEstablecimiento(id_comuna) for j in range(len(idEstablecimiento)): registros = controlador_generacion_informe.obtenerMeses(idEstablecimiento[j].id_establecimiento) if(len(registros) != 0): lista_registros.append(registros[0].mes) for i in range(len(lista_registros)): lista_mes.append(lista_registros[i]) lista_mes_unicos = list(set(lista_mes)) if not registros: self.ui.comboBox_Sem_Mes.clear() self.ui.comboBox_Sem_Mes.addItem("-----") else: self.ui.comboBox_Sem_Mes.clear() self.ui.comboBox_Sem_Mes.addItem("-----") for i, registro in enumerate(lista_mes_unicos): self.ui.comboBox_Sem_Mes.addItem(str(registro),i) else: self.ui.comboBox_Sem_Mes.clear() self.ui.comboBox_Sem_Mes.addItem("-----") # self.ui.comboBox_Sem_Mes.addItem("-----") # self.ui.comboBox_Sem_Mes.addItem("Enero") # self.ui.comboBox_Sem_Mes.addItem("Febrero") # self.ui.comboBox_Sem_Mes.addItem("Marzo") # self.ui.comboBox_Sem_Mes.addItem("Abril") # self.ui.comboBox_Sem_Mes.addItem("Mayo") # self.ui.comboBox_Sem_Mes.addItem("Junio") # self.ui.comboBox_Sem_Mes.addItem("Julio") # self.ui.comboBox_Sem_Mes.addItem("Agosto") # self.ui.comboBox_Sem_Mes.addItem("Septiembre") # self.ui.comboBox_Sem_Mes.addItem("Octubre") # self.ui.comboBox_Sem_Mes.addItem("Noviembre") # self.ui.comboBox_Sem_Mes.addItem("Diciembre") def actualizaCombobox(self): if(self.ui.radioButton_Establecimiento.isChecked() == True): if(self.ui.radioButton_Semestral.isChecked() == False): try: self.rellenaCBox() self.rellenaCBoxMeses() except: pass else: self.rellenaCBoxSem() self.rellenaCBox() elif(self.ui.radioButton_Comuna.isChecked() == True): if(self.ui.radioButton_Semestral.isChecked() == False): try: self.rellenaCBox() self.rellenaCBoxMeses() except: pass else: self.rellenaCBoxSem() self.rellenaCBox() elif(self.ui.radioButton_Region.isChecked() == True): if(self.ui.radioButton_Semestral.isChecked() == False): try: self.rellenaCBox() self.rellenaCBoxMeses() except: pass else: self.rellenaCBoxSem() self.rellenaCBox() def rellenaCBoxSem(self): self.ui.comboBox_Sem_Mes.clear() self.ui.label_Sem_Mes.setText("Semestre") self.ui.comboBox_Sem_Mes.addItem("-----") self.ui.comboBox_Sem_Mes.addItem(str(1)) self.ui.comboBox_Sem_Mes.addItem(str(2)) def rellenaCBoxEstablecimientos(self, index): if(index != 0): idComuna = controlador_generacion_informe.obtenerIdComuna(self.ui.comboBox_Comuna.currentText()) establecimientos = controlador_generacion_informe.obtenerEstablecimiento(idComuna) self.ui.comboBox_Establecimiento.clear() for i, establecimiento in enumerate(establecimientos): self.ui.comboBox_Establecimiento.addItem(establecimiento.nombre, i) self.actualizaCombobox() else: self.ui.comboBox_Establecimiento.clear() self.ui.comboBox_Establecimiento.addItem("--------") def rellenaCBoxComuna(self): comunas = controlador_generacion_informe.obtenerTodasComunas() for i, comuna in enumerate(comunas): self.ui.comboBox_Comuna.addItem(comuna.nombre, i) def agregarComentario(self): self.ventana.show() def obtenerAnio(self): if(self.ui.comboBox_Anio.currentText() == "-----"): anio = str(datetime.date.today().year) else: anio = self.ui.comboBox_Anio.currentText() return anio def obtenerSemestre(self): if((self.ui.comboBox_Sem_Mes.currentText() == "-----") or (self.ui.comboBox_Sem_Mes.currentText() == "1")): semestre = "1" else: semestre = "2" return semestre def obtenerMes(self): if(self.ui.comboBox_Sem_Mes.currentText() == "-----"): mes = "Enero" else: mes = self.ui.comboBox_Sem_Mes.currentText() return mes def obtenerComuna(self): if(self.ui.comboBox_Comuna.currentText() == "-----"): comuna = "Valdivia" else: comuna = self.ui.comboBox_Comuna.currentText() return comuna def obtenerEstablecimiento(self): if(self.ui.comboBox_Establecimiento.currentText() == "-----"): establecimiento = "Valdivia" else: establecimiento = self.ui.comboBox_Establecimiento.currentText() return establecimiento def informeMensual(self): semestre = "ninguno" mes = self.obtenerMes() anio = self.obtenerAnio() est_ok = 1 com_ok = 1 if(self.ui.radioButton_Establecimiento.isChecked() == True): if(self.ui.comboBox_Comuna.currentText() == "-----"): est_ok = 0 else: comuna = self.ui.comboBox_Comuna.currentText() if(self.ui.comboBox_Establecimiento.currentText() == "-----"): com_ok = 0 else: establecimiento = self.ui.comboBox_Establecimiento.currentText() if (est_ok == 0 or com_ok == 0): self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") else: self.generarInforme(mes, semestre, anio, establecimiento, comuna) elif(self.ui.radioButton_Comuna.isChecked() == True): establecimiento = "ninguno" if(self.ui.comboBox_Comuna.currentText() == "-----"): com_ok = 0 else: comuna = self.ui.comboBox_Comuna.currentText() if(com_ok == 0): self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") else: self.generarInforme(mes, semestre, anio, establecimiento, comuna) elif(self.ui.radioButton_Region.isChecked() == True): establecimiento = "ninguno" comuna = "ninguno" self.generarInforme(mes, semestre, anio, establecimiento, comuna) else: self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") def informeSemestral(self): semestre = self.obtenerSemestre() anio = self.obtenerAnio() mes = "ninguno" est_ok = 1 com_ok = 1 if(self.ui.radioButton_Establecimiento.isChecked() == True): if(self.ui.comboBox_Comuna.currentText() == "-----"): est_ok = 0 else: comuna = self.ui.comboBox_Comuna.currentText() if(self.ui.comboBox_Establecimiento.currentText() == "-----"): com_ok = 0 else: establecimiento = self.ui.comboBox_Establecimiento.currentText() if (est_ok == 0 or com_ok == 0): self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") else: self.generarInforme(mes, semestre, anio, establecimiento, comuna) elif(self.ui.radioButton_Comuna.isChecked() == True): establecimiento = "ninguno" if(self.ui.comboBox_Comuna.currentText() == "-----"): com_ok = 0 else: comuna = self.ui.comboBox_Comuna.currentText() if (com_ok == 0): self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") else: self.generarInforme(mes, semestre, anio, establecimiento, comuna) elif(self.ui.radioButton_Region.isChecked() == True): establecimiento = "ninguno" comuna = "ninguno" self.generarInforme(mes, semestre, anio, establecimiento, comuna) else: self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") def informeAnual(self): mes = "ninguno" semestre = "ninguno" anio = self.obtenerAnio() est_ok = 1 com_ok = 1 if(self.ui.radioButton_Establecimiento.isChecked() == True): if(self.ui.comboBox_Comuna.currentText() == "-----"): est_ok = 0 else: comuna = self.ui.comboBox_Comuna.currentText() if(self.ui.comboBox_Establecimiento.currentText() == "-----"): com_ok = 0 else: establecimiento = self.ui.comboBox_Establecimiento.currentText() if (est_ok == 0 or com_ok == 0): self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") else: self.generarInforme(mes, semestre, anio, establecimiento, comuna) elif(self.ui.radioButton_Comuna.isChecked() == True): establecimiento = "ninguno" if(self.ui.comboBox_Comuna.currentText() == "-----"): com_ok = 0 else: comuna = self.ui.comboBox_Comuna.currentText() if (com_ok == 0): self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") else: self.generarInforme(mes, semestre, anio, establecimiento, comuna) elif(self.ui.radioButton_Region.isChecked() == True): establecimiento = "ninguno" comuna = "ninguno" self.generarInforme(mes, semestre, anio, establecimiento, comuna) else: self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") def actualizaMensual(self): self.ui.comboBox_Sem_Mes.setEnabled(True) self.ui.label_Sem_Mes.setText("Mes") self.rellenaCBox() self.rellenaCBoxMeses() def actualizaSemestral(self): self.ui.comboBox_Sem_Mes.setEnabled(True) self.rellenaCBoxSem() self.rellenaCBox() def actualizaAnual(self): self.ui.comboBox_Sem_Mes.setEnabled(False) self.rellenaCBox() def actualizaEstablecimiento(self): self.ui.comboBox_Establecimiento.setEnabled(True) self.ui.comboBox_Comuna.setEnabled(True) def actualizaComuna(self): self.ui.comboBox_Establecimiento.setEnabled(False) self.ui.comboBox_Comuna.setEnabled(True) def actualizaRegion(self): self.ui.comboBox_Comuna.setEnabled(False) self.ui.comboBox_Establecimiento.setEnabled(False) if(self.ui.radioButton_Semestral.isChecked() == False): self.rellenaCBox() self.rellenaCBoxMeses() else: self.rellenaCBoxSem() def creaInforme(self): if(self.ui.radioButton_Semestral.isChecked() == True): self.informeSemestral() elif(self.ui.radioButton_Mensual.isChecked() == True): self.informeMensual() elif(self.ui.radioButton_Anual.isChecked() == True): self.informeAnual() else: self.nom_archivo = "---" self.errorMessage(u"Debe seleccionar todos los campos") def enviarInforme(self): self.mostrar = False self.creaInforme() if(self.nom_archivo != "---"): self.enviarMail = Enviar_informe_email(self.nom_archivo) self.enviarMail.show() else: pass def generarInforme(self, mes, semestre, anio, establecimiento, comuna): """ Genera el informe que corresponde al mes o semestre, año, establecimiento y comuna ingresado. """ carga = 0 cargandoInforme = Cargando_informe(carga) cargandoInforme.show() comentario = self.ventana.texto if(mes == "ninguno" and semestre != "ninguno"): if(semestre == "-----"): mesHoy = str(datetime.date.today().month) if(mesHoy == "Enero" or mesHoy == "Febrero" or mesHoy == "Marzo" or mesHoy == "Abril" or mesHoy == "Mayo" or mesHoy == "Junio"): entrada = "PRIMER SEMESTRE" semestre = "1" else: entrada = "SEGUNDO SEMESTRE" semestre = "2" else: if(semestre == "1"): entrada = "PRIMER SEMESTRE" else: entrada = "SEGUNDO SEMESTRE" elif(mes != "ninguno" and semestre == "ninguno"): entrada = mes elif(mes == "ninguno" and semestre == "ninguno"): entrada = "" imprime_establecimiento = establecimiento if(imprime_establecimiento == "ninguno"): imprime_establecimiento = "" imprime_comuna = comuna if(imprime_comuna == "ninguno"): imprime_comuna = "Regional" aux = canvas.Canvas("INFORME "+imprime_establecimiento.upper()+" "+imprime_comuna.upper()+" - "+entrada.upper()+" "+anio+".pdf", pagesize = A4) aux.drawImage(os.getcwd()+"/generacion_informe/imagenes/logoSS.jpg", 81, 742, width=57, height=57) aux.setFont('Helvetica-Bold', 8) aux.drawString(66,721, "MINISTERIO DE SALUD") aux.drawString(35,708, "SUBSECRETARÍA DE SALUD PÚBLICA") aux.setFont('Helvetica', 8) aux.drawString(50,695, "DIVISIÓN POLÍTICAS PÚBLICAS") aux.drawString(38,682, "DPTO. DE NUTRICIÓN Y ALIMENTOS") aux.setFont('Helvetica-Bold', 12) aux.drawString(220,716, "INFORME RESUMEN") aux.setFont('Helvetica-Bold', 10) aux.drawString(220,703, "REGION DE LOS RIOS "+entrada.upper()+" "+anio) aux.drawString(75,659, "COBERTURA CORRESPONDIENTE A:") aux.drawString(75,646, imprime_establecimiento+" "+imprime_comuna+" "+anio) #TABLA 1 #colores fondo tabla 1 aux.setFillColorRGB(0.78,0.54,0.74) aux.rect(75,603,485,31, fill=1) #MORADO OSCURO aux.setFillColorRGB(0.87,0.72,0.84) aux.rect(75,603,485,-26, fill=1) #MORADO POCO MAS CLARO aux.rect(75,407,485,-22, fill=1) aux.rect(75,288,485,25, fill=1) #Bordes externos tabla 1 aux.line(75,633,560,633) aux.line(75,633,75,180) aux.line(75,180,560,180) aux.line(560,180,560,633) #Lineas Horizontales tabla 1 aux.setFont('Helvetica', 10) aux.line(75,603,560,603) aux.line(75,577,560,577) aux.line(75,552,560,552) aux.line(75,529,560,529) aux.line(75,504,560,504) aux.line(75,480,560,480) aux.line(75,456,560,456) aux.line(75,431,560,431) aux.line(75,407,560,407) aux.line(75,385,560,385) aux.line(75,337,560,337) aux.line(75,313,560,313) aux.line(75,288,560,288) aux.line(75,252,560,252) aux.line(75,215,560,215) #Lineas Verticales tabla 1 aux.line(194,633,194,603) aux.line(194,577,194,407) aux.line(194,385,194,313) aux.line(194,288,194,180) aux.line(397,633,397,603) aux.line(397,577,397,407) aux.line(397,385,397,313) aux.line(397,288,397,180) aux.setFillColorRGB(0,0,0) aux.setFont('Helvetica-Bold', 9) #Titulos fila 1 aux.drawString(120,617,"EDAD") aux.drawString(230,620,"TOTAL PERSONAS") aux.drawString(230,608,entrada+" "+anio) aux.drawString(422,620,"KG. ENTREGADOS") aux.drawString(422,608,entrada+" "+anio) #Titulos Columna 1 aux.drawString(194,586,"MENORES DE 6 AÑOS") aux.drawString(85,561,"0 - 2 meses") aux.drawString(85,537,"3 - 5 meses") aux.drawString(85,513,"6 - 11 meses") aux.drawString(85,489,"12 - 17 meses") aux.drawString(85,464,"18 - 23 meses") aux.drawString(85,440,"24 - 47 meses") aux.drawString(85,416,"48 - 71 meses") aux.drawString(194,391,"GESTANTES") aux.drawString(85,369,"Normal,") aux.drawString(85,357,"Sobrepeso y") aux.drawString(85,343,"Obesas (NSO)") aux.drawString(85,321,"Bajo Peso (BP)") aux.drawString(194,297,"NODRIZAS") aux.drawString(85,272,"Lactancia Materna") aux.drawString(85,259,"exclusiva (LME)") aux.drawString(85,235,"Lactancia Materna") aux.drawString(85,225,"predominante (LMP)") aux.drawString(85,200,"Fórmula predominante") aux.drawString(85,188,"o exclusiva (FPE)") #Agregar datos obtendos de BD a las celdas #Hasta el momento solo son datos de prueba aux.drawString(281,561, str(controlador_generacion_informe.celda1x1(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(3) aux.drawString(470,561, str(controlador_generacion_informe.celda2x1(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(6) aux.drawString(281,537, str(controlador_generacion_informe.celda1x2(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(9) aux.drawString(470,537, str(controlador_generacion_informe.celda2x2(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(12) aux.drawString(281,513, str(controlador_generacion_informe.celda1x3(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(15) aux.drawString(470,513, str(controlador_generacion_informe.celda2x3(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(18) aux.drawString(281,489, str(controlador_generacion_informe.celda1x4(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(21) aux.drawString(470,489, str(controlador_generacion_informe.celda2x4(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(24) aux.drawString(281,464, str(controlador_generacion_informe.celda1x5(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(27) aux.drawString(470,464, str(controlador_generacion_informe.celda2x5(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(30) aux.drawString(281,440, str(controlador_generacion_informe.celda1x6(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(33) aux.drawString(470,440, str(controlador_generacion_informe.celda2x6(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(36) aux.drawString(281,416, str(controlador_generacion_informe.celda1x7(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(39) aux.drawString(470,416, str(controlador_generacion_informe.celda2x7(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(42) #---- aux.drawString(281,354, str(controlador_generacion_informe.celda1x8(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(45) aux.drawString(470,354, str(controlador_generacion_informe.celda2x8(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(48) aux.drawString(281,321, str(controlador_generacion_informe.celda1x9(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(51) aux.drawString(470,321, str(controlador_generacion_informe.celda2x9(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(54) aux.drawString(281,264, str(controlador_generacion_informe.celda1x10(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(57) aux.drawString(470,264, str(controlador_generacion_informe.celda2x10(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(60) aux.drawString(281,228, str(controlador_generacion_informe.celda1x11(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(63) aux.drawString(470,228, str(controlador_generacion_informe.celda2x11(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(66) aux.drawString(281,191, str(controlador_generacion_informe.celda1x12(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(69) aux.drawString(470,191, str(controlador_generacion_informe.celda2x12(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(72) #TABLA DE TOTALES aux.setFont('Helvetica', 10) aux.setFillColorRGB(0.87,0.72,0.84) aux.rect(145,156,351,-36,fill=1) aux.rect(63,120,82,-65,fill=1) aux.setFillColorRGB(0.78,0.54,0.74) aux.rect(493,156,67,-36,fill=1) aux.line(145,156,560,156) aux.line(63,120,560,120) aux.line(63,90,560,90) aux.line(63,55,560,55) aux.line(261,156,261,55) aux.line(377,156,377,55) aux.line(493,156,493,55) aux.line(560,156,560,55) aux.setFont('Helvetica-Bold', 9) aux.setFillColorRGB(0,0,0) aux.drawString(76,101,"PERSONAS") aux.drawString(96,75,"KG.") aux.drawString(69,63,"DISTRIBUIDOS") aux.drawString(169,146,"TOTAL NIÑOS") aux.drawString(166,133,"MENORES DE 6") aux.drawString(188,122,"NIÑOS") aux.drawString(270,133,"TOTAL GESTANTES") aux.drawString(391,133,"TOTAL NODRIZAS") aux.setFont('Helvetica-Bold', 12) aux.drawString(503,131,"TOTAL") #Agregar datos de BD a INFORME aux.drawString(195,101,str(controlador_generacion_informe.menores6(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(75) aux.drawString(313,101,str(controlador_generacion_informe.totalGestantes(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(78) aux.drawString(430,101,str(controlador_generacion_informe.totalNodrizas(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(81) aux.drawString(195,66,str(controlador_generacion_informe.menores6_kg(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(84) aux.drawString(313,66,str(controlador_generacion_informe.totalGestantes_kg(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(87) aux.drawString(430,66,str(controlador_generacion_informe.totalNodrizas_kg(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(90) aux.drawString(522,101,str(controlador_generacion_informe.totalPoblacion(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(92) aux.drawString(522,66,str(controlador_generacion_informe.totalKgRepartidos(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(94) aux.showPage() #TABLA ADULTOS MAYORES aux.line(55,767,544,767) aux.line(55,767,55,674) aux.line(55,674,544,674) aux.line(544,674,544,767) aux.line(55,739,544,739) aux.line(55,711,544,711) aux.line(194,767,194,674) aux.line(397,767,397,674) aux.setFillColorRGB(0.78,0.54,0.74) aux.rect(55,767,489,-28, fill=1) #MORADO OSCURO aux.setFillColorRGB(0.87,0.72,0.84) aux.rect(55,739,489,-28, fill=1) #MORADO POCO MAS CLARO aux.setFillColorRGB(0,0,0) aux.setFont('Helvetica-Bold', 10) aux.drawString(100,749,"EDAD") aux.drawString(232,749,"TOTAL PERSONAS") aux.drawString(417,749,"KG. ENTREGADOS") aux.drawString(249,721,"ADULTOS MAYORES") aux.setFont('Helvetica', 10) aux.drawString(75,688,"De 70 y más años") aux.drawString(266,688,str(controlador_generacion_informe.totalPoblacionAdultosMayores(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(97) aux.drawString(451,688,str(controlador_generacion_informe.totalKgRepartidosAdultosMayores(mes, semestre, anio, establecimiento, comuna))) cargandoInforme.cargar(100) #Cuadro para agregar comentario aux.setFont('Helvetica-Bold', 10) aux.drawString(55,619,"ANÁLISIS") aux.line(55,604,544,604) aux.line(544,604,544,100) aux.line(55,100,544,100) aux.line(55,100,55,604) txt = "" linea = 585 j = 0 if(len(comentario) > 64): for i in range(len(comentario)): txt = txt + comentario[i] j = j + 1 if(j == 65): print txt aux.drawString(85, linea, txt) linea = linea-13 txt = txt + "\n" txt = "" j = 0 else: aux.drawString(85,linea,comentario) aux.save() nombre_archivo = "INFORME "+imprime_establecimiento.upper()+" "+imprime_comuna.upper()+" - "+entrada.upper()+" "+anio+".pdf" self.nom_archivo = nombre_archivo if(os.path.exists(os.getcwd()+ "/INFORMES/" +nombre_archivo)): os.remove(os.getcwd()+"/INFORMES/"+nombre_archivo) shutil.move(nombre_archivo, os.getcwd()+"/INFORMES/") else: shutil.move(nombre_archivo, os.getcwd()+"/INFORMES/") if(self.mostrar == True): os.startfile(os.getcwd()+"/INFORMES/INFORME "+imprime_establecimiento.upper()+" "+imprime_comuna.upper()+" - "+entrada.upper()+" "+anio+".pdf") lista = "" listaInexistentes = list(set(controlador_generacion_informe.registrosInexistentes)) if(len(listaInexistentes) == 0): pass else: for elemento in listaInexistentes: lista = lista + elemento+"<br>" self.correctMessage(u"<font size = '4'><b> Registros Inexistentes </b></font> <br><br>"+lista.decode('cp1252')) else: self.mostrar = True def salir(self): self.setVisible(False) def correctMessage(self, message): """Función que despliega un mensaje de operacion correcta. @param message""" QtGui.QMessageBox.information(self, "Resgistro Inexistentes", message) def errorMessage(self, message): """Función que despliega un mensaje de error. @param message""" QtGui.QMessageBox.warning(self,u"ERROR!",message)