= ИС Фагус == Апликативен дизајн == Кориснички сценарија === Најава на корисници Почеток на информацискиот систем не води до страна за најавување на корисници на системот. При внесување на корисничко име и лозинка и со клик на копчето Вработен или Клиент не води до Почетната Страна на најавениот корисник. [[Image(najavi_se.jpg,50%)]] Query: {{{#!sql select id_korisnik from korisnik k where k.korisnicko_ime = "username" and k.lozinka = "lozinka"; }}} {{{#!sql select * from klienti k where k.korisnicko_ime = "username" and k.lozinka = "lozinka"; }}} === Почетна страна Клиенти Почетната страна на Клиентите се состои од нарачките кои го нарачали и прогресот до каде им е нарачката. [[Image(klient_naracka.jpg,50%)]] View за процент по завршени делови: {{{#!sql select naracka_za_klient_so_vkupno_izraboteni_delovi.id_del, (naracka_za_klient_so_vkupno_izraboteni_delovi.vkupno_izraboteni_delovi/nssom.kolicina::double precision)*100 as procent_po_del from -- public.percent_per_order source CREATE OR REPLACE VIEW percent_per_order AS SELECT n2.id_naracka, n2.naslov, ffq.id_klient, ffq.procent_po_naracka FROM naracka n2 JOIN ( SELECT fq.id_naracka, fq.id_klient, avg(fq.procent_po_del) AS procent_po_naracka FROM ( SELECT naracka_za_klient_so_vkupno_izraboteni_delovi.id_del, naracka_za_klient_so_vkupno_izraboteni_delovi.id_naracka, naracka_za_klient_so_vkupno_izraboteni_delovi.id_klient, naracka_za_klient_so_vkupno_izraboteni_delovi.vkupno_izraboteni_delovi::double precision / nssom.kolicina::double precision * 100::double precision AS procent_po_del FROM ( SELECT DISTINCT n.id_naracka, d2.id_del, n.id_klient, sum(enid.br_na_zavrseni_delovi) / count(DISTINCT enn.id_evidencija) AS vkupno_izraboteni_delovi FROM evidencija_na_naracki enn JOIN evidencija_naracki_izraboteni_delovi enid ON enn.id_evidencija = enid.id_evidencija JOIN evidencija_se_odnesuva_na_mebel esonm ON enn.id_evidencija = esonm.id_evidencija JOIN mebel m2 ON esonm.id_mebel = m2.id_mebel JOIN mebel_se_sostoi_od_delovi mssod ON m2.id_mebel = mssod.id_mebel JOIN delovi d2 ON mssod.id_del = d2.id_del JOIN naracka n ON enn.id_naracka = n.id_naracka GROUP BY n.id_naracka, d2.id_del, n.id_klient) naracka_za_klient_so_vkupno_izraboteni_delovi JOIN naracka_se_sostoi_od_mebel nssom ON naracka_za_klient_so_vkupno_izraboteni_delovi.id_naracka = nssom.id_naracka) fq GROUP BY fq.id_naracka, fq.id_klient) ffq ON n2.id_naracka = ffq.id_naracka; }}} Query за сите нарачки: {{{#!sql select * from naracka n where n.id_klient = "id_od_sesija" }}} === Клиент страна за продукти Се листаат сите продукти со цена и можност за додавање во кошничка [[Image(klient_produkti.jpg,50%)]] View: {{{#!sql CREATE OR REPLACE VIEW furniture_view AS SELECT m.id_mebel, m.naziv, m.tip, m.cena FROM mebel m; }}} Со избирање на продукт креира кошничка доколку не постои и се додава селектираниот продукт во кошничката Query: {{{#!sql insert into kosnicka_se_sostoi_od_mebel(id_kosnicka,id_mebel) values(kosnicka_id,praten_selektiran_produkt_id) }}} kosnicka_id се добива од сервисниот слој во апликацијата во каде ја наоѓа моменталната кошничка на клиентот доколку не постои креира нова Потоа имаме страница за кошничка која се селектира количина на избраните продукти и се нарачува Query: {{{#!sql insert into naracka_se_sostoi_od_mebel(id_mebel,id_naracka,kolicina) values(izran_mebel,naracka_id_session,kolicina) }}} === Страна за менаџери Доколку се најави Менаџер се добива страна со сите нови нарачки со можност да се креира налог. [[Image(pocetna_menadzer.jpg,50%)]] View: {{{#!sql CREATE OR REPLACE VIEW manager_orders_view AS SELECT n.id_naracka, n.datum_napravena, n.naslov, n.opis FROM naracka n WHERE n.datum_isporacana IS NULL;; }}} === Страна за магационер Доколку се најави магационер се добива табели со сите материјали во магацинот со сите детали со можност да се внесе примање на постоечки материјал количина и издавање на постоечки материјал количина [[Image(pocetna_magacioner.jpg,50%)]] View за сите материјали: {{{#!sql CREATE OR REPLACE VIEW material_view AS SELECT m.id_materijal, m.velicina, m.naziv, m.dostapen_broj FROM materijali m; }}} Query за додавање на количина : {{{#!sql update materijali set dostapen_broj=dostapen_broj+vnesen_broj where id_materijal=id_od_materijalot_za_koj_se_dodava }}} Query за одземање на количина : {{{#!sql update materijali set dostapen_broj=dostapen_broj-vnesen_broj where id_materijal=id_od_materijalot_za_koj_se_dodava }}} === Страна доколку се најави Шеф Шефовите во системот внесуваат информации до каде е работата за дадениот налог. Почетната страна е со сите налози креирани со копче измени за секој налог на кој се додава нова информација за изработените делови [[Image(pocetna_sef.jpg,50%)]] View за наогање на сите налози: {{{#!sql CREATE OR REPLACE VIEW chief_warrant_view AS SELECT n2.id_nalog, n.id_naracka, n.naslov FROM nalozi n2 JOIN nalozi_kreira_naracka nkn ON n2.id_nalog = nkn.id_nalog JOIN naracka n ON nkn.id_naracka = n.id_naracka; }}} Откако ќе се избере налог се добива страна со избирање на машина, избирање на вработен, избирање на кој дел, и колку делови се изработени [[Image(sef_vnesuva_evidencija.jpg,50%)]] Query: {{{#!sql select * from vraboteni_vo_proizvodsvo; }}} {{{#!sql select * from mashini; }}} {{{#!sql select * from delovi; }}} {{{#!sql insert into evidencija_na_naracki(datum,id_naracka) values(to_date(now(),"MMDDYYYY"),se_zema_od_nalogot_koj_e_selektiran) }}} {{{#!sql insert into evidencija_naracki_izraboteni_delovi (id_del,id_evidencija,br_na_zavrseni_delovi) values(id_od_izbraniot_del,evidencija_id_session,brojot_na_zavrseni_delovi) }}} {{{#!sql insert into evidencija_se_odnesuva_na_mebel (id_evidencija,id_mebel) values(id_evidencija_session,izran_mebel); }}}