155 lines
3.6 KiB
Java
155 lines
3.6 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++;
|
|
}
|
|
|
|
/**
|
|
* Questo metodo setta il giudizio ad un fornitore
|
|
* @param giudizio che varia da 1 a 5
|
|
*/
|
|
public void setGiudizioFornitore(int giudizio)
|
|
{
|
|
giudizioFornitore=giudizio;
|
|
}
|
|
|
|
|
|
public int getGiudizioFornitore() {
|
|
return giudizioFornitore;
|
|
}
|
|
|
|
@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 int giudizioFornitore; //Giudizio sul fornitore che varia da 1 a 5
|
|
private double prezzoBene;
|
|
private GregorianCalendar scadenza = new GregorianCalendar(99999,0,1);
|
|
private String fornitore;
|
|
private String descrizioneBene;
|
|
|
|
}
|