Пример #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)
Пример #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)
Пример #3
0
 def ac_campo(self, campo, valor):
     sql = ("UPDATE "
            "nominas "
            "SET " + campo + " = " + unicode(valor) + " "
            "WHERE "
            "idnomina = " + unicode(self.nomina_id) + " ")
     select_sql(sql)
Пример #4
0
 def ac_campo(self, campo, valor):
     sql = ("UPDATE "
                 "nominas "
            "SET " +
                 campo + " = " + unicode(valor) + " "
            "WHERE "
                 "idnomina = " + unicode(self.nomina_id) + " ")
     select_sql(sql)
Пример #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)))
Пример #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)
Пример #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)))
Пример #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)
Пример #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)))
Пример #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
Пример #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')
Пример #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)
Пример #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)
Пример #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
Пример #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)
Пример #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
Пример #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)
Пример #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
Пример #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)))
Пример #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
Пример #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')
Пример #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)))
Пример #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
Пример #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
Пример #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
Пример #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))
Пример #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)
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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)
Пример #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
Пример #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
Пример #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)
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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)
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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]
Пример #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
Пример #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
Пример #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]
Пример #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])
Пример #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])
Пример #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