Ricalcolare le date

martedì 13 marzo 2012 - 21.10
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows 7  |  Visual Studio 2008  |  MySQL 5.5

Mau67 Profilo | Expert

Ciao al forum,
ho questo scenario nel mio progetto vb2008 carico all'interno di una listview1 tanti periodi di lavoro effettuati presso ditte i campi che carico sono i seguenti:
ID dal al ditta
01 01/01/1978 27/05/1990 prima ditta
02 28/05/1990 11/02/1994 seconda ditta
02 12/02/1994 27/09/2000 terza ditta

in una seconda listview2 ci sono degli intervalli e sono i seguenti
01/01/1993
01/01/1995
01/01/1996
01/01/1998

cosa voglio ottenere
voglio ricaricare i dati della listview1 nella listview3 scomponendo i periodi in base agli intervalli e cioè
ID dal al ditta
01 01/01/1978 27/05/1990 prima ditta <<<<qui viene caricato tutto senza modifiche xchè minore degli intervalli
02 28/05/1990 11/02/1994 seconda ditta <<< qui viene scomposta perche la data "al" è maggiore di uno degli intervalli cioè maggiore di 01/01/1993 quindi avviene questo
02 28/05/1990 31/12/1992 << qui tronca
03 01/01/1993 11/02/1994 << qui riparte dall'intervallo e finisce con la data effettiva

02 12/02/1994 27/09/2000 terza ditta <<<< qui viene scomposta in più intervalli perche la data "al" è superiore agli intervalli 01/01/1995 - 01/01/1996 - 01/01/1998 quindi avviene questo
04 12/02/1994 31/12/1994 << qui tronca
05 01/01/1995 31/12/1995 <<qui riparte dall'intervallo e tronca
06 01/01/1996 31/12/1997 <<qui riparte dall'intervallo e tronca
07 01/01/1998 27/09/2000 << qui riparte dall'intervallo e finisce con la data effettiva

so che è complicato ma spero di essere riuscito a farmi capire e spero che qualcuno mi aiuti
grazie


Mau67

fabioantoniololiva Profilo | Newbie

la tua soluzione è alquanto macchinosa. secondo me potresti avere problemi in futuro anche per il salvataggio dati.
dovresti trovare un modo piu semplice. spiegami di preciso di cosa si tratta e se vuoi ti aiuto a trovare una soluzione
___________________________________________________________________
Fabio Antonio Loliva

Mau67 Profilo | Expert

praticamente tutto questo serve per calcolare dei periodi pensionistici su dei dati già preesistenti senza tutte le volte andare a riscrivermi i periodi per intervallo in quanto oneroso vista il numerico dei dipendenti elevato.
grazie
Mau67

fabioantoniololiva Profilo | Newbie

ok se non ho capito male vorresti vedere i rapporti di lavoro per singolo anno.

se così fosse crea una tabella in un db nome rapporti
id dataInizio dataFine azienda

inserisci un controllo nel windows form dove si sceglie l anno. (es 2010)
e visualizza i dati
SELECT * FROM rapporti WHERE datainizio < 01/01/2011
e li visualizza
avrai tutti i dati di quell anno del dipendente
potresti allargare la cose con l inserimento della colonna nominativo per lavorare con più dipendenti

se vuoi calcolare i giorni basta fare la funzione

01/01/2011 - dataInzio presa dalla tabella

potresti farti totali delle giornate.

spero di essere stato chiaro e di aver capito la tua necessità.

saluti




___________________________________________________________________
Fabio Antonio Loliva

Mau67 Profilo | Expert

non è proprio cosi e cioè mi spiego
gli intervalli da tenere in considerazione sono
01/01/1993
01/01/1995
01/01/1996
01/01/1998
praticamente tutti i periodi di lavoro effettuti dalla data di assunzione fino a fine rapporto devono essere ricalcolati

quindi se sono stato assunto 01/01/1978 e ho terminato il mio rapporto il 27/03/2011 cosa deve accadere:
devo racaricare 01/01/1978 troncare la data fine rapporto al 31/12/1992
ripartire dal 01/01/1993 troncare la data fine rapporto al 31/12/1994
ripartire dal 01/01/1995 troncare la data fine rapporto al 31/12/1996
ripartire dal 01/01/1997 troncare la data fine rapporto al 31/12/1997
ripartire dal 01/01/1998 chiudere con la data effettiva di fine rapporto al 27/03/2011

praticamente gli intervalli servono per delimitare i periodi pensionistici.
Ho fatto un esempio di un periodo lavorativo preso una sola azienda chiaramente se i periodi sono più di uno deve troncare tutti i periodi in base agli intervalli
ciao grazie
Mau67

Mau67 Profilo | Expert

Nessuno riesce a darmi una mano?

Spero di si grazie
Mau67
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5