In questo nuovo post sulle funzionalità ed uso di Oracle Apex ho implementato una semplice web application per la gestione della raccolta Differenziata. Ci ritroviamo quotidianamente a chiederci come debbano esssere differenziati i vari tipi di rifiuti che quotidianamente vengono prodotti e spesso siamo assaliti da dubbi amletici per capire quel tipo di rifiuto come dev'essere differenziato e quindi in quale 'contenitore' dev'essere riposto allora grazie all'uso del web effettuiamo ricerche di pagine web per avere una risposta. Questa semplice web application censisce un numero (censimento work-in-progress) di 'rifiuti' e indica quale sia la modalità di 'differenziare' più idonea.
Creiamo quindi la nostra semplice web appllication GestDifferenziata e definiamo due nuove pagine al suo interno.
Avremo la pagina 1 che chiameremo P_RicercaRifiuto, sarà di tipo page blank con all'interno una region html R_RicercaRifiuto nella quale definiamo il text item P1_RIFIUTO che sarà di tipo autocomplete Fig.1:
|
Fig.1
Questo text_field sarà valorizzato con le tipologie di rifiuti censiti nella relativa tabella del DB. Ad esempio si potrebbe creare una semplice tabella come la seguente(chiaramente si possono creare più tabelle e relazionarle,etc):
CREATE TABLE "RIFIUTI"
("ID_RIFIUTO" NUMBER NOT NULL ENABLE,
"DESCRIZIONE" VARCHAR2(100) NOT NULL ENABLE,
"TIPOLOGIA_RIFIUTO" VARCHAR2(50) NOT NULL ENABLE,
"CONTENITORE" VARCHAR2(50) NOT NULL ENABLE)
In tal caso avremmo una sola tabella nella quale censiremo la tipologia di rifiuto con relativo Id e descrizione, le categorie dei rifiuti (Organico, carta, indifferenziata, etx) ed il contenitore in cui dev'essere differenziato (Bianco - Carta; Marrone - Organico; Blu - Multi-materiale; Verde - Vetro).
Sempre all'interno della region R_RicercaRifiuto definiamo anche un button region P1_CERCA, che una volta valorizzato il text field P1_RIFIUTO, avrà come action Fig.2 quella del submit della pagina P_RicercaRifiuto che punterà al link definito attraverso il branches p_6 (Fig. 3) della sezione Page Processing.
|
|
Fig. 2
|
|
Fig. 3
|
|
Fig. 4 |
Il branches P_6 non avrà altro che la funzione di invocare la pagina 6 (vedremo in seguito che sarà una pagina di tipo report) passando il parametro p1_rifiuto della page 1 che valorizzerà il data field IT_6 nella page 6 (Fig. 4).
Creiamo infine la pagina 6 P_GestDiff dove sarà mostrato il risultato di come differenziare il rifiuto cercato nella pagina 1.
|
Fig. 5 |
P_GestDiff sarà quindi di tipo report, all'interno avremo il data filed di tipo hidden IT_6 che riceve il valore di parametro P1_RIFIUTO passato nel branches P_6. _Il data field IT_6 sarà quindi usato nella query del report R_GesDiff presente nella page 6 (Fig. 5).
Infine nella Fig.6 è evidenziata la semplice query di ricerca che utilizziamo nel report R_GesDiff con l'uso del parametro hidden IT_6(che avrà il valore di P1_RIFIUTO per via del passaggio di parametro effettuato attraverso il branches P_6) nella where condition della Sql Query.
Infine nelle figure 7 e 8 l'esecuzione della web application con la ricerca del rifiuto e il risultato di come differenziarlo
|
Fig. 6 |
|
Fig. 7 |
|
Fig. 8 |
Qui è visualizzabile la semplice web application GestDifferenziata, spero nel corso del tempo di renderla più appetibile come veste grafica e censire più rifiuti possibili.
Al prox post su Oracle Apex.
Salvatore Bartucci