Creazione Classi:

- PrestazioniDopera2 (Attributi+Metodi setter/getter)

Aggiunti gli attributi richiesti alla classe BeniDiConsumo2

Implementate le politiche di sconto generiche per gli articoli con scadenza nell'ultima settimana
Implementata scadenza specifica per le Cene.
This commit is contained in:
Simone Argenziano
2014-01-10 21:29:56 +01:00
parent f35c37ae4e
commit d311e18b12
5 changed files with 553 additions and 0 deletions

View File

@@ -0,0 +1,140 @@
package it.unisa.info13d.Articoli;
import java.io.Serializable;
import java.util.GregorianCalendar;
/**
* Created with MONSTER.
* User: xgiovio
* Date: 16/12/13
* Time: 18.46
*/
/**
*
* Classe che rappresenta un bene di consumo all'interno del catalogo.
*
*/
public class BeniDiConsumo2 extends Utilizzabile2 implements Utilizzabile, Serializable {
/**
* Costruttore che inizializza i valori del bene di consumo
*
* @param idBene
* @param descrizioneBene
* @param prezzoBene
* @param beniInStock
*/
public BeniDiConsumo2 ( int idBene, String descrizioneBene, double prezzoBene, int beniInStock ){
this.idBene=idBene;
this.descrizioneBene=descrizioneBene;
this.prezzoBene=prezzoBene;
this.beniInStock=beniInStock;
}
@Override
public boolean eAcquistabile() {
if(beniVenduti<beniInStock)
return true;
return false;
}
/**
* @return - id bene
*/
public int getIdBene() {
return idBene;
}
/**
* @return - descrizione bene
*/
public String getDescrizioneBene() {
return descrizioneBene;
}
/**
* @return - prezzo del bene
*/
public double getPrezzoBene() {
return prezzoBene;
}
/**
* @return - la quantita dei beni da vendere
*/
public int getBeniInStock() {
return beniInStock;
}
/**
* @return - numero di oggetti venduti
*/
public int getBeniVenduti() {
return beniVenduti;
}
/**
* @param descrizioneBene - descrizione del bene
*/
public void setDescrizioneBene(String descrizioneBene) {
this.descrizioneBene = descrizioneBene;
}
/**
* @param prezzoBene - prezzo del bene
*/
public void setPrezzoBene(double prezzoBene) {
this.prezzoBene = prezzoBene;
}
/**
* @param beniInStock - quantita' del bene disponibile per la vendita
*/
public void setBeniInStock(int beniInStock) {
this.beniInStock = beniInStock;
}
/**
* @return - la scadenza del bene (viene considerata una data a lungo termine)
*/
public GregorianCalendar getScadenza() {
return scadenza;
}
/**
* Questo metodo setta i beni venduti, decrementa la quantita in magazzino e incrementa il numero di oggeti venduti
*/
public void setBeniVenduti() {
beniInStock--;
beniVenduti++;
}
@Override
public double get_prezzo_scontato() {
GregorianCalendar dataOdierna = new GregorianCalendar(2008, 11, 18);
long milliseconds1 = dataOdierna.getTimeInMillis();
long milliseconds2 = scadenza.getTimeInMillis();
long diff = milliseconds2 - milliseconds1;
long diffGiorni = diff / (24 * 60 * 60 * 1000); //differenza in giorni
if( diffGiorni>=7 )
return prezzoBene*0.10; //Prezzo scontato del 10%
else
return prezzoBene; //Nessuno sconto applicabile
}
private int idBene;
private int beniInStock; //Numero totale di prodotti da vendere
private int beniVenduti; //Numero di prodotti venduti
private double prezzoBene;
private double giudizioFornitore; //Giudizio sul fornitore che varia da 1 a 5
private GregorianCalendar scadenza = new GregorianCalendar(99999,0,1);
private String fornitore;
private String descrizioneBene;
}