110 lines
2.7 KiB
Java
110 lines
2.7 KiB
Java
/*
|
|
* Decompiled with CFR 0_123.
|
|
*/
|
|
package com.zakscode.FormulaManager;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
|
|
public class Formula
|
|
extends ArrayList<ComponentQuantity>
|
|
implements Serializable,
|
|
TableArray {
|
|
private static final long serialVersionUID = 6070397926573850223L;
|
|
private String name;
|
|
private String description;
|
|
private boolean approved;
|
|
private boolean rejected;
|
|
private Date date;
|
|
private Date proofDate;
|
|
|
|
public Formula(String name, String description) {
|
|
this.name = name;
|
|
this.description = description;
|
|
this.approved = false;
|
|
this.rejected = false;
|
|
this.date = Calendar.getInstance().getTime();
|
|
this.proofDate = null;
|
|
}
|
|
|
|
public String getName() {
|
|
return this.name;
|
|
}
|
|
|
|
public void setName(String name) {
|
|
this.name = name;
|
|
this.date = Calendar.getInstance().getTime();
|
|
}
|
|
|
|
public String getDescription() {
|
|
return this.description;
|
|
}
|
|
|
|
public void setDescription(String description) {
|
|
this.description = description;
|
|
this.date = Calendar.getInstance().getTime();
|
|
}
|
|
|
|
public boolean getApproved() {
|
|
return this.approved;
|
|
}
|
|
|
|
public void setApproved(boolean approved) {
|
|
this.approved = approved;
|
|
this.proofDate = Calendar.getInstance().getTime();
|
|
}
|
|
|
|
public boolean getRejected() {
|
|
return this.rejected;
|
|
}
|
|
|
|
public void setRejected(boolean rejected) {
|
|
this.rejected = rejected;
|
|
this.proofDate = Calendar.getInstance().getTime();
|
|
}
|
|
|
|
public Date getDate() {
|
|
return this.date;
|
|
}
|
|
|
|
public Date getProofDate() {
|
|
return this.proofDate;
|
|
}
|
|
|
|
public double yield() {
|
|
double yield = 0.0;
|
|
for (ComponentQuantity cq : this) {
|
|
yield += cq.getQuantity();
|
|
}
|
|
return yield;
|
|
}
|
|
|
|
public ArrayList<ComponentQuantity> calculateForYield(double newYield) {
|
|
double yield = this.yield();
|
|
Formula newFormula = this;
|
|
for (ComponentQuantity cq : newFormula) {
|
|
cq.setQuantity(Math.round(cq.getQuantity() / yield * newYield));
|
|
}
|
|
return newFormula;
|
|
}
|
|
|
|
public void add(String component, double quantity) {
|
|
this.add(new ComponentQuantity(component, quantity));
|
|
}
|
|
|
|
@Override
|
|
public Object[] toArray() {
|
|
String status = "";
|
|
if (this.approved) {
|
|
status = "Approved";
|
|
}
|
|
if (this.rejected) {
|
|
status = "Rejected";
|
|
}
|
|
return new Object[]{this.name, this.description, this.date, status, this.proofDate};
|
|
}
|
|
}
|
|
|