예제 #1
0
def modifyNamePerson():
    university = list()
    university.append("unipa")
    university.append("unito")
    university.append("unimi")
    university.append("unina")
    for uni in university:
        print("MODIFICA {}".format(uni))
        sql = database_connection("bdm_{}".format(uni))
        name_distinct = sql.execute_query(
            "SELECT DISTINCT nome, cognome FROM personale")
        for name in name_distinct:
            name_tuple = sql.execute_query(
                "SELECT * FROM personale WHERE nome = {}".format("'" +
                                                                 name[0] +
                                                                 "'"))
            if len(name_tuple) > 3:
                entry = list(name_tuple[np.random.randint(0, len(name_tuple))])
                print(entry)
                rnd = np.random.randint(0, 2)
                name_entry = list(entry[1])
                if rnd == 0:  #cancellazione
                    name_entry[np.random.randint(0, len(name_entry))] = ''
                    name_entry = "".join(name_entry)
                if rnd == 1:  #modifica
                    name_entry[np.random.randint(
                        0,
                        len(name_entry))] = random.choice(string.ascii_letters)
                    name_entry = "".join(name_entry)
                sql.execute_query(
                    "UPDATE personale SET nome={} WHERE cf={}".format(
                        "'" + name_entry + "'", "'" + entry[0] + "'"))
예제 #2
0
def fill_organizza():
    university = list()
    university.append("unipa")
    university.append("unito")
    university.append("unimi")
    university.append("unina")
    for uni in university:
        #personale_strutturato, evento
        print("INSERIMENTO {}".format(uni))
        sql = database_connection("bdm_{}".format(uni))
        id_personale_strutturato = sql.execute_query(
            "SELECT id_personale_strutturato, ufficio FROM personale_strutturato WHERE 1"
        )
        id_evento = sql.execute_query(
            "SELECT id_evento, argomento FROM evento WHERE 1")
        for evento in id_evento:
            n_rnd = np.random.randint(2, 6)
            for _ in range(1, n_rnd):
                id_personale = np.random.randint(0,
                                                 len(id_personale_strutturato))
                organizza = (id_personale_strutturato[id_personale][0],
                             evento[0])
                query = "INSERT INTO organizza(personale_strutturato, evento) VALUES ("
                for value in organizza:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #3
0
def creazione_progetti_ricerca():
    # nome, descrizione, data_avvio, data_fine, budget, area_ricerca
    university = list()
    university.append("unipa")
    university.append("unito")
    university.append("unimi")
    university.append("unina")
    for uni in university:
        print("INSERIMENTO {}".format(uni))
        sql = database_connection("bdm_{}".format(uni))
        aree_ricerca = list(sql.execute_query("SELECT id_area_ricerca, nome FROM area_ricerca"))
        #print(aree_ricerca)
        progetti_ricerca = list()
        file = open("{}.txt".format(uni), "r")
        text = file.readline()
        while text != "":
            abstract = file.readline()
            index = get_area_ricerca(abstract)
            if abstract == "//\n":
                abstract = ""
            progetti_ricerca.append((text, abstract, data_random(2012, 2015), data_random(2016, 2021), np.random.randint(0, 10000), aree_ricerca[index][0]))
            text = file.readline()
        file.close()
        prova = ""
        for progetti in progetti_ricerca:
            prova = "INSERT INTO progetto_ricerca(nome, descrizione, data_avvio, data_fine, budget, id_area_ricerca) VALUES({},{},{},{},{},{})".format("'"+progetti[0]+"'", "'"+progetti[1]+"'", "'"+progetti[2]+"'", "'"+progetti[3]+"'", progetti[4], progetti[5])
            sql.execute_query(prova)
        print("FINE INSERIMENTO")
예제 #4
0
def creazione_dirige():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        personale_strutturato = list(
            sql.execute_query(
                "SELECT id_personale_strutturato, telefono FROM personale_strutturato"
            ))
        progetto_ricerca = list(
            sql.execute_query(
                "SELECT id_progetto, data_avvio FROM progetto_ricerca"))

        #print(personale_strutturato[1])
        for progetto in progetto_ricerca:
            professori_progetto = list()

            for _ in range(0, random.randint(1, 2)):

                professore_random = personale_strutturato[random.randint(
                    0,
                    len(personale_strutturato) - 1)][0]

                if professore_random not in professori_progetto:
                    professori_progetto.append(professore_random)
            for professore in professori_progetto:
                dirige = (professore, progetto[0], progetto[1])
                query = "INSERT INTO dirige VALUES ("
                for value in dirige:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #5
0
def creazione_mantiene():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        personale_ricerca = list(
            sql.execute_query(
                "SELECT id_personale_ricerca, tipologia_contratto FROM personale_ricerca"
            ))
        attivita_didattica = list(
            sql.execute_query(
                "SELECT id_attivita_didattica, nome FROM attivita_didattica"))
        for attivita in attivita_didattica:
            professori = list()
            for _ in range(0, np.random.randint(1, 4)):
                prof = personale_ricerca[np.random.randint(
                    0, len(personale_ricerca))][0]
                if prof not in professori:
                    professori.append(prof)
            ruolo = ["professore", "professore", "assistente"]
            for prof in professori:
                mantiene = (prof, attivita[0], ruolo[np.random.randint(0, 3)],
                            np.random.randint(2000, 2020))
                query = "INSERT INTO mantiene VALUES ("
                for value in mantiene:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #6
0
def creazione_personale():
    # codice fiscale, nome, cognome, data nascita, residenza, dipartimento
    names = pd.read_csv("../res/datasets/nomi.csv")
    surnames = pd.read_csv("../res/datasets/cognomi.csv")
    hospitals = pd.read_csv("../res/datasets/ospedali.csv")
    cities = pd.read_csv("../res/datasets/comuni.csv", sep=";")
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        dipartimenti = list(sql.execute_query("SELECT id_dipartimento, nome FROM dipartimento"))
        for i in range(0, 500):
            name = names.iloc[np.random.randint(0, 100), 0]
            name = name[0] + str(name[1:]).lower()
            surname = surnames.iloc[np.random.randint(0, 100), 0]
            surname = surname[0] + str(surname[1:]).lower()
            date = data_random(1950, 1992)
            sex = ""
            if name[-1] == "A":
                sex = "F"
            else:
                sex = "M"
            city = hospitals.iloc[np.random.randint(0, len(hospitals)), 1]
            if city.find("/") > 0:
                city = city[:city.find("/")]
            codice_fiscale = codicefiscale.encode(surname=surname, name=name, sex=sex, birthdate=date, birthplace=city)
            city = cities.iloc[np.random.randint(0, len(cities)), 1]
            person = (codice_fiscale, name, surname, date, city, dipartimenti[np.random.randint(0, len(dipartimenti))][0])
            query = "INSERT INTO personale VALUES("
            for value in person:
                query += "'" + str(value) + "',"
            sql.execute_query(query[:-1] + ")")
예제 #7
0
def creazione_finanzia_1():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        personale_strutturato = list(
            sql.execute_query(
                "SELECT id_personale_strutturato, ufficio FROM personale_strutturato"
            ))
        eventi = list(sql.execute_query("SELECT id_evento, data FROM evento"))
        for evento in eventi:
            eventi_personale_strutturato = list()
            for _ in range(0, random.randint(1, 5)):
                personale_strutturato_random = personale_strutturato[
                    random.randint(0,
                                   len(personale_strutturato) - 1)][0]
                if personale_strutturato_random not in eventi_personale_strutturato:
                    eventi_personale_strutturato.append(
                        personale_strutturato_random)
            for personale in eventi_personale_strutturato:
                finanzia_1 = (personale, evento[0],
                              "donazione per organizzazione evento",
                              round(
                                  np.random.randint(0, 1500) +
                                  np.random.uniform(), 2))
                query = "INSERT INTO finanzia_1 VALUES ("
                for value in finanzia_1:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #8
0
def creazione_pubblica():
    #"bdm_unipa", "bdm_unina", "bdm_unito""
    for db in ["bdm_unimi"]:
        sql = database_connection(db)
        personale_ricerca = list(
            sql.execute_query(
                "SELECT id_personale_ricerca, anagrafica_personale FROM personale_ricerca"
            ))
        pubblicazione = list(
            sql.execute_query("SELECT id_pubblicazione FROM pubblicazione"))
        for pubb in pubblicazione:
            personale = list()
            for _ in range(0, np.random.randint(1, 4)):
                persona = personale_ricerca[np.random.randint(
                    0, len(personale_ricerca))]
                if persona not in personale:
                    personale.append(persona)
            for persona in personale:
                dipartimento = str(
                    sql.execute_query(
                        "SELECT dipartimento FROM personale WHERE cf =\'" +
                        str(persona[1]) + "\'"))
                dipartimento = dipartimento[2:dipartimento.find(",")]
                pubblica = (pubb[0], persona[0])
                query = "INSERT INTO pubblica VALUES ("
                for value in pubblica:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
                contiene = (int(dipartimento), pubb[0])
                query = "INSERT INTO contiene_1 VALUES ("
                for value in contiene:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #9
0
def create_partecipa_2():
    university = list()
    university.append("unipa")
    university.append("unito")
    university.append("unimi")
    university.append("unina")
    for uni in university:
        sql = database_connection("bdm_{}".format(uni))
        print("Università: {}".format(uni))
        id_progetto = list(
            sql.execute_query(
                "SELECT id_progetto FROM progetto_ricerca WHERE 1"))
        personale_ricerca = list(
            sql.execute_query(
                "SELECT id_personale_ricerca, tipologia_contratto FROM personale_ricerca WHERE 1"
            ))
        ruolo = ["tecnico progetto", "assistente", "dirigente", "partecipante"]
        for id in id_progetto:
            id = str(id)[1:].replace(",", "")
            id = id.replace(")", "").strip()
            professori = list()
            rnd = np.random.randint(1, 5)
            while len(professori) < rnd:
                prof = personale_ricerca[np.random.randint(
                    0, len(personale_ricerca))][0]
                if prof not in professori:
                    professori.append(prof)
            for id_personale in professori:
                sql.execute_query(
                    "INSERT INTO partecipa_2(personale_ricerca, progetto_ricerca, ruolo) VALUES({},{},{})"
                    .format(
                        id_personale, id,
                        "'" + ruolo[np.random.randint(0, len(ruolo))] + "'"))
        print("FINE CARICAMENTO")
예제 #10
0
def update_hindex():
    sql = database_connection("bdm_uni_riconciliato")
    personale_ricerca = sql.execute_query("SELECT id_personale_ricerca FROM personale_ricerca")
    """pubblicazioni = sql.execute_query("SELECT id_pubblicazione, indice_qualita FROM pubblicazioni")
    pubblica = sql.execute_query("SELECT * FROM pubblica")"""
    for persone in personale_ricerca:
        mean = 0
        pubblicazioni = sql.execute_query("SELECT pubblicazione.indice_qualita FROM pubblicazione JOIN pubblica ON pubblicazione.id_pubblicazione = pubblica.pubblicazione WHERE pubblica.personale_ricerca = "+str(persone[0]))
        for pubblicazione in pubblicazioni:
            mean += pubblicazione[0]
        query = "UPDATE personale_ricerca SET indice_qualita = {} WHERE id_personale_ricerca = {}".format(math.floor((mean/len(pubblicazioni))), persone[0])
        sql.execute_query(query)
예제 #11
0
def creazione_finanzia2():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        voce_spesa = list(sql.execute_query("SELECT id_voce_spesa, nome FROM voce_spesa WHERE nome = \'evento\'"))
        eventi = list(sql.execute_query("SELECT id_evento, data FROM evento"))
        for voce in voce_spesa:
            evento = eventi[np.random.randint(0, len(eventi))]
            finanzia = (voce[0], evento[0])
            query = "INSERT INTO finanzia_2 VALUES ("
            for value in finanzia:
                query += "'" + str(value) + "',"
            sql.execute_query(query[:-1] + ")")
예제 #12
0
def creazioni_aree_ricerca():
    # nome, descrizione
    area_ricerca = list()
    area_ricerca.append(("Biologia", ""))
    area_ricerca.append(("Bioinformatica", ""))
    area_ricerca.append(("Medicina", ""))
    area_ricerca.append(("Matematica", ""))
    area_ricerca.append(("Fisica", ""))
    area_ricerca.append(("Farmacia", ""))
    area_ricerca.append(("Ingegneria", ""))
    area_ricerca.append(("Architettura", ""))
    area_ricerca.append(("Economia", ""))
    area_ricerca.append(("Psicologia", ""))
    area_ricerca.append(("Scienze del mare", ""))
    area_ricerca.append(("Turismo", ""))
    area_ricerca.append(("Informatica", ""))
    sql = database_connection("bdm_unipa")
    for area in area_ricerca:
        query = "INSERT INTO area_ricerca(nome, descrizione) VALUES ("
        for value in area:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
    sql = database_connection("bdm_unimi")
    for area in area_ricerca:
        query = "INSERT INTO area_ricerca(nome, descrizione) VALUES ("
        for value in area:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
    sql = database_connection("bdm_unina")
    for area in area_ricerca:
        query = "INSERT INTO area_ricerca(nome, descrizione) VALUES ("
        for value in area:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
    sql = database_connection("bdm_unito")
    for area in area_ricerca:
        query = "INSERT INTO area_ricerca(nome, descrizione) VALUES ("
        for value in area:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
예제 #13
0
파일: fill_fondo.py 프로젝트: dariocurr/bdm
def creazione_fondo():
    # nome, budget, data, ente, dipartimento
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        dipartimenti = list(sql.execute_query("SELECT id_dipartimento, nome FROM dipartimento"))
        enti = list(sql.execute_query("SELECT id_ente, nome FROM ente"))
        for ente in enti:
            num = np.random.randint(1, len(dipartimenti))
            fondi = list()
            while num > 0:
                fondi.append(("universale", round(np.random.randint(10000, 1000000) + np.random.uniform(), 2),
                            data_random(2000, 2019), ente[0], dipartimenti[np.random.randint(0, len(dipartimenti))][0]))
                num -= 1
            for fondo in fondi:
                query = "INSERT INTO fondo(nome, budget, data, ente, dipartimento) VALUES ("
                for value in fondo:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #14
0
def creazione_finanzia3():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        voce_spesa = list(
            sql.execute_query(
                "SELECT id_voce_spesa, nome FROM voce_spesa WHERE nome = \'progetto ricerca\'"
            ))
        progetti_ricerca = list(
            sql.execute_query(
                "SELECT id_progetto, nome FROM progetto_ricerca"))
        for voce in voce_spesa:
            progetto = progetti_ricerca[np.random.randint(
                0, len(progetti_ricerca))]
            finanzia = (voce[0], progetto[0])
            query = "INSERT INTO finanzia_3 VALUES ("
            for value in finanzia:
                query += "'" + str(value) + "',"
            sql.execute_query(query[:-1] + ")")
예제 #15
0
def insert_NULL():
    for db in ["bdm_uni_riconciliato"]:
        sql = database_connection(db)
        agenzia_esterna = sql.execute_query(
            "SELECT id_agenzia, nome, descrizione, tipologia, indirizzo FROM agenzia_esterna"
        )
        personale_non_strutturato = sql.execute_query(
            "SELECT id_personale_non_strutturato, laboratorio_riferimento, telefono FROM personale_non_strutturato"
        )
        for i in range(0, math.ceil((len(agenzia_esterna)) * 5 / 100)):
            a = random.randint(0, 2)
            query = ""
            if a == 0:
                query = "UPDATE agenzia_esterna SET indirizzo = NULL WHERE id_agenzia = {}".format(
                    agenzia_esterna[random.randint(0,
                                                   len(agenzia_esterna) -
                                                   1)][0])
            elif a == 1:
                query = "UPDATE agenzia_esterna SET descrizione = NULL WHERE id_agenzia = {}".format(
                    agenzia_esterna[random.randint(0,
                                                   len(agenzia_esterna) -
                                                   1)][0])
            elif a == 2:
                query = "UPDATE agenzia_esterna SET tipologia = NULL WHERE id_agenzia = {}".format(
                    agenzia_esterna[random.randint(0,
                                                   len(agenzia_esterna) -
                                                   1)][0])
            sql.execute_query(query)

        for i in range(0, math.ceil(
            (len(personale_non_strutturato)) * 5 / 100)):
            a = random.randint(0, 1)
            query = ""
            if a == 0:
                query = "UPDATE personale_non_strutturato SET laboratorio_riferimento = NULL WHERE id_personale_non_strutturato = {}".format(
                    personale_non_strutturato[random.randint(
                        0,
                        len(personale_non_strutturato) - 1)][0])
            elif a == 1:
                query = "UPDATE personale_non_strutturato SET telefono = NULL WHERE id_personale_non_strutturato = {}".format(
                    personale_non_strutturato[random.randint(
                        0,
                        len(personale_non_strutturato) - 1)][0])
예제 #16
0
def creazione_voce_fondo():
    # nome, descrizione, importo, fondo
    voci = ["attrezzatura", "personale", "eventi", "progetti e ricerca", "manutenzione"]
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        fondi = list(sql.execute_query("SELECT id_fondo, budget FROM fondo"))
        for fondo in fondi:
            sum = round(float(fondo[1]), 2)
            voce_fondo = list()
            shuffle(voci)
            for voce in voci[:-1]:
                importo = round(np.random.uniform(0, sum), 2)
                sum = round(sum - importo, 2)
                voce_fondo.append((voce, "Gettito relativo a " + voce, importo, fondo[0]))
            if sum > 0:
                voce_fondo.append((voci[-1], "Gettito relativo a " + voci[-1], sum, fondo[0]))
            for voce in voce_fondo:
                query = "INSERT INTO voce_fondo(nome, descrizione, importo, fondo) VALUES ("
                for value in voce:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #17
0
def fill_collabora_1():
    university = list()
    university.append("unipa")
    university.append("unito")
    university.append("unimi")
    university.append("unina")
    for uni in university:
        #personale, evento, ruolo
        print("INSERIMENTO {}".format(uni))
        sql = database_connection("bdm_{}".format(uni))
        id_personale = sql.execute_query("SELECT id_personale_ricerca, tipologia_contratto FROM personale_ricerca WHERE 1")
        id_evento = sql.execute_query("SELECT id_evento, argomento FROM evento WHERE 1")
        for evento in id_evento:
            n_rnd = np.random.randint(2, 6)
            for _ in range(1, n_rnd):
                id_personale_rnd = np.random.randint(0, len(id_personale))
                collabora1 = (id_personale[id_personale_rnd][0], evento[0])
                query = "INSERT INTO collabora_1(personale, evento) VALUES ("
                for value in collabora1:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #18
0
def creazione_collabora2():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        eventi = list(sql.execute_query("SELECT id_evento, data FROM evento"))
        agenzie_esterne = list(
            sql.execute_query(
                "SELECT id_agenzia, descrizione FROM agenzia_esterna"))
        for evento in eventi:
            eventi_agenzie = list()
            for _ in range(0, random.randint(1, 4)):
                agenzia_random = agenzie_esterne[random.randint(
                    0,
                    len(agenzie_esterne) - 1)][0]
                if agenzia_random not in eventi_agenzie:
                    eventi_agenzie.append(agenzia_random)
            for agenzia in eventi_agenzie:
                collabora2 = (evento[0], agenzia, evento[1],
                              "finanziamento per organizzazione evento")
                query = "INSERT INTO collabora_2 VALUES ("
                for value in collabora2:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #19
0
def creazione_contiene3():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        dipartimenti = list(
            sql.execute_query(
                "SELECT id_dipartimento, nome FROM dipartimento"))
        progetti_ricerca = list(
            sql.execute_query(
                "SELECT id_progetto, nome FROM progetto_ricerca"))
        for progetto in progetti_ricerca:
            dipartimenti_aggiunti = list()
            for _ in range(0, np.random.randint(1, 5)):
                dipartimento = dipartimenti[np.random.randint(
                    0, len(dipartimenti))][0]
                if dipartimenti not in dipartimenti_aggiunti:
                    dipartimenti_aggiunti.append(dipartimento)
            for dipartimento in dipartimenti_aggiunti:
                contiene = (dipartimento, progetto[0])
                query = "INSERT INTO contiene_3 VALUES ("
                for value in contiene:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
예제 #20
0
def creazione_promozioni():
    tipologia_contratto_strutturato = list()
    tipologia_contratto_strutturato.append(("Ricercatore a tempo determinato", 1478.11))
    tipologia_contratto_strutturato.append(("Ricercatore a tempo indeterminato", 1802.89))
    tipologia_contratto_strutturato.append(("Professore associato", 2123.19))
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        promozioni = list()
        sql = database_connection(db)
        personale = list(sql.execute_query("SELECT id_personale_ricerca, tipologia_contratto FROM personale_ricerca"))
        for persona in personale:
            if persona[1] == "Professore ordinario":
                anno_fine = np.random.randint(1980, 1990)
                for i in range(0, 3):
                    anno_inizio = anno_fine
                    anno_fine = anno_inizio + np.random.randint(0, 11)
                    stipendio = round(tipologia_contratto_strutturato[i][1] + np.random.randint(1, 100) + np.random.uniform(), 2)
                    promozioni.append((anno_inizio, anno_fine, stipendio, tipologia_contratto_strutturato[i][0], persona[0]))
                    anno_inizio = anno_fine
            elif persona[1] == "Professore associato":
                anno_fine = np.random.randint(1980, 2000)
                for i in range(0, 2):
                    anno_inizio = anno_fine
                    anno_fine = anno_inizio + np.random.randint(0, 11)
                    stipendio = round(tipologia_contratto_strutturato[i][1] + np.random.randint(1, 100) + np.random.uniform(), 2)
                    promozioni.append((anno_inizio, anno_fine, stipendio, tipologia_contratto_strutturato[i][0], persona[0]))
                    anno_inizio = anno_fine
            elif persona[1] == "Ricercatore a tempo indeterminato":
                anno_fine = np.random.randint(1980, 2010)
                for i in range(0, 1):
                    anno_inizio = anno_fine
                    anno_fine = anno_inizio + np.random.randint(0, 11)
                    stipendio = round(tipologia_contratto_strutturato[i][1] + np.random.randint(1, 100) + np.random.uniform(), 2)
                    promozioni.append((anno_inizio, anno_fine, stipendio, tipologia_contratto_strutturato[i][0], persona[0]))
                    anno_inizio = anno_fine
        for promozione in promozioni:
            query = "INSERT INTO promozione(data_inizio, data_fine, stipendio, tipologia_contratto, personale_ricerca) VALUES("
            for value in promozione:
                query += "'" + str(value) + "',"
            sql.execute_query(query[:-1] + ")")
예제 #21
0
    def find_high_scores_by_level(self, level, quantity):
        cursor = self._connection
        scores = cursor.execute(
            """
            SELECT *
                FROM Scores 
                WHERE level=? 
                GROUP BY id 
                ORDER BY time
                LIMIT ?
        """, [level, quantity]).fetchall()

        return list(map(give_score_object, scores))

    def check_ranking_of_a_score(self, time, level):
        cursor = self._connection
        ranking = cursor.execute(
            """
            SELECT COUNT(id)
                FROM Scores
                WHERE level=?
                AND time <= ?
        """, [level, time]).fetchone()

        return ranking


connection = database_connection()
score_repository = ScoreRepository(connection)
예제 #22
0
def creazione_dipartimenti():
    #GENERAZIONE DIPARTIMENTI
    #ID_Dipartimento, Nome, indirizzo
    dipartimenti_unito = list()
    dipartimenti_unito.append(("Dipartimento di Biotecnologie Molecolari e Scienze per la Salute","Via Nizza, 52, 10126, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Chimica", "Via Pietro Giuria, 7, 10125, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Culture, Politica e Societa","Lungo Dora Siena, 100 A, 10153, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Economia e Statistica Cognetti de Martiis","Lungo Dora Siena, 100 A, 10153, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Filosofia e Scienze dell’Educazione","Via S. Ottavio, 20, 10124, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Fisica","Via P. Giuria, 1, 10125, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Giurisprudenza","Lungo Dora Siena, 100 A, 10153, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Informatica","Corso Svizzera, 185, 10149, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Lingue e Letterature straniere e Culture moderne","Complesso Aldo Moro - via Verdi, fronte civico 41 - Torino"))
    dipartimenti_unito.append(("Dipartimento di Management","Corso Unione Sovietica, 218 Bis, 10134, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Matematica \"Giuseppe Peano\"","Via Carlo Alberto, 10, 10123, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Neuroscienze \"Rita Levi Montalcini\"","Via Cherasco, 15, 10126, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Oncologia","Regione Gonzole, 10, 10043, Orbassano, TO"))
    dipartimenti_unito.append(("Dipartimento di Psicologia","Via Verdi, 10, 10124, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienza e Tecnologia del Farmaco","Via P. Giuria, 9, 10125, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze Agrarie, Forestali e Alimentari","Largo Paolo Braccini, 2, 10095, Grugliasco, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze Chirurgiche","Corso Dogliotti, 14, 10126, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze Cliniche e Biologiche","Regione Gonzole, 10, 10043, Orbassano, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze della Sanità Pubblica e Pediatriche","Piazza Polonia, 94, 10126, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze della Terra","Via Valperga Caluso, 35, 10125, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze della Vita e Biologia dei Sistemi","Via Accademia Albertina, 13, 10123, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze economico-sociali e matematico-statistiche","Corso Unione Sovietica, 218 Bis, 10134, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze Mediche","Corso Dogliotti, 14, 10126, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Scienze Veterinarie","Largo Paolo Braccini, 2, 10095, Grugliasco, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Studi Storici","Via S. Ottavio, 20, 10124, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento di Studi Umanistici","Via S. Ottavio, 20, 10124, Torino, TO"))
    dipartimenti_unito.append(("Dipartimento Interateneo di Scienze, Progetto e Politiche del Territorio","Viale Mattioli, 39, 10125, Torino, TO"))
    #UNIPA
    dipartimenti_unipa = list()
    dipartimenti_unipa.append(("Architettura","Viale delle Scienze, Ed. 14"))
    dipartimenti_unipa.append(("Biomedicina, Neuroscienze e Diagnostica avanzata","Via del Vespro, 129"))
    dipartimenti_unipa.append(("Culture e Società","Viale delle Scienze, Ed. 15"))
    dipartimenti_unipa.append(("Discipline Chirurgiche, Oncologiche e Stomatologiche","Via Liborio Giuffrè, 5"))
    dipartimenti_unipa.append(("Fisica e Chimica - Emilio Segrè","Viale delle Scienze, Ed. 17"))
    dipartimenti_unipa.append(("Giurisprudenza","Via Maqueda, 172"))
    dipartimenti_unipa.append(("Ingegneria","Viale delle Scienze, Ed. 8"))
    dipartimenti_unipa.append(("Matematica e Informatica","Via Archirafi, 34"))
    dipartimenti_unipa.append(("Promozione della Salute, Materno-Infantile, di Medicina Interna e Specialistica di Eccellenza \“G. D’Alessandro\”","Piazza delle Cliniche, 2"))
    dipartimenti_unipa.append(("Scienze Agrarie, Alimentari e Forestali","Viale delle Scienze, Ed. 4"))
    dipartimenti_unipa.append(("Scienze della Terra e del Mare","Via Archirafi, 22"))
    dipartimenti_unipa.append(("Scienze e Tecnologie Biologiche Chimiche e Farmaceutiche","Viale delle Scienze, Ed. 16"))
    dipartimenti_unipa.append(("Scienze Economiche, Aziendali e Statistiche","Viale delle Scienze, Ed. 13"))
    dipartimenti_unipa.append(("Scienze Politiche e delle relazioni internazionali","Via Maqueda, 324"))
    dipartimenti_unipa.append(("Scienze Psicologiche, Pedagogiche, dell’Esercizio Fisico e della Formazione","Viale delle Scienze, Ed. 15"))
    dipartimenti_unipa.append(("Scienze Umanistiche","Viale delle Scienze, Ed. 12"))

    #milano
    dipartimenti_unimi = list()
    dipartimenti_unimi.append(("Dipartimento di Beni Culturali e Ambientali","Via Festa del Perdono 720122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Bioscienze","Via Celoria 26 20133 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Biotecnologie Mediche e Medicina Traslazionale","Via Vanvitelli 32 20133 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Chimica","Via Golgi 19 20133 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Diritto Privato e Storia del Diritto","Via Festa del Perdono 7 20122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Diritto Pubblico Italiano e Sovranazionale","Via Festa del Perdono 7 20122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Economia, Management e Metodi Quantitativi","Via Conservatorio 7 20122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Filosofia Piero Martinetti","Via Festa del Perdono 7 20122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Fisiopatologia Medico-Chirurgica e dei Trapianti","Via Francesco Sforza 35 20122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Fisica Aldo Pontremoli","Via Celoria 16 20133 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Informatica Giovanni degli Antoni","Via Celoria 18 20135 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Lingue e Letterature Straniere","Piazza Sant Alessandro 1 20122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Matematica Federigo Enriques","Via Saldini 50 20129 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Medicina Veterinaria","Lodi - Via dell Università 6 26900 Lodi"))
    dipartimenti_unimi.append(("Dipartimento di Scienze Agrarie e Ambientali - Produzione, Territorio, Agroenergia","Via Celoria 2 20133 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Oncologia ed Emato-Oncologia","Via Festa del Perdono 7 20122 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Scienze Biomediche e Cliniche L. Sacco","Via Giovanni Battista Grassi 74 20157 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Scienze Biomediche per la Salute","Via Mangiagalli 31 20133 Milano"))
    dipartimenti_unimi.append(("Dipartimento di Scienze Biomediche, Chirurgiche ed Odontoiatriche","Via della Commenda 10 20122 Milano"))
    #napoli
    dipartimenti_unina = list()
    dipartimenti_unina.append(("Dipartimento di Agraria","Via Università 100 - 80055 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Architettura","Via Monteoliveto 3 - 80134 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Biologia","Via Cupa Nuova Cintia 21 - 80126 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Economia, Management, Istituzioni","Via Cupa Nuova Cintia 21 - 80126 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Farmacia","Via Domenico Montesano 49 - 80131 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Fisica \"Ettore Pancini\"","Cupa Nuova Cintia, 21 - 80126 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Giurisprudenza","Via Nuova Marina, 33 - 80133 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Ingegneria Chimica, dei Materiali e della Produzione Industriale","Piazzale Tecchio, 80 - 80125 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Ingegneria Civile, Edile e Ambientale","Via Claudio, 21 - 80125 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione","Via Claudio, 21 - 80125 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Ingegneria Industriale","Piazzale Tecchio, 80 - 80125 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Matematica e Applicazioni \"Renato Caccioppoli\"","Cupa Nuova Cintia, 21 - 80126 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Medicina Clinica e Chirurgia","Via Pansini, 5 - 80131 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Medicina Molecolare e Biotecnologie Mediche","Via Pansini, 5 - 80131 - Napoli "))
    dipartimenti_unina.append(("Dipartimento di Medicina Veterinaria e Produzioni Animali","Via Federico Delpino, 1 - 80137 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Neuroscienze e Scienze Riproduttive ed Odontostomatologiche","Via Pansini, 5 - 80131 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Sanità Pubblica","Via Pansini, 5 - 80131 - Napoli "))
    dipartimenti_unina.append(("Dipartimento di Scienze Biomediche Avanzate","Via Pansini, 5 - 80131 - Napoli "))
    dipartimenti_unina.append(("Dipartimento di Scienze Chimiche","Cupa Nuova Cintia, 21 - 80126 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Scienze della Terra, dell Ambiente e delle Risorse","Cupa Nuova Cintia, 21 - 80126 - Napoli - Edificio L "))
    dipartimenti_unina.append(("Dipartimento di Scienze Economiche e Statistiche","Cupa Nuova Cintia, 21 - 80126 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Scienze Mediche Traslazionali","Via Pansini, 5 - 80131 - Napoli "))
    dipartimenti_unina.append(("Dipartimento di Scienze Politiche","Via Leopoldo Rodinò, 22 - 80138 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Scienze Sociali","Vico Monte di Pietà, 1 - 80138 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Strutture per l Ingegneria e l Architettura","Piazzale Vincenzo Tecchio, 80 - 80125 - Napoli"))
    dipartimenti_unina.append(("Dipartimento di Studi Umanistici","Via Porta di Massa, 1 - 80133 - Napoli"))
    sql = database_connection("bdm_unipa")
    for dipartimento in dipartimenti_unipa:
        query = "INSERT INTO dipartimento(nome, indirizzo) VALUES("
        for value in dipartimento:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
        print(query[:-1] + ")")
    sql = database_connection("bdm_unimi")
    for dipartimento in dipartimenti_unimi:
        query = "INSERT INTO dipartimento(nome, indirizzo) VALUES("
        for value in dipartimento:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
        print(query[:-1] + ")")
    sql = database_connection("bdm_unina")
    for dipartimento in dipartimenti_unina:
        query = "INSERT INTO dipartimento(nome, indirizzo) VALUES("
        for value in dipartimento:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
        print(query[:-1] + ")")
    sql = database_connection("bdm_unito")
    for dipartimento in dipartimenti_unito:
        query = "INSERT INTO dipartimento(nome, indirizzo) VALUES("
        for value in dipartimento:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
        print(query[:-1] + ")")
예제 #23
0
from database_connection import database_connection

id_uni = 1
offset = 0
for db in ["bdm_unipa", "bdm_unimi", "bdm_unito", "bdm_unina"]:
    sql = database_connection(db)
    tables = list(sql.execute_query("SHOW TABLES"))
    sql.close_connection()
    for table in tables:
        if table[0] == "evento":
            sql = database_connection(db)
            sql_uni = database_connection("bdm_uni_riconciliato")
            keys = list(sql.execute_query("DESCRIBE " + str(table[0])))
            rows = list(sql.execute_query("SELECT * FROM " + str(table[0])))
            for row in rows:
                row = list(row)
                index = 0
                for value in row:
                    if (keys[index][3] == "MUL" or keys[index][3] == "PRI"):
                        if keys[index][0] != "cf" and keys[index][
                                0] != "anagrafica_personale":
                            row[index] += offset
                    index += 1
                if table[0] == "dipartimento":
                    row = row + [id_uni]
                query = "INSERT INTO " + table[0] + " VALUES ("
                for value in row:
                    if isinstance(value, str):
                        value = value.lower()
                    query += "'" + str(value) + "',"
                sql_uni.execute_query(query[:-1] + ")")
예제 #24
0
from database_connection import database_connection
import datetime
import random

sql = database_connection("bdm_unimi")  #bdm_unipa, bdm_unimi, bdm_unina
pubblicazioni = dict()


def data_random(anno_min, anno_max):
    start_date = datetime.date(anno_min, 1, 1)
    end_date = datetime.date(anno_max, 12, 31)
    time_between_dates = end_date - start_date
    days_between_dates = time_between_dates.days
    random_number_of_days = random.randrange(days_between_dates)
    return str(start_date +
               datetime.timedelta(days=random_number_of_days)).replace(
                   "-", "/")


def get_random_area_ricerca():
    result = sql.execute_query("select * from area_ricerca")
    index = random.randrange(len(result))
    return result[index]


def crea_riviste():
    global pubblicazioni
    result = sql.execute_query("select * from area_ricerca")

    for row in result:
        pubblicazioni[row[1]] = list()
예제 #25
0
def creazione_voce_spesa():
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        voce_fondo = list(
            sql.execute_query(
                "SELECT id_voce_fondo, nome, importo, fondo FROM voce_fondo"))
        progetti_ricerca = list()
        manutenzione = list()
        attrezzatura = list()
        eventi = list()
        personale = list()
        for voce in voce_fondo:
            if voce[1] == "manutenzione":
                manutenzione.append(voce)
            elif voce[1] == "attrezzatura":
                attrezzatura.append(voce)
            elif voce[1] == "eventi":
                eventi.append(voce)
            elif voce[1] == "progetti e ricerca":
                progetti_ricerca.append(voce)
            elif voce[1] == "personale":
                personale.append(voce)
        voci_spesa = list()
        for voce in manutenzione:
            data = sql.execute_query(
                "SELECT id_fondo, data FROM fondo WHERE id_fondo = " +
                str(voce[3]))[0][1]
            fondi = float(voce[2])
            while fondi > 1000:
                spesa = round(
                    np.random.randint(0, fondi) + np.random.uniform(), 2)
                voce_spesa = (voce[1], "Spesa relativa a " + voce[1], spesa,
                              voce[0],
                              data_random(int(str(data)[0:4]) + 1, 2020))
                voci_spesa.append(voce_spesa)
                fondi -= spesa
        for voce in attrezzatura:
            data = sql.execute_query(
                "SELECT id_fondo, data FROM fondo WHERE id_fondo = " +
                str(voce[3]))[0][1]
            fondi = float(voce[2])
            while fondi > 1000:
                spesa = round(
                    np.random.randint(0, fondi) + np.random.uniform(), 2)
                voce_spesa = (voce[1], "Spesa relativa a " + voce[1], spesa,
                              voce[0],
                              data_random(int(str(data)[0:4]) + 1, 2020))
                voci_spesa.append(voce_spesa)
                fondi -= spesa
        for voce in eventi:
            data = sql.execute_query(
                "SELECT id_fondo, data FROM fondo WHERE id_fondo = " +
                str(voce[3]))[0][1]
            fondi = float(voce[2])
            while fondi > 1000:
                spesa = round(
                    np.random.randint(0, 100000) + np.random.uniform(), 2)
                voce_spesa = ("evento", "Spesa relativa a evento", spesa,
                              voce[0],
                              data_random(int(str(data)[0:4]) + 1, 2020))
                voci_spesa.append(voce_spesa)
                fondi -= spesa
        for voce in progetti_ricerca:
            data = sql.execute_query(
                "SELECT id_fondo, data FROM fondo WHERE id_fondo = " +
                str(voce[3]))[0][1]
            fondi = float(voce[2])
            while fondi > 1000:
                spesa = round(
                    np.random.randint(0, 100000) + np.random.uniform(), 2)
                voce_spesa = ("progetto ricerca",
                              "Spesa relativa a progetto ricerca", spesa,
                              voce[0],
                              data_random(int(str(data)[0:4]) + 1, 2020))
                voci_spesa.append(voce_spesa)
                fondi -= spesa
        retribuisce = list()
        personale_non_strutturato = list(
            sql.execute_query(
                "SELECT id_personale_non_strutturato, stipendio FROM personale_non_strutturato, personale_ricerca WHERE personale_non_strutturato.personale_ricerca = personale_ricerca.id_personale_ricerca"
            ))
        for voce in personale:
            data = sql.execute_query(
                "SELECT id_fondo, data FROM fondo WHERE id_fondo = " +
                str(voce[3]))[0][1]
            fondi = float(voce[2])
            while fondi > 1000:
                for personale in personale_non_strutturato:
                    if fondi > 1000:
                        stipendio = float(personale[1])
                        voce_spesa = ("personale",
                                      "Spesa relativa a personale", stipendio,
                                      voce[0],
                                      data_random(
                                          int(str(data)[0:4]) + 1, 2020))
                        retribuisce.append((voce_spesa, personale[0]))
                        fondi -= stipendio
        for voce in voci_spesa:
            query = "INSERT INTO voce_spesa(nome, descrizione, importo, copertura, data) VALUES ("
            for value in voce:
                query += "'" + str(value) + "',"
            sql.execute_query(query[:-1] + ")")
        for voce in retribuisce:
            query = "INSERT INTO voce_spesa(nome, descrizione, importo, copertura, data) VALUES ("
            for value in voce[0]:
                query += "'" + str(value) + "',"
            sql.execute_query(query[:-1] + ")")
            query = "SELECT id_voce_spesa, importo FROM voce_spesa WHERE importo = " + str(
                voce[0][2]) + " AND data = \'" + str(voce[0][4]) + "\'"
            voce_spesa = sql.execute_query(query)
            t = (voce_spesa[0][0], voce[1])
            query = "INSERT INTO retribuisce VALUES ("
            for value in t:
                query += "'" + str(value) + "',"
            sql.execute_query(query[:-1] + ")")
예제 #26
0
def creazione_personale_specifico():
    # ta: livello, stipendio, qualifica, telefono, anagrafica_personale
    # ricerca: tipologia_contratto, stipendio, anagrafica_personale, indice_qualita
    # non struttrato: laboratorio_riferimento, telefono, personale_ricerca
    # struttrato: telefono, ufficio, personale_ricerca
    livello_stipendio_qualifica = list()
    livello_stipendio_qualifica.append(("B", 1050.45, "Titolo di studio di scuola d’obbligo"))
    livello_stipendio_qualifica.append(("C", 1231.97, "Diploma di scuola superiore"))
    livello_stipendio_qualifica.append(("D", 1767.81, "Diploma di laurea"))
    livello_stipendio_qualifica.append(("EP", 2083.33, "Diploma di laurea e particolare qualificazione personale"))
    tipologia_contratto_strutturato = list()
    tipologia_contratto_strutturato.append(("Professore ordinario", 2550.72))
    tipologia_contratto_strutturato.append(("Professore associato", 2123.19))
    tipologia_contratto_strutturato.append(("Ricercatore a tempo indeterminato", 1802.89))
    tipologia_contratto_strutturato.append(("Ricercatore a tempo determinato", 1478.11))
    tipologia_contratto_non_strutturato = list()
    tipologia_contratto_non_strutturato.append(("Assegnista", 1323.34))
    tipologia_contratto_non_strutturato.append(("Dottorando", 1231.90))
    tipologia_contratto_non_strutturato.append(("Contrattista", 1002.43))
    for db in ["bdm_unipa", "bdm_unina", "bdm_unito", "bdm_unimi"]:
        sql = database_connection(db)
        persone = list(sql.execute_query("SELECT cf, data_nascita FROM personale"))
        prefisso = ""
        if db == "bdm_unipa":
            prefisso = "091 238 "
        elif db == "bdm_unito":
            prefisso = "011 670 "
        elif db == "bdm_unina":
            prefisso = "081 420 "
        elif db == "bdm_unimi":
            prefisso = "091 03 "
        for persona in persone:
            telefono = prefisso
            for _ in range(0, 4):
                telefono += str(np.random.randint(0, 10))
            stipendio = (2020 - int(str(persona[1])[:4])) * 6.34
            random_number = np.random.randint(1, 4)
            if random_number == 1:
                #PERSONALE TA
                random_number = np.random.randint(1, 11)
                livello = ""
                qualifica = ""
                if random_number < 4:
                    livello = livello_stipendio_qualifica[0][0]
                    stipendio += livello_stipendio_qualifica[0][1]
                    qualifica = livello_stipendio_qualifica[0][2]
                elif random_number < 8:
                    livello = livello_stipendio_qualifica[1][0]
                    stipendio += livello_stipendio_qualifica[1][1]
                    qualifica = livello_stipendio_qualifica[1][2]
                elif random_number < 10:
                    livello = livello_stipendio_qualifica[2][0]
                    stipendio += livello_stipendio_qualifica[2][1]
                    qualifica = livello_stipendio_qualifica[2][2]
                else:
                    livello = livello_stipendio_qualifica[3][0]
                    stipendio += livello_stipendio_qualifica[3][1]
                    qualifica = livello_stipendio_qualifica[3][2]
                ta = (livello, stipendio, qualifica, telefono, persona[0])
                query = "INSERT INTO personale_ta(livello, stipendio, qualifica, telefono, anagrafica_personale) VALUES("
                for value in ta:
                    query += "'" + str(value) + "',"
                sql.execute_query(query[:-1] + ")")
            else:
                #PERSONALE_RICERCA
                tipologia_contratto = ""
                if random_number == 2:
                    #PERSONALE STRUTTURATO
                    random_number = np.random.randint(1, 8)
                    if random_number < 2:
                        tipologia_contratto = tipologia_contratto_strutturato[0][0]
                        stipendio += tipologia_contratto_strutturato[0][1]
                    elif random_number < 4:
                        tipologia_contratto = tipologia_contratto_strutturato[1][0]
                        stipendio += tipologia_contratto_strutturato[1][1]
                    elif random_number < 6:
                        tipologia_contratto = tipologia_contratto_strutturato[2][0]
                        stipendio += tipologia_contratto_strutturato[2][1]
                    else:
                        tipologia_contratto = tipologia_contratto_strutturato[3][0]
                        stipendio += tipologia_contratto_strutturato[3][1]
                    ricerca = (tipologia_contratto, stipendio, persona[0], np.random.randint(1, 11))
                    query = "INSERT INTO personale_ricerca(tipologia_contratto, stipendio, anagrafica_personale, indice_qualita) VALUES("
                    for value in ricerca:
                        query += "'" + str(value) + "',"
                    sql.execute_query(query[:-1] + ")")
                    ufficio = np.random.randint(101, 300)
                    query = "SELECT id_personale_ricerca, stipendio FROM personale_ricerca WHERE anagrafica_personale = \"" + str(persona[0]) + "\""
                    result = list(sql.execute_query(query))
                    strutturato = (telefono, ufficio, result[0][0])
                    query = "INSERT INTO personale_strutturato(telefono, ufficio, personale_ricerca) VALUES("
                    for value in strutturato:
                        query += "'" + str(value) + "',"
                    sql.execute_query(query[:-1] + ")")
                else:
                    #PERSONALE NON STRUTTURATO
                    random = np.random.randint(0, 3)
                    tipologia_contratto = tipologia_contratto_non_strutturato[random][0]
                    stipendio += tipologia_contratto_non_strutturato[random][1]
                    ricerca = (tipologia_contratto, stipendio, persona[0], np.random.randint(1, 11))
                    query = "INSERT INTO personale_ricerca(tipologia_contratto, stipendio, anagrafica_personale, indice_qualita) VALUES("
                    for value in ricerca:
                        query += "'" + str(value) + "',"
                    sql.execute_query(query[:-1] + ")")
                    laboratorio_riferimento = "Lab " + str(np.random.randint(1, 100))
                    query = "SELECT id_personale_ricerca, stipendio FROM personale_ricerca WHERE anagrafica_personale = \"" + str(persona[0]) + "\""
                    result = list(sql.execute_query(query))
                    non_strutturato = (laboratorio_riferimento, telefono, result[0][0])
                    query = "INSERT INTO personale_non_strutturato(laboratorio_riferimento, telefono, personale_ricerca) VALUES("
                    for value in non_strutturato:
                        query += "'" + str(value) + "',"
                    sql.execute_query(query[:-1] + ")")
예제 #27
0
from wtforms_components import DateRange
from bson import ObjectId
from random import randrange
from wtforms.fields import html5 as h5fields
from wtforms.widgets import html5 as h5widgets
from dateutil.relativedelta import relativedelta

import gridfs

admin = Blueprint("admin",
                  __name__,
                  static_folder="static",
                  template_folder="templates")
# Employee Table
fetch_all_employees_table = database_connection.connect_employee_table_name()
data_conn = database_connection.database_connection()
work_schedle_db = database_connection.connect_workSchedule_table_name()


class InformForm(FlaskForm):
    title = StringField('Title', validators=[DataRequired()])
    startdate = DateField('Start Date',
                          format="%Y-%m-%d",
                          validators=(validators.DataRequired(), ))
    enddate = DateField('End Date',
                        format="%Y-%m-%d",
                        validators=(validators.DataRequired(), ))
    start_at = TimeField(
        'Start at',
        format="'%h-%m'",
        validators=[DateRange(min=datetime.now()),
예제 #28
0
def initialize_database():
    connection = database_connection()
    drop_tables(connection)
    create_tables(connection)
예제 #29
0
파일: fill_ente.py 프로젝트: dariocurr/bdm
def creazione_enti():
    #nome, descriizoni, livello, indirizzo
    enti_palermo = list()
    enti_torino = list()
    enti_napoli = list()
    enti_milano = list()
    enti_palermo.append(("Azienda Sanitaria Provinciale di Palermo", "", "",
                         "Via Giacomo Gusmano, 24 - 90141 Palermo (PA)"))
    enti_palermo.append(("Consorzio Universitario della Provincia di Palermo",
                         "http://www.consunipa.it/wordpress/ente/mission/", "",
                         "Via Maqueda 100 - 90100 Palermo (PA)"))
    enti_palermo.append((
        "Consorzio Area Sviluppo Industriale Palermo",
        "http://www.irsapsicilia.it/index.php?option=com_content&view=article&id=380&Itemid=684",
        "", "Via Enrico Ferruzza, 5 - 90124 Palermo (PA)"))
    enti_palermo.append(
        ("Ersu Palermo", "www.ersupalermo.it", "",
         "Viale Delle Scienze, Edificio 1 - 90128 Palermo (PA)"))
    enti_palermo.append(
        ("Consiglio Nazionale delle Ricerche - CNR", "www.cnr.it", "",
         "Piazzale Aldo Moro, 7 - 00185 Roma (RM)"))
    enti_palermo.append(
        ("Ordine degli Ingegneri della Provincia di Palermo", "www.ingpa.com",
         "", "Via Francesco Crispi, 120 - 90139 Palermo (PA)"))
    enti_palermo.append(("Ordine dei Farmacisti della Provincia di Palermo",
                         "www.ordinefarmacistipalermo.it", "",
                         "Via Mariano Stabile N. 118/B - 90139 Palermo (PA)"))
    enti_palermo.append(
        ("SISPI - SISTEMA PALERMO INNOVAZIONE S.P.A.", "www.sispi.it", "",
         "Via A.s.denti Di Piraino, 7 - 90142 Palermo (PA)"))
    enti_palermo.append(
        ("Teatro Biondo Stabile di Palermo", "www.teatrobiondo.it", "",
         "Via Teatro Biondo, 11 - 90133 Palermo (PA)"))
    enti_palermo.append(
        ("Comune di Palermo", "www.comune.palermo.it", "",
         "Piazza Pretoria, 1 - Palazzo Delle Aquile - 90133 Palermo (PA)"))
    enti_torino.append(("Afc Torino S.P.A.", "www.cimiteritorino.it", "",
                        "Corso Peschiera, 193 - 10141 Torino (TO)"))
    enti_torino.append(
        ("Azienda Ospedaliera Ordine Mauriziano di Torino",
         "www.mauriziano.it", "", "Via Magellano, 1 - 10128 Torino (TO)"))
    enti_torino.append(("Biblioteca nazionale di Torino",
                        "http://www.bnto.librari.beniculturali.it/", "",
                        "Piazza carlo Albeerto, 3 - 10123 Torino (TO)"))
    enti_torino.append(
        ("Collegio dei Geometri e Geometri Laureati di Torino e Provincia",
         "https://collegiogeometri.to.it/", "",
         "Via Toselli 1 - 10129 Torino (TO)"))
    enti_torino.append(
        ("Turismo Torino e Provincia S.C.R.L", "www.turismotorino.org", "",
         "Via Maria Vittoria, 19 - 10123 Torino (TO)"))
    enti_torino.append((
        "Sede Torino Protocollo",
        "http://www.comune.torino.it/circ1/cm/pages/ServeBLOB.php/L/IT/IDPagina/1592",
        "", "Via Pio VII, 9 - 10135 Torino (TO)"))
    enti_torino.append((
        "RTS Torino",
        "http://www.rgs.mef.gov.it/VERSIONE-I/sistema_delle_ragionerie/ragionerie_territoriali_dello_stato/sportelli_rts/piemonte/rts_torino_aosta/",
        "", "Corso Bolzano, 44 - 10121 Torino (TO)"))
    enti_napoli.append(
        ("Accademia Belle Arti di Napoli", "www.accademiadinapoli.it", "",
         "Via Vincenzo Bellini, 36 - 80138 Napoli (NA)"))
    enti_napoli.append(
        ("Azienda Sanitaria Locale di Napoli 3 Sud", "www.aslnapoli3sud.it",
         "", "Via Marconi 66 - 80059 Torre del Greco (NA)"))
    enti_napoli.append(
        ("Camera di Commercio, Industria, Artigianato e Agricoltura di Napoli",
         "www.na.camcom.gov.it", "", "Via S. Aspreno 2 - 80133 Napoli (NA)"))
    enti_napoli.append(
        ("Citta Metropolitana di Napoli", "www.cittametropolitana.na.it", "",
         "Piazza Matteotti, 1 - 80133 Napoli (NA)"))
    enti_napoli.append(
        ("Ente Provinciale per il Turismo di Napoli", "www.eptnapoli.info", "",
         "CENTRO DIREZIONALE ISOLA C5 - 80121 Napoli (NA)"))
    enti_napoli.append((
        "Istituto per le Tecnologie della Costruzione - ITC - Sede Secondaria Napoli",
        "https://www.itc.cnr.it/home/chi-siamo/", "",
        "c/o Dist Federico II - via Claudio 21 - 80125 Napoli (NA)"))
    enti_napoli.append(("Ordine degli Ingegneri della Provincia di Napoli",
                        "www.ordineingegnerinapoli.com", "",
                        "Via Del Chiostro, 9 - 80134 Napoli (NA)"))
    enti_napoli.append(
        ("Sistema Ambiente Provincia di Napoli S.P.A.", "www.sapnapoli.it", "",
         "Piazza Matteotti, 1 - 80133 Napoli (NA)"))
    enti_napoli.append(
        ("Ambito Territoriale Ottimale Napoli 3", "www.atonapoli3.it", "",
         "Via Roma, 5 - 80032 Casamarciano (NA"))
    enti_napoli.append(
        ("Azienda Sanitaria Locale Napoli 2 Nord", "www.aslnapoli2nord.it", "",
         "Via M. Lupoli,27 - 80027 Frattamaggiore (NA)"))
    enti_milano.append(
        ("Biblioteca Braidense di Milano", "http://www.braidense.it/", "",
         "Via Brera, 28 - 20121 Milano (MI)"))
    enti_milano.append(("Comune di Milano", "www.comune.milano.it", "",
                        "Piazza Della Scala, 2 - 20121 Milano (MI)"))
    enti_milano.append(
        ("Fondazione Teatro alla Scala di Milano", "www.teatroallascala.org",
         "", "Via Filodrammatici 2 - 20121 Milano (MI)"))
    enti_milano.append(("Milano Ristorazione", "www.milanoristorazione.it", "",
                        "Via Bernardo Quaranta, 41 - 20139 Milano (MI)"))
    enti_milano.append(
        ("Ordine Degli Avvocati di Milano", "www.ordineavvocatimilano.it", "",
         "Via Carlo Freguglia, 1 - 20122 Milano (MI)"))
    enti_milano.append(("Parco Nord Milano", "www.parconord.milano.it", "",
                        "Via Clerici, 150 - 20099 Sesto San Giovanni (MI)"))
    enti_milano.append((
        "Ufficio Ambito della Citta Metropolitana di Milano - Azienda Speciale",
        "www.atocittametropolitanadimilano.it", "",
        "Viale Piceno, 60 - 20129 Milano (MI)"))
    sql = database_connection("bdm_unipa")
    for ente in enti_palermo:
        query = "INSERT INTO ente(nome, descrizione, livello, indirizzo) VALUES ("
        for value in ente:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
    sql = database_connection("bdm_unimi")
    for ente in enti_milano:
        query = "INSERT INTO ente(nome, descrizione, livello, indirizzo) VALUES ("
        for value in ente:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
    sql = database_connection("bdm_unina")
    for ente in enti_napoli:
        query = "INSERT INTO ente(nome, descrizione, livello, indirizzo) VALUES ("
        for value in ente:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")
    sql = database_connection("bdm_unito")
    for ente in enti_torino:
        query = "INSERT INTO ente(nome, descrizione, livello, indirizzo) VALUES ("
        for value in ente:
            query += "'" + str(value) + "',"
        sql.execute_query(query[:-1] + ")")