Files
project-unisa-for-shop-mana…/it/unisa/info13d/Articoli/BeniDiConsumo2.java

151 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 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, String in_fornitore, int in_giudizio ){
this.idBene=idBene;
this.descrizioneBene=descrizioneBene;
this.prezzoBene=prezzoBene;
this.beniInStock=beniInStock;
this.giudizioFornitore = in_giudizio;
this.fornitore = in_fornitore;
}
@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++;
}
public int getGiudizioFornitore() {
return giudizioFornitore;
}
public String getFornitore() {
return fornitore;
}
@Override
public double get_prezzo_scontato() {
GregorianCalendar dataOdierna = new GregorianCalendar();
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 - (prezzoBene*0.10) ; //Prezzo scontato
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;
}