示例#1
0
def totalCobrado():
    system(CLS)
    if (existeArchivo("../txt/FIFO.txt")):
        LeeArchivo("../txt/FIFO.txt")
        input()
    else:
        input("Aun no ha registrado un trabajador")
示例#2
0
def totalDeducciones():
    system(CLS)
    if (existeArchivo("../txt/IVSS.txt")):
        LeeArchivo("../txt/IVSS.txt")
        input()
    else:
        input("Aun no ha registrado un trabajador")
示例#3
0
def mostrarNomina():
    system(CLS)
    if (existeArchivo("../txt/Nomina.txt")):
        LeeArchivo("../txt/Nomina.txt")
        input()
    else:
        input("Aun no ha registrado un trabajador")
    system(CLS)
示例#4
0
def mostrarRecibo():
    system(CLS)
    regs = []
    cant = 0
    validar = Validaciones()
    resp = "N"
    if (existeArchivo("../txt/Registro.txt")):
        while (resp == "N"):
            cedula = input("Introduzca la cedula del trabajador: ")
            system(CLS)
            while (validar.validarCedula(cedula)
                   or not existeTrabajador(cedula)):
                print("No existe el trabajador!!!")
                cedula = input("Introduzca la cedula del trabajador: ")
                system(CLS)
            registro = "../txt/" + cedula + ".txt"
            with open(registro, "r") as nRegistro:
                for linea in nRegistro:
                    if (re.search("%s" % (cedula), linea)):
                        regs.append(linea)
                        cant = cant + 1
            nRegistro.close()
            regs.append("Salir\n")
            system(CLS)
            if (cant == 0):
                print("Este trabajador no tiene recibos: ")
            else:
                system(CLS)
                print("				RECIBOS DEL TRABAJADOR")
                i = 1
                for recibo in regs:
                    print("		", i, ".", recibo, end='')
                    i = i + 1
                op = input("Introduzca una opcion: ")
                while (validar.validarOpcion(op, "menu", cant)):
                    print("Opcion Incorrecta!!!")
                    op = input("Introduzca una opcion: ")
                op = int(op)
                if (op - 1 == cant):
                    return
                for i in range(cant):
                    if (i == op - 1):
                        break
                LeeArchivo("../txt/" + regs[op - 1] + ".txt")
                resp = input("VOLVER(S/N): ")
                resp = validar.Respuestas(resp)
                while (resp != "S" or resp != "N"):
                    print("Error!")
                    resp = input("VOLVER(S/N): ")
                    resp = validar.Respuestas(resp)
            system(CLS)
    else:
        system(CLS)
        input("Aun no ha registrado recibos!!!")
示例#5
0
def crearFifo(cola):
    nArch = "../txt/FIFO.txt"
    FIFO = None
    if (existeArchivo(nArch)):
        FIFO = open(nArch, "a")
    else:
        FIFO = open(nArch, "w")
        FIFO.write("			Total Cobrado\n")
        FIFO.write("Trabajador		" + "Cobrado		" + "MES\n")
    while (cola.get_Primero() != None):
        aux = cola.get_Primero()
        datos = aux.get_Nodo()
        FIFO.write(datos[0] + "		" + str(datos[1]) + "		" + datos[2] + "\n")
        cola.set_Primero(aux.siguiente)
        del aux
    FIFO.close()
示例#6
0
def eliminarRecibo():
    regs = []
    cant = 0
    resp = "N"
    validar = Validaciones()
    reps == "N"
    if (existeArchivo("../txt/Registro.txt")):
        while (resp == "N"):
            cedula = input("Introduzca la cedula del trabajador: ")
            while (validar.validarCedula(cedula)
                   or not existeTrabajador(cedula)):
                print("Error cedula Incorrecta!!!")
                cedula = input("Introduzca la cedula del trabajador: ")
            registro = "../txt/" + cedula + ".txt"
            with open(registro, "r") as nRegistro:
                for linea in nRegistro:
                    regs.append(linea)
                    cant = cant + 1
            nRegistro.close()
            regs.append("Eliminar Todos\n")
            cant = cant + 1
            regs.append("Salir\n")
            system(CLS)
            if (cant == 1):
                input("El trabajador no tiene recibos guardados")
                return
            else:
                print("					RECIBOS DEL TRABAJADOR")
                i = 1
                for recibo in regs:
                    print("		", i, ".-", recibo, end='')
                    i = i + 1
                op = input("Introduzca una opcion: ")
                while (validar.validarOpcion(op, "menu", cant)):
                    print("Opcion Incorrecta!!!")
                    op = input("Introduzca una opcion: ")
                op = int(op)
                if (op - 1 == cant):
                    return
                elif (op - 1 == cant - 1):
                    resp = "Desea realizar esta accion? (S/N): "
                    resp = validar.Respuestas(resp)
                    while (resp != "S" or resp != "N"):
                        print("Error!!")
                        resp = input("Solo (S/N): ")
                        resp = validar.Respuestas(resp)
                    if (resp == "S"):
                        print("Eliminando todos los registros")
                        for recibo in regs:
                            if (recibo != regs[cant - 1]):
                                eliminarArchivo("../txt/" + recibo + ".txt")
                                borraRegistro("../txt/" + cedula + ".txt",
                                              recibo)
                        eliminarArchivo("../txt/" + cedula + "2" + ".txt")
                        system(CLS)
                        input("Registros eliminados")
                        return
                    else:
                        system(CLS)
                        input("Accion cancelada!!")
                        return
                else:
                    for i in range(cant):
                        if (i == op - 1):
                            resp = input("Desea realizar esta accion? (S/N): ")
                            resp = validar.Respuestas(resp)
                            while (resp != "S" or resp != "N"):
                                print("Error!!!")
                                resp = input(
                                    "Desea realizar esta accion? (S/N): ")
                                resp = validar.Respuestas(resp)
                            if (resp == "S"):
                                eliminarArchivo("../txt/" + regs[op - 1] +
                                                ".txt")
                                borraRegistro("../txt/" + regs[op - 1] +
                                              ".txt")
                                if (cant < 4):
                                    eliminarArchivo("../txt/" + cedula + "2" +
                                                    ".txt")
                                input("Registro eliminado!!!")
                                return
                            else:
                                input("Accion cancelada!!!")
                                return
    else:
        system(CLS)
        input("Aun no ha registrado un recibo!!!")
示例#7
0
def crearRecibo():
    anioActual = time.strftime("%Y")
    resp = "N"
    validar = Validaciones()
    cola = Cola()
    trabajador = Trabajador()
    resp = "S"
    system(CLS)
    while (resp == "S"):
        system(CLS)
        cedula = input("Introduzca la cedula del Trabajador: ")
        while (validar.validarCedula(cedula)):
            print("Cedula Incorrecta!!")
            cedula = input("Introduzca la cedula del trabajador: ")
        fecha = input("Introduzca la fecha de pago: ")
        while (validar.fecha(fecha)):
            print("Error!")
            fecha = input("Introduzca la fecha de pago: ")
        nRecibo = "../txt/" + cedula + "-" + fecha.split()[0] + fecha.split(
        )[1] + fecha.split()[2]
        nRegistro = extraeRecibo(
            "../txt/" + cedula + "2",
            cedula + Meses[int(fecha.split()[1]) - 1] + anioActual)
        if (existeArchivo(nRecibo)):
            input("Ya existe un recibo para el numero de cedula!!!")
            crearRecibo()
        elif (nRegistro == cedula + Meses[int(fecha.split()[1]) - 1] +
              anioActual):
            input("Ya el trabajador tiene un recibo en el mes de " +
                  Meses[int(fecha.split()[1]) - 1] + anioActual)
            crearRecibo()
        system(CLS)
        nombre = input("Introduzca su nombre: ")
        while (validar.validarNombreApellido(nombre)):
            print("Error!")
            nombre = input("Introduzca su nombre: ")
        apellido = input("Introduzca su apellido: ")
        while (validar.validarNombreApellido(apellido)):
            print("Error!")
            apellido = input("Introduzca su apellido: ")
        system(CLS)
        nombre = nombre.title()
        apellido = apellido.title()
        print("""	INTRODUZCA SU CARGO
			1.-PERSONAL ADMINISTRATIVO
			2.-PERSONAL DOCENTE
			3.-PERSONAL OBRERO""")
        cargo = input("Introduzca una de las opciones: ")
        while (validar.validarOpcion(cargo, "cargo", None)):
            print("Error!!")
            cargo = input("Introduzca una de la opciones: ")
        print("""	INTRODUZCA SU NIVEL DE INSTRUCCION
			1.-BACHILLER
			2.-TSU
			3.-INGENIERO
			4.-MAGISTER
			5.-DOCTOR
			""")
        nivel = input("Introduzca una de las opciones: ")
        while (validar.validarOpcion(nivel, "nivel", None)):
            print("Error!")
            nivel = input("Introduzca una de las opciones: ")
        resp = input("Posee Hijos? (S/N): ")
        resp = validar.Respuestas(resp)
        while (resp != "S" or resp != "N"):
            resp = input("Solo (S/N): ")
            resp = validar.Respuestas(resp)
        edades = []
        cant = 0
        if (resp == "S"):
            cant = input("Introduzca la cantidad de Hijos: ")
            while (validar.validarNumero(cant)):
                cant = input("Solo numeros: ")
            for i in range(int(cant)):
                edad = input("Introduzca la edad del hijo N° %d: " % (i + 1))
                while (validar.validarEdad(edad)):
                    edad = input("Introduzca solo numeros: ")
                edades.append(edad)

        resp = input("Posee afiliacion a la caja de ahorro? (S/N): ")
        resp = validar.Respuestas(resp)
        while (resp != "S" or resp != "N"):
            resp = input("Solo (S/N): ")
            resp = validar.Respuestas(resp)
        AfCajaH = resp
        anioIngreso = input("Introduzca el año de ingreso a la institucion: ")
        while (validar.validarAnio(anioIngreso)):
            print("Error")
            anioIngreso = input(
                "Introduzca el año de ingreso a la institucion: ")
        sueldoBase = input("Introduzca el sueldo base: ")
        sueldoBase = validar.validarSueldo(sueldoBase)
        if (cargo == "1" and sueldoBase < ADMIN):
            while (validar.validarSueldo(sueldoBase) == 0.00
                   or validar.validarSueldo(sueldoBase) < ADMIN):
                print("Error!")
                sueldoBase = input("Introduzca el sueldoBase: ")
        elif (cargo == "2" and sueldoBase < DOCENTES):
            while (validar.validarSueldo(sueldoBase) == 0.00
                   or validar.validarSueldo(sueldoBase)):
                print("Error!")
                sueldoBase = input("Introduzca el sueldoBase: ")
        elif (cargo == "3" and sueldoBase < OB):
            while (validar.validarSueldo(sueldoBase) == 0.00
                   or validar.validarSueldo(sueldoBase)):
                print("Error!")
                sueldoBase = input("Introduzca el sueldoBase: ")
        sueldoBase = validar.validarSueldo(sueldoBase)
        PrimaAD = 0
        if (cargo == "2"):
            PrimaAD = calculaActiDocen()

        PrimaHij = calculaPrimaHij(edades)
        PrimaProf = calculaPrimaProf(nivel, sueldoBase)
        PrimaA = calculaPrimaAnti(anioIngreso, sueldoBase)
        PrimaH = calculaPrimaHog()
        DescuentoCA = calculaDescuentaA(sueldoBase)
        DescuentoFAOV = calculaFAOV(sueldoBase)
        DescuentoSSO = calculaSSO(sueldoBase)
        DescuentoPIE = calculaPIE(sueldoBase)
        TotalAsignaciones = PrimaAD + PrimaH + PrimaHij + PrimaA + PrimaProf
        ToltaDeducciones = DescuentoCA + DescuentoFAOV + DescuentoSSO + DescuentoPIE
        sueldoNeto = sueldoBase + TotalAsignaciones - ToltaDeducciones
        trabajador.set_Datos(cedula, fecha, nombre, apellido, cargo, nivel,
                             cant, edades, AfCajaH, anioIngreso, sueldoBase,
                             sueldoNeto)
        crearRecibo(trabajador, PrimaProf, PrimaH, PrimaHij, PrimaAD, PrimaA,
                    DescuentoCA, DescuentoSSO, DescuentoFAOV, DescuentoPIE,
                    TotalAsignaciones, ToltaDeducciones)
        encolar(cola, sueldoNeto, Meses[int(fecha.split()[1]) - 1])
        resp = input("Desea crear otro recibo? (S/N): ")
        resp = validar.Respuestas(resp)
        while (resp != "S" or resp != "N"):
            resp = input("Error Solo (S/N): ")
            resp = validar.Respuestas(resp)
    crearFifo(cola)