def __init__(self, mes, anio, empresa, trabajador=0, esnomina=True, esfiniquito=False, esnominapextra=False): """ Constructor """ self.mes = mes self.anio = anio self.dia = ultimodiames(mes, anio) self.fecha = str(self.anio) + "-" + str(self.mes) + "-" + str(self.dia) self.empresa = empresa self.es_finiquito = esfiniquito self.es_nomina = esnomina self.es_nominapextra = esnominapextra locale.setlocale(locale.LC_ALL, 'es_ES.UTF-8') self.estemes = time.strftime( "%B", time.strptime(str(self.mes) + ',' + str(self.anio), '%m,%Y')) self.trabajador_id = trabajador self.SqlNom = SqlNominas() self.cabecera = Cabecera(self.empresa, self.mes, self.anio, self.trabajador_id) print "*********** ALTA NOMINA **************" print 'Nomina:', self.es_nomina, ' Finiquito:', self.es_finiquito self.nominas_empresa()
def __init__(self, nomina=0): self.id = nomina self.base_ppextra = self.dato_nomina('base_ppextra') self.base_irpf = self.dato_nomina('base_irpf') self.base_cc = self.dato_nomina('base_cc') self.cif = self.dato_nomina("cif") self.contrato_id = self.dato_nomina('idemp_contratos') self.contrato = Contrato(self.contrato_id) try: self.dirtrabajador = self.contrato.trabajador.direccion_completa self.cptrabajador = self.contrato.trabajador.cod_postal self.pobtrabajador = poblacion(self.cptrabajador) self.provtrabajador = provincia(self.cptrabajador) self.motivoextincion = self.contrato.motivoextincion except: pass self.cta_cot_id = self.dato_nomina('idcta_cot') try: self.cta_cot = Cod_cotizacion(self.cta_cot_id) self.dirempresa = self.cta_cot.centro_trabajo.dircompleta self.cpempresa = self.cta_cot.centro_trabajo.dir_codpostal self.pobempresa = poblacion(self.cpempresa) self.provempresa = provincia(self.cpempresa) except: print 'No se activa la cta_cot' self.cta_cot = 0 self.descripcion = self.dato_nomina('descripcion') self.empresa_id = self.dato_nomina('idempresa') self.es_finiquito = si_no(self.dato_nomina('es_finiquito')) self.es_nominapextra = si_no(self.dato_nomina('es_nominapextra')) self.epigrafe_id = self.dato_nomina('idtb_epigrafe') self.fecha = self.dato_nomina('fecha') self.fecha_dia = self.dato_nomina('dayofmonth(fecha)') self.grupo_cotizacion_id = self.dato_nomina('idgrupos_cotizacion') self.imp_pextra = self.dato_nomina('imp_pextra') self.imp_remumes = self.dato_nomina('imp_remumes') self.nif = self.dato_nomina('dni') self.naf = self.dato_nomina('naf') self.nombre_trabajador = self.dato_nomina('nombre') self.nombreempresa = SqlEmpresa(self.empresa_id).razon_social self.periodo = self.dato_nomina('periodo') self.puesto = self.dato_nomina('categoria') self.fecha_anio = self.dato_nomina('year(fecha)') self.fecha_mes = self.dato_nomina('month(fecha)') self.dia_nomina = self.dato_nomina('dayofmonth(fecha)') try: self.fecha_datetime = datetime.date(self.fecha_anio, self.fecha_mes, self.dia_nomina) locale.setlocale(locale.LC_ALL, 'es_ES.UTF-8') self.fecha_formlargo = self.fecha_datetime.strftime( '%d de %B de %Y') self.periodos = self.contrato.periodo_nomina( self.fecha_anio, self.fecha_mes) except ValueError: print( 'No hay nomina activa, no se crea fecha_datetime y tampoco hay periodo de tiempo' ) self.fecha_datetime = 0 self.numero_nominas_mes = self.contrato.contratos_activos_mes( self.empresa_id, self.fecha_anio, self.fecha_mes) try: self.cabecera = Cabecera(self.empresa_id, self.fecha_mes, self.fecha_anio, self.contrato.trabajador.id) except AttributeError: print( 'Si no hay nómina, no hay contrato y tampoco trabajador. Se pierde la cabecera' ) self.total_devengos = self.dato_nomina('imp_totdev') self.total_deducciones = self.dato_nomina('tot_deducir') self.liquido = self.dato_nomina('liquido') self.liquido_letras = to_word(self.liquido)