- 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.
141 lines
3.3 KiB
Java
141 lines
3.3 KiB
Java
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;
|
|
|
|
}
|