Web Api pubbliche: chiamate relative al modulo Gestione Attività

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

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

Related Articles