====== OEE Competition ====== I seguenti moduli software hanno l'obiettivo di gestire l'OEE Competition. La richiesta è stata quella di mostrare sull'Andon Board di ogni linea di un determinato dipartimento, i valori in tempo reale (relativi al turno corrente) dei pezzi prodotti e degli scarti, sia per linea che per dipartimento. Inoltre, questi valori vanno confrontati con delle soglie (per linea e dipartimento) preconfigurate tramite inserimento manuale in una pagina dell'applicazione. Quindi i dati da mostrare sono: - pezzi prodotti del turno corrente della linea - soglia pezzi prodotti per turno della linea - scarti prodotti del turno corrente della linea - soglia scarti per turno della linea - pezzi prodotti del turno corrente del dipartimento - soglia pezzi prodotti per turno del dipartimento - scarti prodotti per turno del dipartimento - soglia scarti per turno del dipartimento I dati devono essere registrati per turno e accessibili successivamente tramite nuova pagina dell'applicazione. Un esempio dei grafici da mostrare sull'Andon Board (vanno gestiti anche i colori dello sfondo o dei grafici): {{:cli:franke:andon.png?1200|}} Da sviluppare: - analizzare come recuperare i dati di pezzi prodotti e scarti del turno, per linea e dipartimento (già esistente o da sviluppare??) - aggiungere una tabella delle soglie di pezzi e scarti per ubicazione - aggiungere la possibilità di valorizzare i dati della tabella tramite GUI - registrare i dati di pezzi prodotti e scarti per linea e per dipartimento, ogni turno: registrare anche i valori delle soglie in modo che i dati siano utilizzabili anche in un secondo momento, anche se le soglie cambiano Un esempio di un set di dati da visualizzare per giorno/mese (in base alla selezione delle date): {{:cli:franke:tabella1.png?1200|}} ===== Configurazioni aggiuntive database ===== CREATE TABLE public.thresholds ( codubi character varying(51), codturnidet character varying(51), thnp1 double precision, thnp2 double precision, ths1 double precision, ths2 double precision ); COMMENT ON COLUMN public.thresholds.codubi IS '1:1 ubicaz.codice'; COMMENT ON COLUMN public.thresholds.codturnidet IS '1:1 turnidet.codice'; COMMENT ON COLUMN public.thresholds.thnp1 IS 'soglia pezzi 1'; COMMENT ON COLUMN public.thresholds.thnp2 IS 'soglia pezzi 2'; COMMENT ON COLUMN public.thresholds.ths1 IS 'soglia scarti 1'; COMMENT ON COLUMN public.thresholds.ths2 IS 'soglia scarti 2'; ALTER TABLE ONLY public.thresholds ADD CONSTRAINT uq_codubi_codturnidet UNIQUE (codubi, codturnidet); ==== Esempio estrazione dati per configurazione soglie ==== select ubicaz.codice, ubicaz.descrizio, ubicaz.codubib, u2.descrizio as dubib, concat_pipe(ubicaz.codturno||';'||turni.descrizio||';'||turnidet.codice||';'||turnidet.descrizio||';'||turnidet.orainsec||';'||turnidet.durata||';'||thresholds.thnp1||';'||thresholds.ths1) as info from ubicaz left join ubicaz u2 on ubicaz.codubib = u2.codice left join turni on ubicaz.codturno = turni.codice join turnidet on turni.codice = turnidet.codturno left join thresholds on ubicaz.codice = thresholds.codubi and turnidet.codice = thresholds.codturnidet where ubicaz.tiposet = 'P' group by ubicaz.codice, ubicaz.descrizio, ubicaz.codubib, u2.descrizio order by ubicaz.codice, ubicaz.descrizio