Beispiel #1
0
 def actualiza_fecha(self):
     self.fecha = self.periodos[1].strftime('%Y-%m-%d')
     print self.fecha
     sql = ('Update nominas '
            'set fecha = ' + "'" + unicode(self.fecha) + "' " +
            'where idnomina = ' + unicode(self.id) + ' ')
     select_sql(sql)
Beispiel #2
0
 def ac_campo(self, campo, valor):
     sql = ("Update "
            "    nomina_devengos "
            "Set " + campo + "= " + unicode(valor) + " "
            "Where "
            "    idnomina_devengo = " + unicode(self.id) + " ")
     select_sql(sql)
Beispiel #3
0
 def ac_campo(self, campo, valor):
     sql = ("UPDATE "
            "nominas "
            "SET " + campo + " = " + unicode(valor) + " "
            "WHERE "
            "idnomina = " + unicode(self.nomina_id) + " ")
     select_sql(sql)
Beispiel #4
0
 def ac_campo(self, campo, valor):
     sql = ("UPDATE "
                 "nominas "
            "SET " +
                 campo + " = " + unicode(valor) + " "
            "WHERE "
                 "idnomina = " + unicode(self.nomina_id) + " ")
     select_sql(sql)
Beispiel #5
0
 def ac_aporta_trabajador(self):
     sql = ('UPDATE '
            '    nominas '
            'SET '
            '    imp_aportatrab =  ' + str(self.costes.total_aportacion) +
            ' '
            'WHERE '
            '    idnomina = %s')
     select_sql((sql, (self.nomina_id)))
Beispiel #6
0
 def actualiza_fecha(self):
     self.fecha = self.periodos[1].strftime('%Y-%m-%d')
     print self.fecha
     sql = ('Update nominas '
            'set fecha = ' + "'" + unicode(self.fecha) +
            "' " +
            'where idnomina = ' + unicode(self.id) +
            ' ')
     select_sql(sql)
Beispiel #7
0
 def ac_aporta_trabajador(self):
     sql = ('UPDATE '
            '    nominas '
            'SET '
            '    imp_aportatrab =  ' + str(self.costes.total_aportacion) +
            ' '
            'WHERE '
            '    idnomina = %s')
     select_sql((sql, (self.nomina_id)))
Beispiel #8
0
 def ac_campo(self, campo, valor):
     sql = ("Update "
            "    nomina_devengos "
            "Set " +
            campo + "= " + unicode(valor) +
            " "
            "Where "
            "    idnomina_devengo = " + unicode(self.id) + " ")
     select_sql(sql)
Beispiel #9
0
 def calc_liquido(self, nomina):
     # ------------ Calculo Total Liquido
     self.nomina(nomina)
     self.liquido = self.nomina.actualiza_liquido(nomina)
     if self.liquido == 0:
         sql = ("UPDATE nominas "
                "SET liquido = imp_totdev - tot_deducir "
                "WHERE idnomina = %s ")
         select_sql((sql, (nomina)))
Beispiel #10
0
    def dias_efectivos_tpo_parcial(self):
        sql = (
            "select "
            "    count(*) "
            "from "
            "    emp_tpo_parcial "
            "        left join "
            "            nominas "
            "            on emp_tpo_parcial.idemp_contrato = nominas.idemp_contratos "
            "where "
            "    month(emp_tpo_parcial.fecha) = %s "
            "    and year(emp_tpo_parcial.fecha) = %s "
            "    and nominas.idnomina = %s "
            "    and horas > 0")
        dias = select_sql((sql, (self.fecha_mes, self.fecha_anio, self.id)))[0]

        if dias == 0:
            desdedia = int(
                self.contrato.periodo_nomina(self.fecha_anio,
                                             self.fecha_mes)[0].day)
            hastadia = int(
                self.contrato.periodo_nomina(self.fecha_anio,
                                             self.fecha_mes)[1].day)
            cal = self.cta_cot.calendario
            try:
                sql = (
                    "select (lunes>0) * " + str(
                        cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                             desdedia, hastadia, 0)) +
                    " + (martes >0) * " + str(
                        cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                             desdedia, hastadia, 1)) +
                    " + (miercoles>0) * " + str(
                        cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                             desdedia, hastadia, 2)) +
                    " + (jueves>0) * " + str(
                        cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                             desdedia, hastadia, 3)) +
                    " + (viernes>0) * " + str(
                        cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                             desdedia, hastadia, 4)) +
                    " + (sabado>0) * " + str(
                        cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                             desdedia, hastadia, 5)) +
                    " + (domingo>0) * " + str(
                        cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                             desdedia, hastadia, 6)) + " "
                    "from emp_tpo_parcial "
                    "left join nominas "
                    "on emp_tpo_parcial.idemp_contrato = nominas.idemp_contratos "
                    "where nominas.idnomina = %s ")
                dias = select_sql((sql, (self.id)))[0]
            except:
                dias = 0
        print "    Dias_Efectivos tiempo parcial", dias
        return dias
Beispiel #11
0
 def actualiza_ppextra(self):
     valor = self.devengo_ppextra()
     sql = ('Update '
            '    nominas '
            'Set '
            '    base_ppextra = ' + unicode(valor) + ' '
            'Where '
            '    idnomina = ' + unicode(self.id) + ' ')
     select_sql(sql)
     self.base_ppextra = self.dato_nomina('base_ppextra')
Beispiel #12
0
 def ac_importe_emp_devengo(self):
     sql = ("Update "
            "    nomina_devengos A "
            "        inner join "
            "            emp_devengos B "
            "            on A.idemp_devengo = B.idemp_devengo "
            "Set "
            "    A.importe = B.importe "
            "Where "
            "    A.idnomina_devengo = " + unicode(self.id) + " ")
     select_sql(sql)
Beispiel #13
0
 def ac_importe_emp_devengo(self):
     sql = ("Update "
            "    nomina_devengos A "
            "        inner join "
            "            emp_devengos B "
            "            on A.idemp_devengo = B.idemp_devengo "
            "Set "
            "    A.importe = B.importe "
            "Where "
            "    A.idnomina_devengo = " + unicode(self.id) + " ")
     select_sql(sql)
Beispiel #14
0
 def actualiza_liquido(self, nomina):
     sql = ("select emp_contratos.neto from emp_contratos "
            "inner join nominas "
            "on nominas.idemp_contratos = emp_contratos.idemp_contratos "
            "where nominas.idnomina = %s;")
     liquido = select_sql((sql, (nomina)))[0]
     sql = ("update nominas "
            "set liquido = %s "
            "where nominas.idnomina = %s")
     select_sql((sql, (liquido, nomina)))
     return liquido
Beispiel #15
0
 def borrar_nomina(self):
     sql = ("Delete "
            "    nominas, nomina_devengos "
            "From "
            "    nominas "
            "        inner join "
            "            nomina_devengos "
            "            on nominas.idnomina = nomina_devengos.idnomina "
            "Where "
            "    nominas.idnomina = " + unicode(self.id) + " ")
     select_sql(sql)
Beispiel #16
0
 def actualiza_liquido(self, nomina):
     sql = ("select emp_contratos.neto from emp_contratos "
            "inner join nominas "
            "on nominas.idemp_contratos = emp_contratos.idemp_contratos "
            "where nominas.idnomina = %s;")
     liquido = select_sql((sql, (nomina)))[0]
     sql = ("update nominas "
            "set liquido = %s "
            "where nominas.idnomina = %s")
     select_sql((sql, (liquido, nomina)))
     return liquido
Beispiel #17
0
 def borrar_nomina(self):
     sql = ("Delete "
            "    nominas, nomina_devengos "
            "From "
            "    nominas "
            "        inner join "
            "            nomina_devengos "
            "            on nominas.idnomina = nomina_devengos.idnomina "
            "Where "
            "    nominas.idnomina = " + unicode(self.id) + " ")
     select_sql(sql)
Beispiel #18
0
 def siguiente(self):
     dato = self.valor
     sql = ("Select " + self.id + " from " + self.tabla + " where " +
            self.id + " >= %s order by " + self.id + " ASC limit 2")
     if dato == "":
         dato = select_sql((sql, self.valor), 1)[0][0]
     else:
         try:
             dato = select_sql((sql, self.valor), 1)[1][0]
         except:
             pass
     return dato
Beispiel #19
0
 def dato_contratoextincion(self):
     sql = ('Update '
            '    emp_contratos_vacaciones '
            'Set '
            '    dias_disfrutados = %s '
            'Where '
            '    idemp_contrato_vacaciones = ' + unicode(self.id) + ' '
            '    and ejercicio = ' + unicode(self.anio) + ' ')
     if self.dias_disfrutados is not None:
         select_sql((sql, (self.dias_disfrutados + 1)))
     else:
         select_sql((sql, (0)))
Beispiel #20
0
 def anterior(self):
     dato = self.valor
     sql = ("Select " + self.id + " from " + self.tabla + " where " +
            self.id + " <= %s order by " + self.id + " desc limit 2")
     if dato == "":
         dato = select_sql((sql, self.valor), 1)[0][0]
     else:
         try:
             dato = select_sql((sql, self.valor), 1)[1][0]
         except:
             pass
     return dato
Beispiel #21
0
 def actualiza_ppextra(self):
     valor = self.devengo_ppextra()
     sql = ('Update '
            '    nominas '
            'Set '
            '    base_ppextra = ' + unicode(valor) +
            ' '
            'Where '
            '    idnomina = ' + unicode(self.id) +
            ' ')
     select_sql(sql)
     self.base_ppextra = self.dato_nomina('base_ppextra')
Beispiel #22
0
 def dato_contratoextincion(self):
     sql = ('Update '
             '    emp_contratos_vacaciones '
             'Set '
             '    dias_disfrutados = %s '
             'Where '
             '    idemp_contrato_vacaciones = ' + unicode(self.id) + ' '
             '    and ejercicio = ' + unicode(self.anio) + ' ')
     if self.dias_disfrutados is not None:
         select_sql((sql, (self.dias_disfrutados + 1)))
     else:
         select_sql((sql, (0)))
Beispiel #23
0
 def siguiente(self):
     dato = self.valor
     sql = ("Select " + self.id + " from " + self.tabla +
            " where " + self.id +
            " >= %s order by " + self.id + " ASC limit 2")
     if dato == "":
         dato = select_sql((sql, self.valor), 1)[0][0]
     else:
         try:
             dato = select_sql((sql, self.valor), 1)[1][0]
         except:
             pass
     return dato
Beispiel #24
0
 def anterior(self):
     dato = self.valor
     sql = ("Select " + self.id + " from " + self.tabla +
            " where " + self.id +
            " <= %s order by " + self.id + " desc limit 2")
     if dato == "":
         dato = select_sql((sql, self.valor), 1)[0][0]
     else:
         try:
             dato = select_sql((sql, self.valor), 1)[1][0]
         except:
             pass
     return dato
Beispiel #25
0
 def horas_cotizadas(self):
     """
     Devuelve las horas cotizadas en una nomina
     """
     horas = 0
     if self.contrato.contrato.es_tiempo_parcial is True:
         sql = ("Select sum(horas) from emp_tpo_parcial a "
                "left join nominas b "
                "on b.idemp_contratos = a.idemp_contrato "
                "Where month(a.fecha) = %s and year(a.fecha) = %s "
                "and b.idnomina = %s;")
         horas = select_sql(
             (sql, (self.fecha_mes, self.fecha_anio, self.id)))[0]
         if horas is None:
             desdedia = int(
                 self.contrato.periodo_nomina(self.fecha_anio,
                                              self.fecha_mes)[0].day)
             hastadia = int(
                 self.contrato.periodo_nomina(self.fecha_anio,
                                              self.fecha_mes)[1].day)
             cal = self.cta_cot.calendario
             sql = (
                 "select "
                 "lunes * " + str(
                     cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                          desdedia, hastadia, 0)) +
                 " + martes * " + str(
                     cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                          desdedia, hastadia, 1)) +
                 " + miercoles * " + str(
                     cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                          desdedia, hastadia, 2)) +
                 " + jueves * " + str(
                     cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                          desdedia, hastadia, 3)) +
                 " + viernes * " + str(
                     cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                          desdedia, hastadia, 4)) +
                 " + sabado * " + str(
                     cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                          desdedia, hastadia, 5)) +
                 " + domingo * " + str(
                     cal.diasemana_delmes(self.fecha_anio, self.fecha_mes,
                                          desdedia, hastadia, 6)) + " "
                 "from emp_tpo_parcial "
                 "left join nominas "
                 "on emp_tpo_parcial.idemp_contrato = nominas.idemp_contratos "
                 "where nominas.idnomina = %s ")
             horas = select_sql((sql, (self.id)))[0]
     return horas
Beispiel #26
0
    def update_importes(self, nomina):
        """

        4. Proceso de actualizacion de los importes de las nominas
        """
        sql = ("UPDATE "
                    "nomina_devengos A "
                        "inner join "
                            "emp_devengos B "
                            "on A.idemp_devengo = B.idemp_devengo "
                "set "
                    "A.importe = B.importe "
                "where "
                    "A.idnomina =  %s ")
        select_sql((sql, nomina))
Beispiel #27
0
 def ac_aportacion_empresa(self):
     sql = ( "update "
                 "nominas "
             "set "
                 "tipo_cc_empresa = " + str(self.costes.tipo_ccomun_emp) + ", "
                 "tipo_dp_empresa = " + str(self.costes.tipo_desempleo_emp) + ", "
                 "tipo_fp_empresa = " + str(self.costes.tipo_fp_emp) + ", "
                 "tipo_fgs_empresa = " + str(self.costes.tipo_fogasa_emp) + ", "
                 "imp_cc_empresa = " + str(self.costes.cont_comun_empresa) + ", "
                 "imp_dp_empresa = " + str(self.costes.desempleo_empresa) + ", "
                 "imp_fp_empresa = " + str(self.costes.formacion_prof_emp) + ", "
                 "imp_fgs_empresa = " + str(self.costes.fogasa_emp) + " "
             "where "
                 "nominas.idnomina = %s;")
     select_sql((sql, (self.nomina_id)),1)
Beispiel #28
0
 def trabajadores(self,
                  empresa,
                  mes,
                  anio,
                  esnomina=True,
                  esfiniquito=False,
                  esnominapextra=False):
     sql = (
         ""
         "SELECT "
         "    CONCAT_WS(' ',Trabajadores.nombre,Trabajadores.apellido1, "
         "    Trabajadores.apellido2) as nombre, "
         "    Trabajadores.idTrabajadores "
         "FROM "
         "    Nominas.emp_contratos "
         "        left join "
         "            Trabajadores "
         "            On Trabajadores.idTrabajadores = emp_contratos.idtrabajadores "
         "        left join "
         "            empresa "
         "            On empresa.idempresa = emp_contratos.idempresa "
         "        left join "
         "            emp_ctacot "
         "            On emp_ctacot.idctacot = emp_contratos.idemp_ctacot "
         "WHERE "
         "    emp_contratos.idempresa = %s "
         "    and emp_contratos.conversion is Null "
         "    and emp_contratos.prorroga is Null "
         "    and ("
         "        (month(fecha_ini) <= %s and year(fecha_ini)<= %s) "
         "        or (month(fecha_ini)>%s and year(fecha_ini)<%s) "
         "        ) ")
     dato = 0
     if esnomina:
         sql = (
             sql + "    and (fecha_fin is null "
             "        or (month(fecha_fin) >= %s and year(fecha_fin)>= %s) "
             "        or (month(fecha_fin) <= %s and year(fecha_fin)> %s) "
             "        ) ")
         dato = select_sql(
             (sql, (empresa, mes, anio, mes, anio, mes, anio, mes, anio)),
             1)
     if esfiniquito:
         sql = (sql +
                "    and (month(fecha_fin) = %s and year(fecha_fin)= %s) ")
         dato = select_sql(
             (sql, (empresa, mes, anio, mes, anio, mes, anio)), 1)
     return dato
Beispiel #29
0
 def tipos_formacion_prof(self):
     sql = self.sql +  "and A.es_formprof "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0,0)
     return dato
Beispiel #30
0
 def tipos_horasextras_fmayor(self):
     sql = self.sql +  "and A.es_hora_extra_fmayor "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0,0)
     return dato
Beispiel #31
0
 def trabajadordatos(self, num_trabajador):
     sql = ("SELECT idTrabajadores, nombre, apellido1, apellido2, nif, naf, "
            "dir, numero, piso, puerta, cp, esnif, esnie "
            "FROM Trabajadores "
            "WHERE idTrabajadores =%s" )
     dato = select_sql((sql,(num_trabajador)))
     return dato
Beispiel #32
0
    def festivosdelmes(self, calendario, anio, mes, desdedia, hastadia):
        """

        Calcula el numero de dias festivos de un mes teniendo en cuenta las
        fechas introducidas.
        Los parámetros que hay que introducir son de tipo INT

            Dias.festivosdelmes(calendario, anio, mes, desdedia, hastadia)

        Los diasfestivos deben aportarse de un calendario externo.
        """
        sql = ("Select "
               "count(*) "
               "From "
               "cal_festivos "
               "Where "
               "idcalendario = %s "
               "and anio = %s "
               "and mes = %s "
               "and dia >= %s "
               "and dia <= %s "
               "Group by "
               "idcalendario;")
        dato = 0
        try:
            dato = select_sql(
                (sql, (calendario, anio, mes, desdedia, hastadia)))[0]
        except:
            pass
        return dato
Beispiel #33
0
    def iddevengo_nomina(self, iddevengo):
        """

        Devuelve un devengo concreto de una nomina concreta

            SqlNominas().iddevengo_nomina(iddevengo)
        """
        sql = ("select "
               "    concepto, imp_cuantia, imp_precio, "
               "    nominas.nombre, nominas.empresa, month(nominas.fecha), "
               "    year(nominas.fecha) "
               "from "
               "    nomina_devengos "
               "        left join "
               "            nominas "
               "            on nominas.idnomina = nomina_devengos.idnomina "
               "        left join "
               "            emp_contratos "
               "            on nominas.idemp_contratos = emp_contratos.idemp_contratos "
               "        left join "
               "            Trabajadores "
               "            on emp_contratos.idTrabajadores = Trabajadores.idTrabajadores "
               "where "
               "    idnomina_devengo = %s")
        dato = select_sql((sql, (iddevengo)))
        return dato
Beispiel #34
0
    def iddevengo_nomina(self, iddevengo):
        """

        Devuelve un devengo concreto de una nomina concreta

            SqlNominas().iddevengo_nomina(iddevengo)
        """
        sql = (
            "select "
            "    concepto, imp_cuantia, imp_precio, "
            "    nominas.nombre, nominas.empresa, month(nominas.fecha), "
            "    year(nominas.fecha) "
            "from "
            "    nomina_devengos "
            "        left join "
            "            nominas "
            "            on nominas.idnomina = nomina_devengos.idnomina "
            "        left join "
            "            emp_contratos "
            "            on nominas.idemp_contratos = emp_contratos.idemp_contratos "
            "        left join "
            "            Trabajadores "
            "            on emp_contratos.idTrabajadores = Trabajadores.idTrabajadores "
            "where "
            "    idnomina_devengo = %s")
        dato = select_sql((sql, (iddevengo)))
        return dato
Beispiel #35
0
    def festivosdelmes(self, calendario, anio, mes, desdedia, hastadia):
        """

        Calcula el numero de dias festivos de un mes teniendo en cuenta las
        fechas introducidas.
        Los parámetros que hay que introducir son de tipo INT

            Dias.festivosdelmes(calendario, anio, mes, desdedia, hastadia)

        Los diasfestivos deben aportarse de un calendario externo.
        """
        sql = ( "Select "
                    "count(*) "
                "From "
                    "cal_festivos "
                "Where "
                    "idcalendario = %s "
                    "and anio = %s "
                    "and mes = %s "
                    "and dia >= %s "
                    "and dia <= %s "
                "Group by "
                    "idcalendario;")
        dato = 0
        try:
            dato = select_sql((sql, (calendario, anio, mes, desdedia, hastadia)))[0]
        except:
            pass
        return dato
Beispiel #36
0
 def tipos_formacion_prof(self):
     sql = self.sql + "and A.es_formprof "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0, 0)
     return dato
Beispiel #37
0
 def __init__(self, contrato):
     sql = ("Select "
                 "A.idemp_contratos, A.idempresa, A.idemp_ctacot, "
                 "A.idtrabajadores, A.fecha_fin, A.fecha_ini, B.idtb_vacaciones, "
                 "C.cantidad, C.cantidad_min, C.esdias_naturales, "
                 "C.esdias_laborales, C.consab, C.condom, C.confestivos, "
                 "C.esmindias_naturales, C.esmindias_laborales, "
                 "1 + datediff(fecha_fin, "
                             "if(year(fecha_fin) = year(fecha_ini), "
                                "fecha_ini, "
                                "makedate(year(fecha_fin),1))"
                             ") "
            "from emp_contratos A "
                 "inner join emp_vacaciones B "
                     "on A.idempresa = B.idempresa "
                     "and A.idemp_ctacot = B.idemp_ctacot "
                 "inner join tb_vacaciones C "
                     "on B.idtb_vacaciones = C.idtb_vacaciones "
            "where A.idemp_contratos = %s ")
     datos = select_sql((sql, contrato))
     print datos
     self.idcontrato = datos[0]
     self.idempresa = datos[1]
     self.idcuentacot = datos[2]
     self.idtrabajador = datos[3]
     self.fincontrato = datos[4]
     self.inicontrato = datos[5]
     self.idvacaciones = datos[6]
     self.cant_dias = datos[7]
     self.cant_dias_min = datos[8]
     self.dias_trabajados_ultimo_anio= datos[16]
     self.dias_vacaciones = self.dias_vacaciones_anio()
     self.dias_vacaciones_apagar = round(float(self.dias_vacaciones) / 365 * float(self.dias_trabajados_ultimo_anio),2)
Beispiel #38
0
 def tipos_cont_comun(self):
     sql = self.sql + "and A.es_contcomun "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0, 0)
     return dato
Beispiel #39
0
 def ver_devengos(self, trabajador, mes, anio):
     sql = ("select "
            "    nomina_devengos.idnomina_devengo, "
            "    nomina_devengos.concepto, "
            "    nomina_devengos.imp_cuantia, "
            "    nomina_devengos.imp_precio, "
            "    nomina_devengos.imp_devengo, "
            "    nomina_devengos.imp_deduccion "
            "from "
            "    nomina_devengos "
            "        left join "
            "            nominas "
            "            on nominas.idnomina = nomina_devengos.idnomina "
            "        left join "
            "            emp_contratos "
            "            on nominas.idemp_contratos = emp_contratos.idemp_contratos "
            "where "
            "    emp_contratos.idtrabajadores = %s "
            "    and month(nominas.fecha) = %s "
            "    and year(nominas.fecha) = %s "
            "    and esdevengo "
            "order by "
            "    orden")
     dato = select_sql((sql, (trabajador, mes, anio)), 1)
     return dato
Beispiel #40
0
 def valorcelda(self, celda, nomina, c, idform_celda, *campo):
     # # Funcion que nos devuelve el contenido de la celda
     #  de la cabecera y del pie
     # celda es idform_concepto
     try:
         sql = ("select " + unicode(campo[0]) +
                " from nomina_devengos "
                " where idnomina = %s and idform_concepto = %s")
         reg = select_sql((sql, (nomina, celda)))[0]
     except:
         try:
             reg = SqlNominas(nomina).dato_nomina(campo[0])
             if not reg:
                 reg = SqlNominas(nomina).__dict__[campo[0]]
         except:
             pass
     dataform = FormCelda(idform_celda)
     c.setFillGray(0)
     c.setFont("Courier", 9)
     # Comprobamos que los datos de fecha y valor queden como string correcto
     if campo[0] == 'fecha':
         reg = SqlNominas(nomina).fecha_formlargo
     if isinstance(reg, float):
         reg = "{:,.2f}".format(reg)
     if reg is not None:
         dataform.dato_draw(c,reg)
Beispiel #41
0
 def ver_devengos(self, trabajador, mes, anio):
     sql = (
         "select "
         "    nomina_devengos.idnomina_devengo, "
         "    nomina_devengos.concepto, "
         "    nomina_devengos.imp_cuantia, "
         "    nomina_devengos.imp_precio, "
         "    nomina_devengos.imp_devengo, "
         "    nomina_devengos.imp_deduccion "
         "from "
         "    nomina_devengos "
         "        left join "
         "            nominas "
         "            on nominas.idnomina = nomina_devengos.idnomina "
         "        left join "
         "            emp_contratos "
         "            on nominas.idemp_contratos = emp_contratos.idemp_contratos "
         "where "
         "    emp_contratos.idtrabajadores = %s "
         "    and month(nominas.fecha) = %s "
         "    and year(nominas.fecha) = %s "
         "    and esdevengo "
         "order by "
         "    orden")
     dato = select_sql((sql, (trabajador, mes, anio)), 1)
     return dato
Beispiel #42
0
 def tipos_cont_comun(self):
     sql = self.sql + "and A.es_contcomun "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0,0)
     return dato
Beispiel #43
0
 def base_it(self):
     base_it_tot = 0
     try:
         self.it_nomina = It_nomina(self.id)
         self.dias_pendientes = self.it_nomina.it_dias_pendientes
         dias_acumulados = self.it_nomina.it_dias_acumulados
         dias_aplicados = dias_acumulados - self.dias_pendientes
         base_it_dia = self.it_nomina.it.basecot_diaria_it
         if self.it_nomina.it.es_cont_comun:
             sql = ("Select "
                    "desdedia, hastadia, porcentaje "
                    "From "
                    "tb_it "
                    "Where "
                    "es_contcomun "
                    "order by desdedia ")
             dato = select_sql(sql, 1)
             for j in dato:
                 if j[0] >= dias_aplicados and self.dias_pendientes > 0:
                     if (j[1] - j[0] + 1) >= self.dias_pendientes:
                         base_it_tot += base_it_dia * j[
                             2] * self.dias_pendientes
                         dias_aplicados = dias_aplicados + self.dias_pendientes
                         self.dias_pendientes = self.dias_pendientes - self.dias_pendientes
                     else:
                         base_it_tot += base_it_dia * j[2] * (j[1] - j[0] +
                                                              1)
                         dias_aplicados = dias_aplicados + j[1] - j[0] + 1
                         self.dias_pendientes -= dias_aplicados
         if self.it_registro.es_enfermedad_prof:
             pass
     except:
         pass
     return base_it_tot
Beispiel #44
0
 def tipos_desempleo(self):
     sql = self.sql +  "and A.es_desempleo "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0,0)
     return dato
Beispiel #45
0
 def ac_aportacion_empresa(self):
     sql = ("update "
            "nominas "
            "set "
            "tipo_cc_empresa = " + str(self.costes.tipo_ccomun_emp) + ", "
            "tipo_dp_empresa = " + str(self.costes.tipo_desempleo_emp) +
            ", "
            "tipo_fp_empresa = " + str(self.costes.tipo_fp_emp) + ", "
            "tipo_fgs_empresa = " + str(self.costes.tipo_fogasa_emp) + ", "
            "imp_cc_empresa = " + str(self.costes.cont_comun_empresa) + ", "
            "imp_dp_empresa = " + str(self.costes.desempleo_empresa) + ", "
            "imp_fp_empresa = " + str(self.costes.formacion_prof_emp) + ", "
            "imp_fgs_empresa = " + str(self.costes.fogasa_emp) + " "
            "where "
            "nominas.idnomina = %s;")
     select_sql((sql, (self.nomina_id)), 1)
Beispiel #46
0
 def tipos_desempleo(self):
     sql = self.sql + "and A.es_desempleo "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0, 0)
     return dato
Beispiel #47
0
 def tipos_horasextras_fmayor(self):
     sql = self.sql + "and A.es_hora_extra_fmayor "
     try:
         dato = select_sql((sql, (self.bases.nomina.fecha_anio)))
     except:
         dato = (0, 0)
     return dato
Beispiel #48
0
    def idnom_mes(self, empresa, mes, anio, esuna):
        """

        Nos da la id de las nominas de un mes de un anio de una empresa

            SqlNominas().idnom_mes(numero_empresa, mes, anio, es_una_sola_nomina)

        Los valores para esuna son:

            esuna = 0 cuando son mas de una nomina a listar
            esuna = numero_nomina cuando solo es una nomina a listar

        En este ultimo caso hay que apoyarse en

            SqlNominas().nomina_trabajador_mes

        Devuelve el valor de idnomina
        """
        if esuna == 0:
            sql = ("SELECT idnomina "
                   "from nominas "
                   "where idempresa = %s and month(fecha) = %s "
                   "and year(fecha) = %s "
                   "and (es_finiquito is null or es_finiquito = 0);")
            dato = select_sql((sql, (empresa, mes, anio)), 1)
        else:
            dato = ((esuna,),)
        return dato
Beispiel #49
0
    def idnom_mes(self, empresa, mes, anio, esuna):
        """

        Nos da la id de las nominas de un mes de un anio de una empresa

            SqlNominas().idnom_mes(numero_empresa, mes, anio, es_una_sola_nomina)

        Los valores para esuna son:

            esuna = 0 cuando son mas de una nomina a listar
            esuna = numero_nomina cuando solo es una nomina a listar

        En este ultimo caso hay que apoyarse en

            SqlNominas().nomina_trabajador_mes

        Devuelve el valor de idnomina
        """
        if esuna == 0:
            sql = ("SELECT idnomina "
                   "from nominas "
                   "where idempresa = %s and month(fecha) = %s "
                   "and year(fecha) = %s "
                   "and (es_finiquito is null or es_finiquito = 0);")
            dato = select_sql((sql, (empresa, mes, anio)), 1)
        else:
            dato = ((esuna, ), )
        return dato
Beispiel #50
0
    def nomina_trabajador_mes(self,
                              trabajador,
                              mes,
                              anio,
                              esnomina=True,
                              esfiniquito=False,
                              esnominapextra=False):
        """

        Devuelve el numero de nomina del trabajador de un mes y anio dados

            SqlNominas().nomina_trabajador_mes(numero_trabajador, mes, anio)
        """
        sql = (
            "SELECT "
            "    idnomina "
            "FROM "
            "    nominas "
            "        Left Join emp_contratos "
            "        on nominas.idemp_contratos = emp_contratos.idemp_contratos "
            "WHERE "
            "    idtrabajadores = %s "
            "    and month(fecha) = %s "
            "    and year(fecha) = %s ")
        if esnomina:
            sql = (sql + "    and (es_finiquito is null or es_finiquito = 0) ")
        elif esfiniquito:
            sql = (sql + "    and es_finiquito ")
        dato = select_sql((sql, (trabajador, mes, anio)))
        return dato[0]
Beispiel #51
0
 def base_it(self):
     base_it_tot = 0
     try:
         self.it_nomina = It_nomina(self.id)
         self.dias_pendientes = self.it_nomina.it_dias_pendientes
         dias_acumulados = self.it_nomina.it_dias_acumulados
         dias_aplicados = dias_acumulados - self.dias_pendientes
         base_it_dia = self.it_nomina.it.basecot_diaria_it
         if self.it_nomina.it.es_cont_comun:
             sql = ( "Select "
                         "desdedia, hastadia, porcentaje "
                     "From "
                         "tb_it "
                     "Where "
                         "es_contcomun "
                         "order by desdedia ")
             dato = select_sql(sql,1)
             for j in dato:
                 if j[0] >= dias_aplicados and self.dias_pendientes >0:
                     if (j[1]-j[0]+1) >= self.dias_pendientes:
                         base_it_tot += base_it_dia * j[2] * self.dias_pendientes
                         dias_aplicados = dias_aplicados + self.dias_pendientes
                         self.dias_pendientes = self.dias_pendientes - self.dias_pendientes
                     else:
                         base_it_tot += base_it_dia * j[2] * (j[1] - j[0] + 1)
                         dias_aplicados = dias_aplicados + j[1]-j[0]+1
                         self.dias_pendientes -= dias_aplicados
         if self.it_registro.es_enfermedad_prof:
             pass
     except:
         pass
     return base_it_tot
Beispiel #52
0
 def empresadatos(self, num_empresa):
     # Nombre y apellidos, direccion postal, CIF...
     sql = ("SELECT idempresa, nombre, apellido1, apellido2, cif, dir, "
            "numero, piso, puerta, cp, escif, esnif, esnie "
            "FROM empresa "
            "WHERE idempresa=%s" )
     dato = select_sql((sql,(num_empresa)))
     return dato
Beispiel #53
0
 def form_concepto(self):
     sql = ('Select '
            '    idform_concepto '
            'From '
            '    form_nomina_celda '
            'Where '
            '    convert(A.dato, unsigned integer) = ' + unicode(self.formulario_id))
     return select_sql(sql)[0]
Beispiel #54
0
 def num_pextra(self):
     sql = ("Select "
            "   count(*) "
            "From "
            "   tb_convenios_pextra "
            "Where "
            "   idtb_convenio = " + unicode(self.convenio_id))
     return int(select_sql(sql)[0])
Beispiel #55
0
 def num_pextra(self):
     sql = ("Select "
            "   count(*) "
            "From "
            "   tb_convenios_pextra "
            "Where "
            "   idtb_convenio = " + unicode(self.convenio_id))
     return int(select_sql(sql)[0])
Beispiel #56
0
    def grabar(self, widgets = None, campos = None):

        sql = ("insert into " + self.tabla + " set ")
        for k in (range(len(widgets))):
            d = widgets[k].get_text()
            print "d",len(d), campos[k], d
            if len(d) == 10:
                if d[2] == '/' and d[5] == '/':
                    d = d[6:10] + '-' + d[3:5] + '-' + d[0:2]
                    print d
                    widgets[k].set_text(d)
                    print d, widgets[k].get_text()
            sql = sql + campos[k] + " = '" + widgets[k].get_text() + "'"
            if k < max(range(len(widgets))):
                sql += ", "
        select_sql((sql))
        pass