[ antraks @ 09.02.2016. 13:49 ] @
Radim projektni zadatak iz jave ali sam zapeo. Pa ako moze neko da mi pomogne. Sve mi se sada pomijesalo. Ne znam kako da sve to uradim, na koji nacin. Najveci problem mi je oko niti (thread). Tu sam zapeo. Na koji nacin da uradim niti u zadatku? Ja sam napravio klasu Masina koja nasljeduje Thread. Pa sam kasnije napravio nekoliko drugih masina koje nasljedjuju masinu. Zamislio sam tako da mi je svaka masina nit i da se mogu kreirati samo te 4 masine (u tekstu pise koje su to) i da one stalno rade i prave stolariju i da sve nove narudzbe cekaju da se zavrsi prethodna proizvodnja. Ali ne znam kako to da implementiram. Posto je u pitanju i klijent server aplikacija iskoristio sam sablon koji smo radili. Ako mozete da mi pomognete bio bih zahvalan. Hocu da savladam ovo jer me ova logika oko niti vec duze vrijeme buni. Ovdje je moj kod koji sam ja radio. Imam nekoliko verzija ali ovaj sam zadnji napisao. http://speedy.sh/mQxMn/Fabrika.rar Ovo je tekst projektnog zadatka. Citat: Fabrika proizvodi PVC i drvenu stolariju (vrata i prozore). Proizvodnja se obavlja na različitim mašinama: mašina za izradu konstrukcije, mašina za pravljenje stakla i mašina za pravljenje mehanizma za otvaranje. Svaka mašina ima svoju oznaku i brzinu izrade jednog proizvoda. Vrijeme izrade drvene konstrukcije je 3 sekunde, PVC 4 sekunde, stakla 5 sekundi, a mehanizma za otvaranje 2 sekunde. U fabrici postoji jedna mašina koja pravi samo drvenu konstrukciju i jedna koja pravi samo PVC konstrukciju, dok ostale vrste mašina mogu da prave dijelove za obe vrste stolarije, a fabrika ima po jednu takvu mašinu. Proizvodnja stolarije se vrši po narudžbi. Na osnovu narudžbe istovremeno se prave dijelovi proizvoda, koji se potom sastavljaju pomoću mašine za sastavljanje. U fabrici postoji samo jedna takva mašina. Sastavljanje proizvoda traje 3 sekunde. Na mašinama se raspoređuju proizvodnje onim redoslijedom kako pristižu zahtjevi. Mašine za izradu stakla i mehanizma za otvaranje imaju mogućnost testiranja napravljenih proizvoda. Proces proizvodnje bi se sastojao iz sljedećih faza: 1. Pravljenje konstrukcije 2. Pravljenje stakla 3. Testiranje stakla 4. Pravljenje mehanizma za otvaranje 5. Testiranje mehanizma za otvaranje 6. Sastavljanje proizvoda Faze 1, 2 i 4 se pokreću istovremeno. Faza 3 se pokreće nakon faze 2, a faza 5 nakon faze 4. Kada se faze od 1 do 5 završe, pokreće se faza 6. U svakoj fazi kreira se odgovarajući poluproizvod. Kod određenog tipa vrata staklo ne postoji, pa se faze 2 i 3 ne izvršavaju. Svaki proizvod ima dimenzije (visina, širina), vrstu materijala, serijski broj, datum i vrijeme kreiranja, kao i poluproizvode iz kojih se sastoji. Svaki poluproizvod (mehanizam za otvaranje, staklo i konstrukcija) ima svoj serijski broj. Vrata mogu imati staklo, a prozori mogu imati roletne. Prozori mogu imati i rešetke, a mogu se sastojati iz jednog ili dva prozorska krila. Roletne mogu biti iz jednog ili dva dijela, a na prozore se mogu naknadno dodavati. Postoji mogućnost da vrata i prozor budu spojeni u jedan element. Posebna vrsta vrata koja se proizvodi su sigurnosna vrata koja posjeduju dodatni mehanizam zaključavanja. Krovni prozori imaju deblja stakla i mehanizam prilagođen otvaranju prozora koji se nalazi na krovnoj kosini. Posebna vrsta prozora koje fabrika proizvodi su šajbe za izloge, koje se mogu sastojati iz više dijelova. Svi prozori mogu imati jedno, dva ili tri stakla. Na drvena vrata se može dodati željezna rešetka. Fabrika ima svoje tri filijale sa kojima komunicira preko mreže. Pomoću klijentske aplikacije filijale mogu se naručiti proizvodi izborom proizvoda iz liste i unosom količine koja se kupuje. Narudžba se šalje fabrici gdje se pokreće proizvodnja. Svaka proizvodnja ima radni nalog koji čuva podatke o proizvodima koji se prave, mašinama koje se koriste i vremenima početka i završetka proizvodnje. Naloge čuvati proizvoljno. Potrebno je voditi evidenciju na kojoj mašini je kreiran neki proizvod ili poluproizvod, kao i podatke koji nalozi su u realizaciji, a koji su završeni. Ove podatke čuvati u tekstualnim datotekama. Ukoliko je mašina zauzeta u trenutku kreiranja proizvodnog naloga, potrebno je nalog staviti u red za čekanje i početi sa realizacijom kada se oslobodi mašina. Kada se naprave svi proizvodi oni se šalju pojedinačno kao objekti preko mreže filijalama, a spisak proizvoda koji su poslani i jedinstveni broj proizvodnje (narudžbe) se zapisuju u tekstualni fajl, koji se kao ZIP arhiva šalje filijali preko mreže. Kada filijala dobije ZIP arhivu sa spiskom proizvoda, ona je raspakuje i čita jedinstveni broj proizvodnje. Na osnovu ovog broja se kreira folder u koji se serijalizuju dobijeni proizvodi. Kada kupac preuzme proizvode oni se uklanjaju iz foldera. Na klijentskoj aplikaciji, osim opcije za naručivanje proizvoda, treba da postoji i opcija za pregled proizvoda koje fabrika može da proizvede. Fabrika treba da prikaže meni sa opcijama za pregled aktvinih proizvodnji (ispisati i proizvode i mašinu na kojoj se proizvode), pregled završenih proizvodnji i pregled narudžbi koje čekaju početak proizvodnje. Potrebno je omogućiti računanje vremena rada svake mašine. Fabrika vodi evidenciju koja filijala je izvšila najviše narudžbi. Ukoliko jedna filijala ne izvrši narudžbu za dvije minute, tada fabrika šalje poruku upozorenja da se poboljša prodaja |