def __init__(self, idnomina=0): ''' Constructor ''' self.id = idnomina self.nomina = SqlNominas(self.id) importe = 0 for x in self.nomina.lista_devengos_nomina(): self.devengo = Nomina_Devengo(x[0]) importe = self.devengo.paga_extra() + importe print "paga extra", self.devengo.id, importe
def __init__(self, idnomina = 0): ''' Constructor ''' self.id = idnomina self.nomina = SqlNominas(self.id) importe = 0 for x in self.nomina.lista_devengos_nomina(): self.devengo = Nomina_Devengo(x[0]) importe = self.devengo.paga_extra()+importe print "paga extra",self.devengo.id,importe
def on_bAcepta_clicked(self, button, data=None): for x in self.lista: y = ['', '', '', '', ''] devengo = Nomina_Devengo(x[0]) locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') print "Precio y cuantia",devengo.cuantia, devengo.precio, y[2] = locale.atof(x[2]) y[3] = locale.atof(x[3]) y[4] = locale.atof(x[4]) devengo.ac_campo('imp_cuantia',y[2]) devengo.ac_campo('imp_precio', y[3]) devengo.ac_campo('imp_devengo', y[4]) print devengo.precio, devengo.cuantia calcular = CalcNomina(self.laempresa, self.mes, self.anio) calcular.update_devengos(self.lanomina) for x in self.vista.get_columns(): self.vista.remove_column(x) self.lista.clear() self.nomina() return
def on_bAcepta_clicked(self, button, data=None): for x in self.lista: y = ['', '', '', '', ''] devengo = Nomina_Devengo(x[0]) locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') print "Precio y cuantia", devengo.cuantia, devengo.precio, y[2] = locale.atof(x[2]) y[3] = locale.atof(x[3]) y[4] = locale.atof(x[4]) devengo.ac_campo('imp_cuantia', y[2]) devengo.ac_campo('imp_precio', y[3]) devengo.ac_campo('imp_devengo', y[4]) print devengo.precio, devengo.cuantia calcular = CalcNomina(self.laempresa, self.mes, self.anio) calcular.update_devengos(self.lanomina) for x in self.vista.get_columns(): self.vista.remove_column(x) self.lista.clear() self.nomina() return
def bases_cotizacion(self): ''' :return: ''' self.base_irpf = 0 self.base_remuneracion = 0 self.base_irpf_especie = 0 self.base_ppextra = 0 self.base_irpf_segsoc = 0 self.base_segsoc_sinirpf = 0 self.base_irpf_sinsegsoc = 0 self.no_cotizan = 0 self.nomina.actualiza_ppextra() self.nomina = SqlNominas(self.id) self.base_ppextra = self.nomina.base_ppextra # Para calcular las bases de cotización distinguimos entre devengos y pagas extras # Comprobamos que los devengos cotizan a la seguridad social al igual que las pagas extras # Comprobamos que los devengos cotizan en el IRPF al igual que las pagas extras # Los prorrateos de pagas extras se calculan en SqlNominas.devengo_ppextra() for x in (self.lista_devengos + self.lista_pextra): devengo = Nomina_Devengo(x[0]) print ' ....****>>>> Devengo/segsoc/irpf', devengo.concepto, devengo.cotiza_segsocial, devengo.cotiza_irpf if devengo.cotiza_segsocial: self.base_remuneracion = self.base_remuneracion + devengo.devengado if devengo.cotiza_irpf: if devengo.es_devengo_especie: self.base_irpf_especie = self.base_irpf_especie + devengo.devengado else: self.base_irpf = self.base_irpf + devengo.devengado if devengo.cotiza_irpf and devengo.cotiza_segsocial: self.base_irpf_segsoc = self.base_irpf_segsoc + devengo.devengado if not devengo.cotiza_irpf and devengo.cotiza_segsocial: self.base_segsoc_sinirpf = self.base_segsoc_sinirpf + devengo.devengado if devengo.cotiza_irpf and not devengo.cotiza_segsocial: self.base_irpf_sinsegsoc = self.base_irpf_sinsegsoc + devengo.devengado if not devengo.cotiza_irpf and not devengo.cotiza_segsocial: self.no_cotizan = self.no_cotizan + devengo.devengado self.base_segsocial = self.base_ppextra + self.base_remuneracion
def ac_devengos(self): self.total_devengo = 0 self.pextra = 0 for dev in self.listadevengos: devengo = Nomina_Devengo(dev[0]) self.total_devengo = self.total_devengo + devengo.devengado self.pextra = self.pextra + devengo.paga_extra() for pex in self.listapextras: pextras = self.pextra devpextra = Nomina_Devengo(pex[0]) pextras = pextras * devpextra.coef_pextra cuantia = self.costes.bases.nomina.dias_cotizados() devpextra.ac_campo('imp_cuantia', cuantia) if not devpextra.es_para_pextra: precio = pextras / cuantia devpextra.ac_campo('imp_devengo', pextras) elif devpextra.es_para_pextra: precio = float(devpextra.importe) / float( self.costes.bases.calendario.diastotales) devpextra.ac_campo('imp_devengo', round(cuantia * precio, 2)) self.total_devengo += round(cuantia * precio, 2) devpextra.ac_campo('imp_precio', precio) devpextra(pex[0]) if self.costes.bases.nomina.contrato.con_prorrata_pextra: self.total_devengo = self.total_devengo + self.costes.bases.base_ppextra self.ac_campo('imp_totdev', self.total_devengo)
def ac_deducciones(self): self.total_deducciones = 0 for ded in self.listadeducciones: deducciones = Nomina_Devengo(ded[0]) self.total_deducciones = self.total_deducciones + deducciones.deducido
def nomina(self): self.lista = Gtk.ListStore(long, str, str, str, str, str) render0 = Gtk.CellRendererText() render0.set_property("xalign", 1.0) render0.set_property("visible", False) render1 = Gtk.CellRendererText() render1.set_property("xalign", 0) render2 = Gtk.CellRendererText() render2.set_property("xalign", 1.0) render2.set_property("editable", True) render2.connect('edited', self.col2_edited_cb, self.lista) render3 = Gtk.CellRendererText() render3.set_property("xalign", 1.0) render3.set_property("editable", True) render3.connect('edited', self.col3_edited_cb, self.lista) render4 = Gtk.CellRendererText() render4.set_property("xalign", 1.0) render5 = Gtk.CellRendererText() render5.set_property("xalign", 1.0) SqlNom = SqlNominas(self.lanomina) #devengos = SqlNom.ver_devengos(self.trabajador, self.mes, self.anio) # self.tabla = Gtk.Table(len(devengos[0]),len(devengos)) lista_devengos = SqlNom.lista_devengos_nomina( ) + SqlNom.lista_pagas_extras() for k in lista_devengos: contenido = [] devengo = Nomina_Devengo(k[0]) #for l in k: # entrada = Gtk.Label(devengos[t][p]) # self.tabla.attach(entrada,p,p+1,t,t+1) # entrada.show() # print "Dev",devengos[t][p],t, p #if isinstance(devengo.precio, float): # l = "{0:,.2f}".format(l) decimales = '{0:,.2f}' contenido.append(devengo.id) contenido.append(devengo.concepto) contenido.append(decimales.format(devengo.cuantia)) contenido.append(decimales.format(devengo.precio)) contenido.append(decimales.format(devengo.devengado)) contenido.append(decimales.format(devengo.deducido)) self.lista.append(contenido) self.vista.set_model(self.lista) col1 = Gtk.TreeViewColumn("Num.", render0, text=0) col2 = Gtk.TreeViewColumn("Concepto", render1, text=1) col3 = Gtk.TreeViewColumn("Cant.", render2, text=2) col4 = Gtk.TreeViewColumn("Precio", render3, text=3) col5 = Gtk.TreeViewColumn("Devengo", render4, text=4) col6 = Gtk.TreeViewColumn("Deduccion", render5, text=5) self.vista.append_column(col1) self.vista.append_column(col2) self.vista.append_column(col3) self.vista.append_column(col4) self.vista.append_column(col5) self.vista.append_column(col6) self.vista.set_search_column(0) cabecera = SqlNom.ver_nomina(self.trabajador, self.mes, self.anio) self.lcif.set_text(SqlNom.cif) self.lcontrato.set_text(SqlNom.contrato.contrato.descripcion) ldir = SqlNom.cta_cot.centro_trabajo.dir_calle + ', ' + SqlNom.cta_cot.centro_trabajo.dir_numero self.ldireccion.set_text(ldir) self.lhoras.set_text(unicode(SqlNom.horas_cotizadas())) self.lidcontrato.set_text(unicode(SqlNom.contrato.codigo)) self.lidnomina.set_text(unicode(SqlNom.id)) self.lnaf.set_text(SqlNom.naf) self.lnif.set_text(SqlNom.nif) self.lncc.set_text(SqlNom.cta_cot.cuenta_cotizacion) self.lnumcontrato.set_text(unicode(SqlNom.contrato.idcontrato)) self.lperiodo.set_text("Del " + SqlNom.periodo) try: self.lppextra.set_text("{:,.2f}".format(SqlNom.base_ppextra)) self.lremuneracion.set_text("{:,.2f}".format(SqlNom.imp_remumes)) except: pass self.lpuesto.set_text(SqlNom.puesto) self.lempresa.set_text(SqlNom.nombreempresa) self.ld.set_text(unicode(SqlNom.dias_cotizados())) self.lantiguedad.set_text(str(cabecera[2])) if SqlNom.contrato.contrato.es_tiempo_parcial: self.rb_es_tpoparcial.set_active(True) elif SqlNom.contrato.contrato.es_tiempo_completo: self.rb_es_tpocompleto.set_active(True) if SqlNom.contrato.contrato.es_indefinido: self.rb_es_indefinido.set_active(True) elif SqlNom.contrato.contrato.es_temporal: self.rb_es_temporal.set_active(True) self.ltrabajador.set_text(SqlNom.nombre_trabajador) self.lb_irpf.set_text("{:,.2f}".format(SqlNom.base_irpf)) self.lliquido.set_text('{:,.2f}'.format(SqlNom.liquido)) self.lb_segsoc.set_text("{:,.2f}".format(SqlNom.base_cc)) self.vista.show() seleccion = self.vista.get_selection().get_selected() # self.tabla.show() # self.box14.add(self.tabla) self.box14.show()
def ac_devengos(self): self.total_devengo = 0 self.pextra = 0 for dev in self.listadevengos: devengo = Nomina_Devengo(dev[0]) self.total_devengo = self.total_devengo + devengo.devengado self.pextra = self.pextra + devengo.paga_extra() for pex in self.listapextras: pextras = self.pextra devpextra = Nomina_Devengo(pex[0]) pextras = pextras * devpextra.coef_pextra cuantia = self.costes.bases.nomina.dias_cotizados() devpextra.ac_campo('imp_cuantia', cuantia) if not devpextra.es_para_pextra: precio = pextras / cuantia devpextra.ac_campo('imp_devengo', pextras) elif devpextra.es_para_pextra: precio = float(devpextra.importe) / float(self.costes.bases.calendario.diastotales) devpextra.ac_campo('imp_devengo', round(cuantia * precio, 2)) self.total_devengo += round(cuantia * precio, 2) devpextra.ac_campo('imp_precio', precio) devpextra(pex[0]) if self.costes.bases.nomina.contrato.con_prorrata_pextra: self.total_devengo = self.total_devengo + self.costes.bases.base_ppextra self.ac_campo('imp_totdev', self.total_devengo)