import java.text.SimpleDateFormat;_x000D_
import java.util.Date;_x000D_
import java.text.DateFormat;_x000D_
import java.text.ParseException;_x000D_
_x000D_
public class Medicijn {_x000D_
	_x000D_
	String merknaam;_x000D_
	String stofnaam;_x000D_
	int aantal;_x000D_
	int gewensteAantal;_x000D_
	int minimumAantal;_x000D_
	String fabrikant;_x000D_
	int prijs;_x000D_
	int kastID;	_x000D_
	String houdbaarheid;//String die de datum voorstelt in het formaat "dd-MM-yyyy' zoals sdf._x000D_
	boolean alGewaarschuwd;_x000D_
	boolean besteld;_x000D_
	_x000D_
	_x000D_
	public Medicijn(String merknaam, String stofnaam, int aantal, int gewensteAantal, int minimumAantal, String fabrikant, int prijs, int kastID, String houdbaarheid)_x000D_
	{_x000D_
		this.merknaam = merknaam;_x000D_
		this.stofnaam = stofnaam;_x000D_
		this.aantal = aantal;_x000D_
		this.gewensteAantal = gewensteAantal;_x000D_
		this.minimumAantal = minimumAantal;_x000D_
		this.fabrikant = fabrikant;_x000D_
		this.prijs = prijs;_x000D_
		this.kastID = kastID;_x000D_
		this.houdbaarheid = houdbaarheid;_x000D_
		alGewaarschuwd=false;_x000D_
	}_x000D_
	_x000D_
	public int controleerOpAantal()_x000D_
	{_x000D_
		//return 0 als er genoeg zijn, en anders hoeveel er te weinig zijn._x000D_
		if (aantal <= minimumAantal)_x000D_
		{_x000D_
			return gewensteAantal-aantal;_x000D_
		}_x000D_
		_x000D_
		else_x000D_
		{_x000D_
			return 0;_x000D_
		}_x000D_
		_x000D_
	}_x000D_
	_x000D_
	public int controleerOpBeide() throws ParseException{_x000D_
		int hoogste = 0;_x000D_
		if(controleerOpHoudbaarheid()>controleerOpAantal()) _x000D_
			hoogste = controleerOpHoudbaarheid();_x000D_
		else_x000D_
			hoogste=controleerOpAantal();_x000D_
		return hoogste;_x000D_
	}_x000D_
	_x000D_
	public int controleerOpHoudbaarheid() throws ParseException_x000D_
	{	_x000D_
		DateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");_x000D_
		Date huidig = new Date();_x000D_
		Date houdbaarheidsDatum = sdf.parse(houdbaarheid); //zet String om naar Date om deze de kunnen vergelijken met huidig._x000D_
				_x000D_
		if (huidig.after(houdbaarheidsDatum) && alGewaarschuwd==false)_x000D_
		{_x000D_
			wijzigAantal(0);		//indien niet meer houdbaar, moet het eruit en dient het programma_x000D_
									//de apotheker hiervan op de hoogte te houden._x000D_
			Log.print();_x000D_
			System.out.println("Controle houdbaarheidsdatum "+ houdbaarheid +": ");_x000D_
			Log.print();_x000D_
			System.out.println("Gelieve "+geefMerknaam()+" uit kast "+geefKastID()+" te halen.");_x000D_
			return gewensteAantal;	//Voorraadbeheer zal het gewensteAantal doorgeven in "besmedlist" om te bestellen._x000D_
		}_x000D_
		else 	_x000D_
		{_x000D_
			return 0;	//in alle andere gevallen wel houdbaar_x000D_
		}_x000D_
		_x000D_
	}_x000D_
	_x000D_
	_x000D_
	public String geefMerknaam(){_x000D_
		return merknaam;_x000D_
	}_x000D_
	_x000D_
	public int geefKastID()_x000D_
	{_x000D_
		return kastID;_x000D_
	}_x000D_
	_x000D_
	public void wijzigMerknaam(String merknaam)_x000D_
	{_x000D_
		this.merknaam = merknaam;	_x000D_
	}_x000D_
	_x000D_
	public void wijzigStofnaam(String stofnaam)_x000D_
	{_x000D_
		this.stofnaam = stofnaam;	_x000D_
	}_x000D_
	_x000D_
	public void wijzigPlaatsBepaling(int kastID)_x000D_
	{_x000D_
		this.kastID = kastID;_x000D_
	}_x000D_
	_x000D_
	public void wijzigAantal(int aantal)_x000D_
	{_x000D_
		this.aantal = aantal;_x000D_
	}_x000D_
	_x000D_
	public void wijzigGewensteAantal(int aantal)_x000D_
	{_x000D_
		gewensteAantal = aantal;_x000D_
	}_x000D_
	_x000D_
	public void wijzigMinimumAantal(int aantal)_x000D_
	{_x000D_
		minimumAantal = aantal;_x000D_
	}_x000D_
	_x000D_
	public void wijzigFabrikant(String fabrikant)_x000D_
	{_x000D_
		this.fabrikant = fabrikant;_x000D_
	}_x000D_
	_x000D_
	public void wijzigPrijs(int prijs)_x000D_
	{_x000D_
		this.prijs = prijs;_x000D_
	}_x000D_
	_x000D_
	public void vermeerderMedicijnAantal(int vermeerder)_x000D_
	{_x000D_
		aantal = aantal + vermeerder;_x000D_
	}_x000D_
	_x000D_
}_x000D_

//return 0 als er genoeg zijn, en anders hoeveel er te weinig zijn._x000D_
import java.text.SimpleDateFormat;_x000D_
import java.util.Date;_x000D_
import java.text.DateFormat;_x000D_
import java.text.ParseException;_x000D_
_x000D_
public class Medicijn {_x000D_
	_x000D_
	String merknaam;_x000D_
	String stofnaam;_x000D_
	int aantal;_x000D_
	int gewensteAantal;_x000D_
	int minimumAantal;_x000D_
	String fabrikant;_x000D_
	int prijs;_x000D_
	int kastID;	_x000D_
	String houdbaarheid;//String die de datum voorstelt in het formaat "dd-MM-yyyy' zoals sdf._x000D_
	boolean alGewaarschuwd;_x000D_
	boolean besteld;_x000D_
	_x000D_
	_x000D_
	public Medicijn(String merknaam, String stofnaam, int aantal, int gewensteAantal, int minimumAantal, String fabrikant, int prijs, int kastID, String houdbaarheid)_x000D_
	{_x000D_
		this.merknaam = merknaam;_x000D_
		this.stofnaam = stofnaam;_x000D_
		this.aantal = aantal;_x000D_
		this.gewensteAantal = gewensteAantal;_x000D_
		this.minimumAantal = minimumAantal;_x000D_
		this.fabrikant = fabrikant;_x000D_
		this.prijs = prijs;_x000D_
		this.kastID = kastID;_x000D_
		this.houdbaarheid = houdbaarheid;_x000D_
		alGewaarschuwd=false;_x000D_
	}_x000D_
	_x000D_
	public int controleerOpAantal()_x000D_
	{_x000D_
		//return 0<SUF>
		if (aantal <= minimumAantal)_x000D_
		{_x000D_
			return gewensteAantal-aantal;_x000D_
		}_x000D_
		_x000D_
		else_x000D_
		{_x000D_
			return 0;_x000D_
		}_x000D_
		_x000D_
	}_x000D_
	_x000D_
	public int controleerOpBeide() throws ParseException{_x000D_
		int hoogste = 0;_x000D_
		if(controleerOpHoudbaarheid()>controleerOpAantal()) _x000D_
			hoogste = controleerOpHoudbaarheid();_x000D_
		else_x000D_
			hoogste=controleerOpAantal();_x000D_
		return hoogste;_x000D_
	}_x000D_
	_x000D_
	public int controleerOpHoudbaarheid() throws ParseException_x000D_
	{	_x000D_
		DateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");_x000D_
		Date huidig = new Date();_x000D_
		Date houdbaarheidsDatum = sdf.parse(houdbaarheid); //zet String om naar Date om deze de kunnen vergelijken met huidig._x000D_
				_x000D_
		if (huidig.after(houdbaarheidsDatum) && alGewaarschuwd==false)_x000D_
		{_x000D_
			wijzigAantal(0);		//indien niet meer houdbaar, moet het eruit en dient het programma_x000D_
									//de apotheker hiervan op de hoogte te houden._x000D_
			Log.print();_x000D_
			System.out.println("Controle houdbaarheidsdatum "+ houdbaarheid +": ");_x000D_
			Log.print();_x000D_
			System.out.println("Gelieve "+geefMerknaam()+" uit kast "+geefKastID()+" te halen.");_x000D_
			return gewensteAantal;	//Voorraadbeheer zal het gewensteAantal doorgeven in "besmedlist" om te bestellen._x000D_
		}_x000D_
		else 	_x000D_
		{_x000D_
			return 0;	//in alle andere gevallen wel houdbaar_x000D_
		}_x000D_
		_x000D_
	}_x000D_
	_x000D_
	_x000D_
	public String geefMerknaam(){_x000D_
		return merknaam;_x000D_
	}_x000D_
	_x000D_
	public int geefKastID()_x000D_
	{_x000D_
		return kastID;_x000D_
	}_x000D_
	_x000D_
	public void wijzigMerknaam(String merknaam)_x000D_
	{_x000D_
		this.merknaam = merknaam;	_x000D_
	}_x000D_
	_x000D_
	public void wijzigStofnaam(String stofnaam)_x000D_
	{_x000D_
		this.stofnaam = stofnaam;	_x000D_
	}_x000D_
	_x000D_
	public void wijzigPlaatsBepaling(int kastID)_x000D_
	{_x000D_
		this.kastID = kastID;_x000D_
	}_x000D_
	_x000D_
	public void wijzigAantal(int aantal)_x000D_
	{_x000D_
		this.aantal = aantal;_x000D_
	}_x000D_
	_x000D_
	public void wijzigGewensteAantal(int aantal)_x000D_
	{_x000D_
		gewensteAantal = aantal;_x000D_
	}_x000D_
	_x000D_
	public void wijzigMinimumAantal(int aantal)_x000D_
	{_x000D_
		minimumAantal = aantal;_x000D_
	}_x000D_
	_x000D_
	public void wijzigFabrikant(String fabrikant)_x000D_
	{_x000D_
		this.fabrikant = fabrikant;_x000D_
	}_x000D_
	_x000D_
	public void wijzigPrijs(int prijs)_x000D_
	{_x000D_
		this.prijs = prijs;_x000D_
	}_x000D_
	_x000D_
	public void vermeerderMedicijnAantal(int vermeerder)_x000D_
	{_x000D_
		aantal = aantal + vermeerder;_x000D_
	}_x000D_
	_x000D_
}_x000D_
