Le Web Api pubbliche contengono una serie di chiamate che rendono possibile l’interazione con il modulo Gestione Attività, tutte mappate all’interno della DLL proxy.
Si tratta di chiamate sia di inserimento/modifica dati che di consultazione, anche per verificare che eventuali operazioni precedenti siano andate a buon fine.
Oggetti coinvolti nelle chiamate:
- TipoAttivitaDto: le tipologie codificate di attività disponibili
- TipoAttivitaInfoDto: le informazioni che possono decorare una tipologia di attività
- TipoAttivitaInfoSourceDto: i valori possibili delle Informazione aggiuntive, quando codificati
- TaskDto: la programmazione di una tipologia di attività in un periodo definito
- TaskGGDipDto: le Rendicontazioni di ciò che è stato svolto
- TaskGGDipValuesDto: i valori delle informazioni a corredo delle Rendicontazioni
Processi di utilizzo ipotizzabili:
- Inserimento di una Rendicontazione precedentemente programmata
- Ottenere tutte le Attività programmate di un Dipendente e identificare quella desiderata
- Inserire una Rendicontazione collegata all’Attività programmata (utilizzando il campo IDTask)
- Ottenere tutte le Rendicontazioni del Dipendente nel periodo interessato, filtrate per l’Attività programmata, per verificarne l’inserimento
- Ottenere tutte le Informazioni aggiuntive previste dal Tipo Attività presente nell’Attività programmata
- Inserire le Rendicontazioni di tali Informazioni aggiuntive
- Ottenere tutte le Rendicontazioni delle Informazioni aggiuntive della Rendicontazione, per verificarne l’inserimento
- Inserimento di una Rendicontazione non programmata
- Ottenere tutti i Tipi Attività rendicontabili dal Dipendente desiderato
- Inserire una Rendicontazione relativa al Tipo Attività desiderato
- Ottenere tutte le Rendicontazioni del Dipendente nel periodo interessato, per verificarne l’inserimento
- Ottenere tutte le Informazioni aggiuntive previste dal Tipo Attività scelto
- Inserire le Rendicontazioni di tali Informazioni aggiuntive
- Ottenere tutte le Rendicontazioni delle Informazioni aggiuntive della Rendicontazione, per verificarne l’inserimento
- Aggiornamento di una Rendicontazione esistente
- Ottenere tutte le Rendicontazioni del Dipendente nel periodo interessato
- Aggiornare la Rendicontazione desiderata
- Ottenere tutte le Informazioni aggiuntive previste dal Tipo Attività scelto
- Aggiornare le Rendicontazioni di tali Informazioni aggiuntive
- Ottenere tutte le Rendicontazioni delle Informazioni aggiuntive della Rendicontazione, per verificarne l’inserimento
- Eliminazione di una Rendicontazione esistente
- Ottenere tutte le Rendicontazioni del Dipendente nel periodo interessato
- Eliminare la Rendicontazione desiderata
A seconda della configurazione presente nell’impianto alcuni campi potrebbero essere utilizzati oppure no (es: minuti straordinari).
E’ consigliabile utilizzare il formato “yyyy-MM-ddThh:mm:ss” per tutte le date passate come parametro in GET, con minuti, ore e secondi impostati a 0.
Per i campi data degli oggetti passati in POST è consigliabile impostare le date in formato Utc.
public/api/TipoAtt/GetActiveTipoAttByDip
Ottenere i Tipi Attività
Chiamata in GET che restituisce tutti i Tipi Attività attivi disponibili per un Dipendente.
Parametri:
- idDipWeb: l’id web che identifica il Dipendente richiesto
Viene restituito un elenco di oggetti TipoAttivitaDto, che presentano i seguenti campi:
- IDAziWeb: id web che identifica l’Azienda
- IDTipoAtt: id che identifica il Tipo Attività
- Descriz: descrizione del Tipo Attività
- Note: eventuali note relative al Tipo Attività, potrebbe essere nullo
- FlagAttivo: flag che indica che il Tipo Attività è attualmente attivo e quindi viene utilizzato, può valere “true” o “false”
- IDTipoAttPadre: eventuale id che identifica il Tipo Attività superiore, potrebbe essere nullo
- Codice: eventuale id esterno che identifica ulteriormente il Tipo Attività, potrebbe essere nullo
In questa chiamata specifica il campo FlagAttivo vale sempre “true”.
public/api/TipoAtt/GetTipoAttInfoByTipoAtt
Ottenere le eventuali Informazioni aggiuntive di un Tipo Attività
Chiamata in GET che restituisce tutte le eventuali Informazioni aggiuntive associate ad un Tipo Attività.
Parametri:
- idAziWeb: id web che identifica l’Azienda richiesta
- idTipoAtt: id che identifica il Tipo Attività Richiesto
Viene restituito un elenco di oggetti TipoAttivitaInfoDto, che presentano i seguenti campi:
- IDTipoAttInfo: id che identifica globalmente l’Informazione aggiuntiva
- Descriz: descrizione dell’Informazione aggiuntiva
- ValueType: valore che specifica se l’Informazione Aggiuntiva è un campo valore o comprende un elenco di valori predefiniti
- ValueTypeDescriz: la descrizione del campo precedente
- Codice: eventuale id esterno che identifica globalmente l’Informazione aggiuntiva, potrebbe essere nullo
- Forced: indica se il valore dell’Informazione aggiuntiva è forzatamente deciso a priori, al momento della programmazione, può valere “true” o “false”
- IDTipoAttInfoSource: l’eventuale valore predefinito dell’Informazione aggiuntiva, nel caso si tratti di un tipo di Informazione a elenco, potrebbe essere nullo
- Value: l’eventuale valore predefinito dell’Informazione aggiuntiva, nel caso si tratti di un tipo di Informazione a valore, potrebbe essere nullo
Il campo ValueType può avere due valori, che identificato poi il comportamento dell’Informazione aggiuntiva:
- 0: valore
l’Informazione aggiuntiva ha un valore personalizzato, che viene salvato in un campo di testo e non è successivamente ricercabile o indicizzabile - 1: elenco
l’Informazione aggiuntiva ha un valore che viene scelto tra un elenco di valori possibili (i quali presentano a loro volta una descrizione ed eventualmente un id esterno), questo permette successivamente un’indicizzazione e un’analisi avanzata
public/api/TipoAtt/GetActiveTipoAttInfoSourceByTipoAttInfo
Ottenere gli eventuali valori possibili di un’Informazione aggiuntiva
Chiamata in GET che restituisce tutti i possibili valori attivi di un’Informazione aggiuntiva di tipo elenco.
Parametri:
- idTipoAttInfo: id che identifica globalmente l’Informazione aggiuntiva
- idAziWeb: id web che identifica l’Azienda, può essere nullo
- idTipoAtt: id web che identifica il Tipo Attività, può essere nullo
Viene restituito un elenco di oggetti TipoAttivitaInfoSourceDto, che presentano i seguenti campi:
- IDTipoAttInfoSource: id che identifica il valore nell’elenco
- IDTipoAttInfo: id che identifica globalmente l’Informazione aggiuntiva
- TipoAttInfoDescriz: descrizione dell’Informazione aggiuntiva
- Codice: eventuale id esterno che identifica il valore nell’elenco, potrebbe essere nullo
- Descriz: descrizione del valore dell’Informazione aggiuntiva
- FlagAttivo: valore che indica che il valore dell’Informazione aggiuntiva è attivo e quindi viene utilizzato, può valere “true” o “false”
In questa chiamata specifica, il campo FlagAttivo vale sempre “true”.
public/api/TaskGGDip/GetProgrammedTaskByDip
Ottenere le eventuali Attività programmate di un Dipendente
Chiamata in GET che restituisce tutte le Attività in stato Programmato che coinvolgono un Dipendente specificato.
Parametri:
- idDipWeb: id web che identifica il Dipendente richiesto
- dateFrom: data di inizio del periodo richiesto
- dateTo: data di fine del periodo richiesto
Viene restituito un elenco di oggetti TaskDto, che presentano i seguenti campi:
- IDTask: id che identifica l’Attività programmata
- IDAziWeb: id web che identifica l’Azienda
- IDTipoAtt: id che identifica il Tipo Attività
- TipoAttDescriz: descrizione del Tipo Attività
- Descriz: descrizione dell’Attività programmata
- DataInizio: inizio dell’Attività programmata
- DataFine: fine dell’Attività programmata
- Stato: valore dello Stato dell’Attività programmata, che può essere 0, 1, 2 o 3 (descritto più chiaramente nel campo successivo)
- StatoDescriz: descrizione dello Stato dell’Attività programmata, che può essere “Programmata”, “Rendicontata”, “Annullata” o “Da programmare”
- IDRespWeb: id web dell’eventuale Responsabile associato all’Attività, potrebbe essere nullo
- RespCognomeNome: cognome e nome dell’eventuale Responsabile associato all’Attività programmata, potrebbe essere nullo
- Note: eventuali note a corredo dell’Attività programmata, potrebbe essere nullo
- IDTaskExt: eventuale id esterno dell’Attività programmata, potrebbe essere nullo
Gli stati dell’Attività programmata sono:
- 0: Programmata
- 1: Rendicontata
- 2: Annullata
- 3: Da programmare
ma in questa chiamata specifica il campo Stato vale sempre 0.
public/api/TaskGGDip/AddOrUpdateTaskGGDip
Inserire o aggiornare una Rendicontazione
Chiamata in POST per inserire o aggiornare una Rendicontazione, viene passato appunto in POST un oggetto AddOrUpdateTaskGGDipDto, che presenta i seguenti campi:
- IDTaskGGDip: id della Rendicontazione, può essere nullo
- IDDipWeb: id web del Dipendente
- GGData: data di riferimento della Rendicontazione
- IDAziWeb: id web dell’Azienda, può essere nullo
- IDTipoAtt: id del Tipo Attività, può essere nullo
- IDTask: id dell’eventuale Attività programmata, può essere nullo
- MinCons: eventuali minuti consuntivati, può valere 0
- MinStr: eventuali minuti straordinari, può valere 0
- Note: eventuali note della Rendicontazione, possono essere nulle
- IDTaskGGDipExt: eventuale id esterno della Rendicontazione, può essere nullo
Se il campo IDTaskGGDip viene lasciato nullo, la Rendicontazione viene considerata implicitamente come nuova e quindi viene inserita come tale.
Se invece viene tale campo valorizzato, se viene trovata una Rendicontazione corrispondente, essa verrà aggiornata, altrimenti ne verrà inserita una nuova con tale id (Rendicontazione quindi successivamente facilmente identificabile).
I minuti consuntivati o quelli straordinari possono valere 0, ma non entrambi.
La chiamata potrebbe restituire errore in caso di inserimento/modifica non possibili.
public/api/TaskGGDip/GetTaskGGDipByDip
Ottenere le Rendicontazioni di un Dipendente
Chiamata in GET che restituisce tutte le Rendicontazioni di un Dipendente, in un dato periodo, eventualmente filtrato per Attività programmata.
Parametri:
- dDipWeb: id web che identifica il Dipendente
- dateFrom: data di inizio del periodo richiesto
- dateTo: data di fine del periodo richiesto
- idTask: eventuale id dell’Attività programmata da filtrare, può essere nullo
Viene restituito un elenco di oggetti TaskGGDipDto, che presentano i seguenti campi:
- IDTaskGGDip: id che identifica la Rendicontazione
- IDAziWeb: id web che identifica l’Azienda
- IDTipoAtt: id che identifica il Tipo Attività
- TipoAttDescriz: descrizione del Tipo Attività
- IDTask: eventuale id dell’Attività programmata, potrebbe essere nullo
- TaskDescriz: eventuale descrizione dell’Attività programmata, potrebbe essere nulla
- GGData: data di riferimento della Rendicontazione
- IDDipWeb: id web del Dipendente
- CognomeNome: cognome e nome del Dipendente
- MinProg: eventuali minuti programmati della Rendicontazione, potrebbe valere 0
- MinCons: eventuali minuti consuntivati della Rendicontazione, potrebbe valere 0
- MinStr: eventuali minuti straordinari della Rendicontazione, potrebbe valere 0
- OreProg: eventuali ore programmate della Rendicontazione (in sessantesimi), potrebbe valere “00:00”
- OreCons: eventuali ore consuntivate della Rendicontazione (in sessantesimi), potrebbe valere “00:00”
- OreStr: eventuali ore straordinarie della Rendicontazione (in sessantesimi), potrebbe valere “00:00”
- Note: eventuali note della Rendicontazione, potrebbe essere nullo
- IDTaskGGDipExt: eventuale id esterno della Rendicontazione, potrebbe essere nullo
public/api/TaskGGDip/AddOrUpdateTaskGGDipValues
Inserire o aggiornare il valore di un’Informazione aggiuntiva rendicontata
Chiamata in POST per inserire o aggiornare una Rendicontazione, viene passato appunto in POST un oggetto AddOrUpdateTaskGGDipValuesDto, che presenta i seguenti campi:
- IDTaskGGDipValues: id che identifica il valore dell’Informazione aggiuntiva rendicontata, può essere nullo
- IDTaskGGDip: id che identifica la Rendicontazione
- IDTipoAttInfo: id che identifica globalmente l’Informazione aggiuntiva
- IDTipoAttInfoSource: eventuale id che identifica il valore dell’Informazione aggiuntiva tra quelli disponibili, può essere nullo
- Value: eventuale valore dell’Informazione aggiuntiva, può essere nullo
Nel caso di aggiornamento di un dato esistente, lo stesso verrà identificato tramite i campi IDTaskGGDip e IDTipoAttInfo, non tramite l’eventuale valorizzazione del campo IDTaskGGDipValues.
Se viene valorizzato il valore del campo IDTaskGGDipValues, esso verrà utilizzato in caso di inserimento di un nuovo dato (che quindi potrà poi venir facilmente identificata successivamente).
Il campi IDTipoAttInfoSource e Value possono essere nulli ma non simultaneamente.
La chiamata potrebbe restituire errore in caso di inserimento/modifica non possibili.
public/api/TaskGGDip/GetTaskGGDipValuesByTaskGGDip
Ottenere i valori delle Informazioni aggiuntive rendicontate
Chiamata in GET che restituisce tutti i valori delle Informazioni aggiuntive associate ad una Rendicontazione.
Parametri:
- idTaskGGDip: id che identifica la Rendicontazione
Viene restituito un elenco di TaskGGDipValuesDto, che presentano i seguenti campi:
- IDTaskGGDipValues: id che identifica il valore dell’Informazione aggiuntiva
- IDTaskGGDip: id che identifica la Rendicontazione
- IDTipoAttInfo: id che identifica globalmente l’Informazione aggiuntiva
- TipoAttInfoDescriz: descrizione dell’Informazione aggiuntiva
- IDTipoAttInfoSource: eventuale id che identifica il valore dell’Informazione aggiuntiva in questa rendicontazione, scelto dall’elenco di valori possibili, potrebbe essere nullo
- TipoAttInfoSourceDescriz: descrizione del valore dell’Informazione aggiuntiva scelto dall’elenco di valori possibili, potrebbe essere nullo
- Value: eventuale valore dell’Informazione aggiuntiva (non preso da un elenco di valori predefiniti) in questa Rendicontazione, potrebbe essere nullo
public/api/DeleteTaskGGDip/{idTaskGGDip}
Elimina una Rendicontazione giornaliera
Chiamata in DELETE che elimina una Rendicontazione e tutte le Informazioni aggiuntive ad essa associate.
Parametro (passato tramite routing):
- idTaskGGDip: id che identifica la Rendicontazione