Creare Gestionale turni lavoro

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Ntony93
Prode Principiante
Messaggi: 8
Iscrizione: giovedì 25 maggio 2023, 20:39
Sesso: Maschile

Re: Creare Gestionale turni lavoro

Messaggio da Ntony93 »

Poi sicuramente è tutto incasinato e dovrei farlo un po’ più dettagliato quando avrò tempo
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1595
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: Creare Gestionale turni lavoro

Messaggio da nuzzopippo »

Ntony93 ha scritto:
mercoledì 31 maggio 2023, 11:15
eccomi qui , vi allego 3 file excel delle prove fatte con le stringhe dei turni , turni e disponibilità https://drive.google.com/drive/folders/ ... sp=sharing ve li ho messi qui
Rafbor ha scritto:
mercoledì 31 maggio 2023, 12:42
I dati sono tantissimi ed è difficile capire come utilizzarli da soli. Devi spiegare cosa stai cercando di fare e cosa non funziona.
È solo il file "Prova esploso" che comporta il problema ?
Quoto @Rafbor, i dati sono veramente tanti e difficili da comprendere ed associare, per di più alcuni sono riferimenti a fogli esterni, p.e. i dati dello sheet "Elenco dipendenti" del foglio "Catis23_aggiornata.xlsx" fanno riferimento al foglio "Copia di 2022_MAR_SchemaSintesi(22-02-23).xlsx", allo sheet "SintesiTot" posto sul desktop di un nominativo che, penso, sia @Ntony93, sulla Sua macchina locale
ATTENZIONE Ntony93 Non rendere disponibili quei dati, in considerazione della normativa sulla privacy
... per leggersi i files possono leggersi, une esempio in una shell python IDLE :

Codice: Seleziona tutto

f_name = "Catis23_aggiornata.xlsx"
from openpyxl import load_workbook
import openpyxl
wb = load_workbook(f_name)
print(wb.sheetnames)
['STRINGA', 'Elenco dipendenti', 'APRILE 2023', 'MAGGIO 2023', 'GIUGNO 2023', 'LUGLIO 2023', 'AGOSTO 2023', 'ESPLOSIONE', 'pivotBase', 'FabbisognoBudget23_(+lunghe)', 'countTurniRidotto']
vals = wb['Elenco dipendenti']
type(vals)
<class 'openpyxl.worksheet.worksheet.Worksheet'>
for row in vals.rows:
    printed = False
    if counter >= 10:
        break
    for cell in row:
        if isinstance(cell, openpyxl.cell.cell.MergedCell):
            continue
        else:
            if cell.value:
                printed = True
                print(cell.value, end=', ')
    if printed:
        print()
        counter += 1
    if counter >= 10:
        break

    
ID, VARIE, Nome , Circuito, Skill, SEDE, contratto, 
=[1]SintesiTot!C3, =[1]SintesiTot!D3, =[1]SintesiTot!E3, =[1]SintesiTot!F3, =[1]SintesiTot!G3, =[1]SintesiTot!H3, =[1]SintesiTot!I3, 
=[1]SintesiTot!C4, =[1]SintesiTot!D4, =[1]SintesiTot!E4, =[1]SintesiTot!F4, =[1]SintesiTot!G4, =[1]SintesiTot!H4, =[1]SintesiTot!I4, 
=[1]SintesiTot!C5, =[1]SintesiTot!D5, =[1]SintesiTot!E5, =[1]SintesiTot!F5, =[1]SintesiTot!G5, =[1]SintesiTot!H5, =[1]SintesiTot!I5, 
=[1]SintesiTot!C6, =[1]SintesiTot!D6, =[1]SintesiTot!E6, =[1]SintesiTot!F6, =[1]SintesiTot!G6, =[1]SintesiTot!H6, =[1]SintesiTot!I6, 
=[1]SintesiTot!C7, =[1]SintesiTot!D7, =[1]SintesiTot!E7, =[1]SintesiTot!F7, =[1]SintesiTot!G7, =[1]SintesiTot!H7, =[1]SintesiTot!I7, 
=[1]SintesiTot!C8, =[1]SintesiTot!D8, =[1]SintesiTot!E8, =[1]SintesiTot!F8, =[1]SintesiTot!G8, =[1]SintesiTot!H8, =[1]SintesiTot!I8, 
=[1]SintesiTot!C9, =[1]SintesiTot!D9, =[1]SintesiTot!E9, =[1]SintesiTot!F9, =[1]SintesiTot!G9, =[1]SintesiTot!H9, =[1]SintesiTot!I9, 
=[1]SintesiTot!C10, =[1]SintesiTot!D10, =[1]SintesiTot!E10, =[1]SintesiTot!F10, =[1]SintesiTot!G10, =[1]SintesiTot!H10, =[1]SintesiTot!I10, 
=[1]SintesiTot!C11, =[1]SintesiTot!D11, =[1]SintesiTot!E11, =[1]SintesiTot!F11, =[1]SintesiTot!G11, =[1]SintesiTot!H11, =[1]SintesiTot!I11,
Ma non si possono ottenere dati presenti sulla Tua macchina, è prevedibile sia problematico venire a capo di ciò che occorre veramente.
Come dicevo prima dovrei fare una pagina dove ogni mese faccio devo generare i turni in automatico in base alle ore ,riposi ecc ,ovviamente ...
@Ntony93, comprendo il lavoraccio che Ti tocca ogni mese e l'attenzione che devi porre per eseguirlo, però ciò che descrivi è solo il risultato finale che occorre, risultato di cui Tu probabilmente conosci i parametri ma chi Ti legge no.
Per produrre un programma (od uno script) bisogna necessariamente avere idea chiara ed univoca del significato di ogni singolo dato ed ogni singolo trattamento che si applica ad esso o da cui esso scaturisce, ora dati come "L06", "L59", "P97", etc (sheet "STRINGA") o criteri determinanti rotazioni di turno o riposi o altro ancora, non dicono niente a chi non conosce lo specifico problema e, per poter dare una mano è necessaria la comprensione.

Ora, rivolgendoTi qui Ti sei rivolto a gente che più o meno programma per passione e non utilizza Excel, qui si parte stabilendo univocamente quali e come sono i dati fissi, i dati variabili e come si devono trattare per poi stabilire il come fare ad affrontarli ... personalmente (ma credo anche altri) disponibile a dare una mano per quel che posso ma dovresti essere Tu ad indicare i dati di base (tanto fissi quanto variabili) e stabilire passo per passo i trattamenti e criteri da applicarsi.
Ora, forse a Te sarebbe più utile un collega Tuo molto capace con Excel seduto con Te alla Tua macchina a far prove che noi, comunque, se ritieni di proseguire il discorso qui si potrebbe provare a partire da simulazioni dei dati fissi e variabili da trattare per poi provare a definire i vari passi (con i relativi parametri) da effettuarsi, ci vorrà un bel po' di tempo probabilmente ma si può tentate.

:ciao:
Fatti non foste a viver come bruti ...
Avatar utente
Rafbor
Prode Principiante
Messaggi: 126
Iscrizione: domenica 13 febbraio 2022, 18:22
Desktop: Xubuntu
Distribuzione: 22.04.3 LTS
Località: Francia

Re: Creare Gestionale turni lavoro

Messaggio da Rafbor »

Aggiungo che i file Excel si aprono senza problemi in Calc, ma le macro non sono né visibili né eseguibili.
Se riesco a partecipare, potrei comunque eseguire simulazioni in Calc con macro in Basic.

Sono d'accordo con @nuzzopippo, dovresti creare dei dati di prova e spiegare come usarli, con un esempio del risultato atteso.
Forse il file di prova è il file "Prova esploso" ? Ma non riusciamo a capire da soli come interpretare i dati.
Ntony93
Prode Principiante
Messaggi: 8
Iscrizione: giovedì 25 maggio 2023, 20:39
Sesso: Maschile

Re: Creare Gestionale turni lavoro

Messaggio da Ntony93 »

certo nuzzopippo , infatti qui ho messo solo file meno "pericolosi" altri file sono con tutti i dati dei dipendenti .
adesso vedo se trovo un file che avevo fatto con tutti i parametri per i collegamenti ecc ve li mando . intanto vi chiedo ci sarebbe un altro modo per fare questo lavoro senza Excel , in locale tipo xampp , dove può diventare un po piu facile e intuitivo ?
su questi file passo veramente tanto tempo al giorno .poi lo stesso discorso su ulisse che qualcuno di voi mi ha detto che è un sw per alberghi .... i capi hanno speso un sacco di soldi e ne stanno spendendo ancora come dicevo , senza risultato.
non è una cosa urgente anche perche sono anni che usiamo excel e ci mangiamo la testa tutti i giorni .
quindi in poche parole vi chiedo , si potrebbe creare tutto da 0 con sw o framework diversi , dove inserendo tutti questi dati mi fa l'80% del lavoro , come la struttura , i collegamenti tra vari db , la pianificazione di questi turni ecc ?
Avatar utente
Rafbor
Prode Principiante
Messaggi: 126
Iscrizione: domenica 13 febbraio 2022, 18:22
Desktop: Xubuntu
Distribuzione: 22.04.3 LTS
Località: Francia

Re: Creare Gestionale turni lavoro

Messaggio da Rafbor »

Partire da zero è una buona idea, ma richiederà molto tempo e molto lavoro. Come ho già detto, devi scegliere una tecnologia con cui hai già familiarità, altrimenti dovrai aggiungere tempo alla curva di apprendimento.
A mio parere, nessuno qui sarà in grado di occuparsi dello sviluppo completo della tua applicazione perché richiederebbe diversi giorni di lavoro a tempo pieno, ma possiamo aiutarti a elaborare l'algoritmo di calcolo, a scrivere le query SQL, ecc.
L'ideale sarebbe utilizzare una tecnologia che diverse persone qui hanno imparato a conoscere, in modo che possano aiutarti, altrimenti rischia di rimanere da solo.

Se questo sviluppo deve essere temporaneo, fino a quando il software che avete acquistato non sarà operativo, se fossi nei tuoi panni userei MSAccess, che consente di codificare rapidamente e creare applicazioni in locale o client-server con un database condiviso. Se si padroneggia VBA, si possono creare applicazioni molto solide.

Ma in questo forum non si usano applicazioni specifiche per Windows, quindi l'alternativa sarebbe lavorare con LO Base.
Non so se ti andrebbe bene.
Chiedo anche agli altri aiutanti: con quali tecnologie sareste disposti ad aiutare ?

L'importante è mettere a punto gli algoritmi, e per farlo devi spiegarci molte cose, come abbiamo già detto.
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1595
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: Creare Gestionale turni lavoro

Messaggio da nuzzopippo »

Rafbor ha scritto:
giovedì 1 giugno 2023, 9:46
Partire da zero è una buona idea, ma richiederà molto tempo e molto lavoro...
Concordo in pieno con quanto detto da @Rafbor, qui si può dare una mano ma l'applicazione completa dipende dalle conoscenze di @Ntony93.

Certamente la principale necessità è definire l'algoritmo di calcolo, il suggerimento su MS Access è ottimo ma, escluse le metodologie microsoft, non necessariamente bisognerebbe ricorrere a LO, dipende dalle esigenze relative al "prodotto finale", se l'esigenza fosse solo un elenco dei turni, una volta definito l'algoritmo, potrebbe anche essere sufficiente uno script che lo produca partendo direttamente dai dati di base (fissi e variabili).
Fatti non foste a viver come bruti ...
nicNiz
Prode Principiante
Messaggi: 27
Iscrizione: domenica 4 ottobre 2020, 20:31

Re: Creare Gestionale turni lavoro

Messaggio da nicNiz »

Ci sono un sacco di gestionali turni da provare gratuitamente x 30 gg.
Db con le ore giornaliere da coprire
Db mezzi
Db nomi
Db turni
Perchè tutti questi database? Non sarebbe meglio avere un elenco nomi bloccato a sinistra e i turni sulle colonne ? tipo:

nome ---LUN MATT---- LUN POM--- LUN NOTTE --- ORE --- MAR MATT---- MAR POM---- MAR NOTTE ----ORE
MARIO AMBZ1 ---- ---- smonto -------riposo-------------- 6--------- reperib---------- servizio ------- smonto ----------- 6

Se nulla di tutto ciò soddisfa e vuoi cimentarti nella programmazione
ridurrei a VBnet (in quanto Windows e semplice), Qt (veloce semplice e multipiattaforma), Java o php (anche lato web)
Il mio Linguaggio di scripting dichiarativo
https://docs.google.com/document/u/0/d/ ... 9wSn8XbJL8 :zomp:
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot], Majestic-12 [Bot] e 16 ospiti