Distribuzione: + la somma dei "campioni" deve essere uguale al valore "controlli da effettuare" + numero di scelte in genere viene impostato a 10% del valore dei controlli da effettuare + il valore di max per area non può superare il valore di controlli da effettuare + Il massimo di sorteggi per area non può essere superiore al numero dei controlli da effettuare Sorteggio controlli I controlli sono intesi come le zone da controllare - Generale - Non posso sorteggiare una zona più del numero deelle zone presenti - Se ho numero 1 per la zona 1 non posso sorteggiarla 2 volte - Il numero di scelte della distribuzione determina quante scelte di zone posso effettuare in fase di sorteggio Posso avere due opzioni, Aleatorio o Selezionato - Posso selezionare controlli finché non finisco il numero di scelte che ho inserito nella distribuzione - Posso effettuare come scelta Aleatorio solo se non l'ho già selezionato prima. - Nel caso in cui completo i controlli che sono già stati sorteggiati (sia aleatori che Sorteggiati) posso riselezionare la scelta Aleatorio Solo Filtro per Griglia Come è: - Nell'algoritmo di aleatorietà viene automaticamente selezionata una griglia tra quelle disponibili per il lotto nella distribuzione Come dovrebbe essere: - Seleziono le zone da controllare senza tener conto delle griglie Solo Filtro per area Come è: - Nel sorteggio dei controlli viene richiesto il numero delle aree da sorteggiare e poi le recupera in maniera randomica Come dovrebbe essere: - Seleziono le zone da controllare senza tener conto delle aree Nessun Filtro: Com'è: - Selezioni il numero delle aree - Le prende lui a random - Seleziono il numero di controlli per ogni griglia - In automatico mi estrae il numero di zone ocn le aree e le griglie recuperate Come dovrebbe essere: - Seleziono le aree con un check - Seleziono le griglie con un check - Seleziono il numero dei controlli totale per griglia Aleatorio: - Il controllo di tipo aleatorio permette di farlo solo la (prima) volta Image 1: - Sorteggio Selezionato dopo averne fatto uno aleatorio Image 2: - Sorteggio di controlli Selezionato - Le griglie non sono state preselezionate - Avrebbe la stessa funzione se avessi messo il filtro su si /*************************************************/ /* DA IMPLEMENTARE */ /*************************************************/ - Creare un panel ad apertura con Sorteggio come titolo - click sul panel seleziono aleatorio o selezione - numero dei controlli - selezione del controllore - se sono controllore non vedo questo filtro ma vengo automaticamente impostato io - clicco su sorteggiare - al click sul btn sorteggiare - mostro un riepilogo dei sorteggi già effettuati - gridview griglie aree di quella distribuzione se Aleatorio: - mostro una gridview con le seguenti colonne: griglia = visibile solo ed esclusivamente se il filtro è stato impostato a NON aleatorio; area = visibile solo ed esclusivamente se il filtro è stato impostato a NON aleatorio; n_consigliati_griglia_periodo = ripresa dalla distribuzione (vecchia colonna numero consigliati periodo); n_selezionati_griglia = numero controlli già selezioanti in quella stessa griglia (vecchia colonna stato) max_autorizzato: numero di controlli sorteggiabili per quella griglia, ripreso dalla distribuzione (vecchia colonna massimo autorizzato) max_selezionabili: numero di controlli cche si possono ancora selezionare: - col griglia + colonna area = somma delle zone (numero zona) conincidenti con quella griglia e quell'area - quelle già selezionate - col griglia = somma delle zone conincidenti con quella griglia - quelli già selezionati - col area = somma delle zone coincidenti con quella area - quelli già selezionati Se Selezionato: - mostro una gridview con le seguenti colonne: - griglia - area - zona - n_consigliati_griglia_periodo - n_selezionati_griglia - max_autorizzato - max_selezionabili: numero di zone - quella zona già selezionata - recupero la lista come algoritmo(vedi sotto) - presento la lista di tutte le zone a seconda dei filtri (vedi sotto), suddivise per griglia area zona Filtri per il sorteggio: - Quando sorteggio recupero tutte le zone delle griglie nella distribuzione con le aree già segnate nella distribuzione selezione = distribution_grid - zones - distribution_area - Se sorteggio per griglia aleatoria allora prendo tutte le griglie nella - altrimenti filtro le griglie selezionate - Se sorteggio per filtro area aleatorio allora prendo tutte le aree nella selezione - altrimenti filtro per area selezionata Algoritmo per il reccupero del controllo da sorteggiare: - Il numero delle zone funziona da peso 1 - Costruisco un array di n posizione - n è il numero massimo di zone per quella distribuzione 2 - Ogni zona è contata m volte dove m è il suo numero di zone 3 - Estraggo un numero random dall'array appena costruito rand(0,n) 4 - Elimino il numero estratto dalla lista 5 - Ricalcolo la lista (rigenero le chiavi) 6 - Estraggo un nuovo controllo sulla base della nuova lista 7 - ripeto i punti 3 ->6 per un numero di volte pari al numero di controlli desiderati - Scrivere documento pèer farci validare l'idea di realizzazione del sorteggio controlli - Con esempi - Creare anche il form per l'immissione di un controllo Sorteggio controlli: - Nel momento in cui vengono sorteggiati i controlli, gli elementi delle griglie associate alle distribuzioni vengono scritti nella tabella checks - I controlli, in caso di più di un controllore come vengono dati? - Prevedere la possibilità di modificare il controllore per ogni controllore - Preparare la tabella dei controlli