Import assegnazioni modelli orari (JPERS P/A)
Ente | Gestione Personale | Gestione presenze/assenze | Stampe e Statistiche | Contratti di lavoro | Metacurriculum | Strutture di base | Utilities |
---|
Gestione presenze/assenze -> Operazioni periodiche -> Importazioni -> Import assegnazioni modelli orari
Import assegnazioni modelli orari
La funzione permette l'imposrtazione dell'assegnazioni dei modelli orari attraverso un tracciato da file.
Nella definizione del tracciato si richiedono: codice, descrizione, tipo formato del file (POS = Txt Posizionale, o SEP = Txt con separatore di campi, o XLS= Foglio Excel), eventuale separatore campi, il formato con cui viene comunicata la data (es. dd/MM/yyyy), l’eventuale numero di righe da saltare perché contengono l’intestazione e, naturalmente, la posizione nel file dei dati importabili :
- Matricola (obbligatoria se non c’è il Codice Fiscale)
- Codice Fiscale (obbligatorio se non c’è la matricola)
- Data (obbligatorio)
- Turno - codice originale del modello orario (obbligatorio)
Se il tipo formato è TXT posizionale, per ogni dato importabile, occorre inserire sia la posizione di partenza che la lunghezza, mentre, per gli altri tipi, solo l’ordine delle colonne.
DbTable table = new DbTable("krn_tracassmodora");
table.addPrimaryKeyColumnPKID();
table.addColumnsForUserLogging();
table.addColumn("cod_tracciato", DbType.Varchar(20), DbConstraint.NOT_NULL);
table.addColumn("des_tracciato", DbType.Varchar(100), DbConstraint.NOT_NULL);
table.addColumn("cod_tipoformato", DbType.Varchar(3), DbConstraint.NOT_NULL);
table.addColumn("cod_sepcampi", DbType.Varchar(2));
table.addColumn("cod_formatodt", DbType.Varchar(10), DbConstraint.NOT_NULL);
table.addColumn("qta_colmatricola", DbType.Integer());
table.addColumn("qta_colcodfisc", DbType.Integer());
table.addColumn("qta_coldata", DbType.Integer(), DbConstraint.NOT_NULL);
table.addColumn("qta_colturno", DbType.Integer(), DbConstraint.NOT_NULL);
table.addColumn("qta_sizematricola", DbType.Integer());
table.addColumn("qta_sizecodfisc", DbType.Integer());
table.addColumn("qta_sizedata", DbType.Integer());
table.addColumn("qta_sizeturno", DbType.Integer());
table.addColumn("qta_nrighedasaltare", DbType.Integer());
Nell’associazione dei Turni (codice originale del modello orario) ai Modelli Orari di destinazione (KRN_TRACASSMODORADET) si deve indicare, per ogni tracciato definito, e per ogni turno, il vecchio codice, i giorni della settimana* per cui è valido e il nuovo codice
DbTable table = new DbTable("krn_tracassmodoradet");
table.addPrimaryKeyColumnPKID();
table.addColumnsForUserLogging();
table.addColumn("id_tracassmodora", DbType.Integer(), DbConstraint.NOT_NULL);
table.addColumn("cod_turno", DbType.Varchar(50), DbConstraint.NOT_NULL);
table.addColumn("cod_ggsettimana", DbType.Varchar(7), DbConstraint.NOT_NULL);
table.addColumn("id_modorario", DbType.Integer(), DbConstraint.NOT_NULL);
- cod_ggsettimana=1111100 indica che l’associazione è valida lun,mar,mer,gio,ven e NON per sab e dom
cod_ggsettimana=0000010 indica che l’associazione è valida solo il sab
Nelle tabelle non lasciare campi null (tranne separatore se non necessario), nei numerici mettere 0
Quando si lancia l’importazione chiedere: tracciato da utilizzare, file da importare, se sovrascrivere l’associazione del modello orario se già esistente per la matricola e la data indicata ed eventuale filtro date .
Il cartellino se non esiste deve essere creato (già previsto nella save di assmodora), e si identifica con idRaplav - anno - mese
se si comunica matricola si identifica subito il raplav con quella matricola e per la data comunicata
se si comunica Cod.fiscale si cerca anagUnica, si cerca persona per idAnagunica, idEnte e idTplinealav e si identifica il raplav con la persona e per la data comunicata.
Se si trova più di un rapporto di lavoro (perché più linee lavorative o più anagrafiche con stesso codice fiscale) verrà segnalato errore
Se il cartellino è già presente ed è stato consolidato, o è consolidato il giorno dell’associazione da importare, viene segnalato errore:
String esito = KrnUtils.getBLGTracassmodora().importaAssmodora(AutCFGClientSession.getUserSession(), fileImport, idEnte, idTracassmodora, flgSovrascrivere, dataInizio, dataFine);
se dataInizo == null si considera KrnCostantiServer.DTA_INIZIO
se dataFine == null si considera KrnCostantiServer.DTA_FINE
esito = “” tutto ok
esito = “Riga 6: Giorno cartellino già consolidato” (esempio di errore)