package cz.cvut.fel.restauracefel.hibernate;
import java.util.List;
/**
*
* @author Lukas Camra
*/
public class Kontrola extends DBEntity {
private static final long serialVersionUID = -3485621318713955438L;
private double noveMnozstvi;
private double stareMnozstvi;
private double prodanoVahou;
private Material surovina;
private Integer measurementId;
private Uzaverka uzaverka;
private double prodanoPokladnou;
private double rozdil;
private boolean valid;
public boolean isValid() {
return valid;
}
public void setValid(boolean valid) {
this.valid = valid;
}
public Uzaverka getUzaverka() {
return uzaverka;
}
public void setUzaverka(Uzaverka uzaverka) {
this.uzaverka = uzaverka;
}
public Integer getMeasurementId() {
return measurementId;
}
public void setMeasurementId(Integer measurementId) {
this.measurementId = measurementId;
}
public Material getSurovina() {
return surovina;
}
public void setSurovina(Material surovina) {
this.surovina = surovina;
}
public double getNoveMnozstvi() {
return noveMnozstvi;
}
public void setNoveMnozstvi(double noveMnozstvi) {
this.noveMnozstvi = noveMnozstvi;
}
public double getStareMnozstvi() {
return stareMnozstvi;
}
public void setStareMnozstvi(double stareMnozstvi) {
this.stareMnozstvi = stareMnozstvi;
}
public void create() {
create(this);
}
public void delete() {
delete(this);
}
public void update() {
update(this);
}
public static Kontrola findById(Integer id) {
return (Kontrola) findByIdNotDeleted("Kontrola", "measurementId", id, "isDeleted", 0);
}
public static List<Kontrola> findByUzaverka(Integer uzaverkaId) {
String query = "SELECT k FROM Kontrola k WHERE k.uzaverka.id = :id";
String[] paramNames = new String[]{"id"};
String[] paramTypes = new String[]{"Integer"};
Integer[] paramValues = new Integer[]{uzaverkaId};
List<Kontrola> res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return res;
}
public double getProdanoPokladnou() {
return prodanoPokladnou;
}
public void setProdanoPokladnou(double prodanoPokladnou) {
this.prodanoPokladnou = prodanoPokladnou;
}
public double getProdanoVahou() {
return prodanoVahou;
}
public void setProdanoVahou(double prodanoVahou) {
this.prodanoVahou = stareMnozstvi - noveMnozstvi;
}
public double getRozdil() {
this.rozdil = this.prodanoVahou - this.prodanoPokladnou;
return rozdil;
}
public void setRozdil(double rozdil) {
this.rozdil = rozdil;
}
public Material findMaterialByKontrola() {
String query = "SELECT m FROM Kontrola k JOIN k.surovina m";
String[] paramNames = new String[]{};
String[] paramTypes = new String[]{};
String[] paramValues = new String[]{};
List<Material> res = executeQuery(query, paramNames, paramTypes, paramValues);
return res.get(0);
}
}