Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Operazioni eseguibili:
1) Elenco magazzini
2) Aggiungi magazzino
3) Elimina magazzino
4) Versa Qta articolo in un magazzino
5) Preleva Qta articolo da un magazzino
6) Quantità totale di un articolo
7) Visualizza elenco magazzini da rifornire
8) Rifornisci un magazzino prelevando dagli altri
9) Visualizza articolo con quantità più alta
10) Inventario Magazzino-Articoli
11) Elenco
Articoli Magazzino
1) Elenco Magazzini
2) Ricerca Articolo nei Magazzini
0) Esci
" +nomemagaz + " e' stato eliminato.
break;
case 4:
nomemagaz = JOptionPane.showInputDialog("Inserire il codice/riferimento del magazzino:");
codiceArt = JOptionPane.showInputDialog("Inserire il codice del prodotto:");
quantita = Integer.parseInt(JOptionPane.showInputDialog ("Inserire la quantita' fornita:"));
if(!gestmag.aggiungiArticolo(nomemagaz,codiceArt,quantita))
JOptionPane.showMessageDialog(null,"Attenzione! Impossibile aggiungere articolo.");
else JOptionPane.showMessageDialog(null,"Articolo aggiunto");
break;
case 5:
nomemagaz = JOptionPane.showInputDialog("Inserire il codice/riferimento del magazzino:");
codiceArt = JOptionPane.showInputDialog("Inserire il codice del prodotto:");
quantita = Integer.parseInt(JOptionPane.showInputDialog ("Inserire la quantita' da prelevare:"));
if(!gestmag.rimuoviArticolo(nomemagaz,codiceArt,quantita))
JOptionPane.showMessageDialog(null,"Attenzione!Impossibile prelevare articolo. 21Stefano Prebianca Matricola 1294603 else JOptionPane.showMessageDialog(null,"Articolo rimosso"); break; case 6: codiceArt = JOptionPane.showInputDialog("Inserire il codice del prodotto:"); JOptionPane.showMessageDialog(null, "Sono presenti " + gestmag.totaleArticolo(codiceArt) + " pezzi dell'articolo " + codiceArt); break; case 7: String elenco = "Magazzini da rifornire:"; for(Magazzino m : gestmag.daRifornire()) elenco = elenco + "\n" + m.getMagazzino()+""+gestmag.ArticolodaRifornire(m.getMagazzino()); JOptionPane.showMessageDialog(null, elenco); break; case 8: nomemagaz = JOptionPane.showInputDialog("Inserire il codice/riferimento del magazzino da rifornire:"); codiceArt = JOptionPane.showInputDialog("Inserire il codice del prodotto:"); quantita = Integer.parseInt(JOptionPane.showInputDialog ("Inserire la quantita' da");```html
rifornire:"));gestmag.rifornisciMagazzino(nomemagaz,codiceArt,quantita);JOptionPane.showMessageDialog(null,"Magazzino rifornito");break;
case 9: JOptionPane.showMessageDialog(null,"L'articolo con quantitativomaggiore è il cod." + gestmag.stat().getCodice());break;
case 10:String Inventario = "Inventario Articoli - Magazzini:";for(Magazzino m : gestmag.elencoMagazzini())Inventario = Inventario + "\n" +m.getMagazzino()+""+gestmag.getInventarioMagazzino(m.getMagazzino());JOptionPane.showMessageDialog(null, Inventario);break;
case 11: nomemagaz = JOptionPane.showInputDialog("Inserire ilcodice/riferimento del magazzino:");Inventario ="Articoli in "+nomemagaz+ "\n"+gestmag.getInventarioMagazzino(nomemagaz);JOptionPane.showMessageDialog(null, Inventario);break;
case 12: codiceArt = JOptionPane.showInputDialog("Inserire il codicedel prodotto:"); String InventarioArtMag = "Inventario
```Articolo "+codiceArt+"Magazzini:"; for(Magazzino m : gestmag.ricercaArticoloMagazzini(codiceArt)){ InventarioArtMag = InventarioArtMag + "\n"+m.getMagazzino()+" Qta:"+gestmag.getInventarioArtMagazzino(m.getMagazzino(),codiceArt); JOptionPane.showMessageDialog(null, InventarioArtMag); break; } } //scelto di uscire il sistema salva su file di testo i dati presenti gestmag.OutputMagazziniFile(); } } Stefano Prebianca Matricola 1294603 Gestione.java import java.util.ArrayList; import java.io.FileNotFoundException; import java.io.PrintWriter; public class Gestione{ private Magazzino[] magazzini; int numMag=0; Magazzino magazzino; //inizializzo i magazzini da gestire public Gestione(int n){ magazzini = new Magazzino[n]; } //creazione del nuovo magazzino e conferma inserimento public boolean aggiungiMagazzino(String NomeMagazzino){ if(numMag == magazzini.length || trovaMagazzino(NomeMagazzino) != -1) return false; magazzino=new
Magazzino();
magazzino.setMagazzino(NomeMagazzino);
magazzini[numMag] = magazzino;
numMag++;
return true;
//ricerca magazzino
public int trovaMagazzino(String NomeMagazzino){
int result=-1;
for(int i = 0; i < numMag; i++) {
if (String.valueOf(magazzini[i].getMagazzino()).equals(NomeMagazzino))
result= i;
}
return result;
}
//eliminazione del magazzino
public boolean eliminaMagazzino(String NomeMagazzino){
int i = trovaMagazzino(NomeMagazzino);
if(i == -1) return false;
System.arraycopy(magazzini, i + 1, magazzini, i, magazzini.length -i -1);
numMag--;
return true;
}
//somma della giacenza di un articolo nei vari magazzini
public int totaleArticolo(String unCodice){
int result = 0;
23Stefano Prebianca Matricola 1294603
ArrayList<Articolo> articoli=new ArrayList<Articolo>();
for(int i = 0; i < numMag; i++){
int indiceArt = magazzini[i].trovaArticolo(unCodice);
if(indiceArt != -1) {
articoli =
magazzini[i].getArticoli();
result += Integer.parseInt(articoli.get(indiceArt).getQuantitativo());
}
}
return result;
}
//lista degli articoli presenti nei vari magazzini con relativa quantità
public int getInventarioArtMagazzino(String NomeMagazzino, String unCodice){
int result = 0;
int indiceMag = trovaMagazzino(NomeMagazzino);
System.out.println(indiceMag);
if(indiceMag != -1){
int indiceArt = magazzini[indiceMag].trovaArticolo(unCodice);
if(indiceArt != -1) {
result = Integer.parseInt(magazzini[indiceMag].getArticoli().get(indiceArt).getQuantitativo());
}
}
return result;
}
//ricerca dei magazzini dove è presente l'articolo
public ArrayList ricercaArticoloMagazzini(String unCodice){
ArrayList result = new ArrayList();
for(int i = 0; i < numMag; i++){
int indiceArt = magazzini[i].trovaArticolo(unCodice);
if(indiceArt != -1) {
result.add(magazzini[i]);
}
}
return result;
}
//lista dei magazzini con articoli con giacenza a 0
public```html
ArrayList<Magazzino> daRifornire(){
ArrayList<Magazzino> result = new ArrayList<Magazzino>();
for(int i = 0; i < numMag; i++){
boolean rifornibile = false;
ArrayList<Articolo> daControllare=new ArrayList<Articolo>();
daControllare = magazzini[i].getArticoli();
for(Articolo a : daControllare)
if(Integer.parseInt(a.getQuantitativo()) == 0)
rifornibile = true;
24Stefano Prebianca Matricola 1294603
if(rifornibile)
result.add(magazzini[i]);
}
return result;
}
//elenco degli articoli con qta 0 si un magazzino
public ArrayList<String> ArticolodaRifornire(String NomeMagazzino){
ArrayList<String> result = new ArrayList<String>();
int indiceMag = trovaMagazzino(NomeMagazzino);
String Art;
System.out.println(indiceMag);
if(indiceMag != -1){
ArrayList<Articolo> Arrart = magazzini[indiceMag].getArticoli();
for(Articolo a : Arrart){
if(Integer.parseInt(a.getQuantitativo()) == 0){
Art=a.getCodice();
result.add("Articolo "+Art);
}
}
}
return result;
}
``````html
dei magazzini gestiti
public ArrayList<Magazzino> elencoMagazzini(){
ArrayList<Magazzino> result = new ArrayList<Magazzino>();
for(int i = 0; i < numMag; i++){
result.add(magazzini[i]);
}
return result;
}
lista degli articoli presenti in un magazzino con relativa quantità
public ArrayList<String> getInventarioMagazzino(String NomeMagazzino){
ArrayList<String> result = new ArrayList<String>();
int indiceMag = trovaMagazzino(NomeMagazzino);
String Art;
int Qta;
System.out.println(indiceMag);
if(indiceMag != -1){
ArrayList<Articolo> Arrart = magazzini[indiceMag].getArticoli();
for(Articolo a : Arrart){
Art=a.getCodice();
Qta=Integer.parseInt(a.getQuantitativo());
result.add("Articolo "+Art+" Quantità:"+Qta);
}
}
return result;
}
versamento qta su un magazzino specifico prelevando dagli altri dove c'è qta
public void rifornisciMagazzino(String NomeMagazzino, String unCodice,
```
int daRifornire = trovaMagazzino(NomeMagazzino);
int daPrelevare = unQuantitativo;
if(daRifornire == -1) return;
for(int i = 0; i < numMag; i++){
if(i != daRifornire){
int trovArt = magazzini[i].trovaArticolo(unCodice);
if(trovArt != -1 && daPrelevare > 0){
int prelevato = magazzini[i].getArticoli().get(trovArt).prelevaQuantitativo(daPrelevare);
daPrelevare = daPrelevare - prelevato;
}
}
}