SELECT id, name FROM items WHERE id IN (SELECT item FROM current_items) ORDER BY name
0) {
expected.text = Number(query.value(0)) * 100;
} else {
expected.text = "";
}
if(query.value(1).length > 0) {
tolerance.text = Number(query.value(1)) * 100;
} else {
tolerance.text = "";
}
notes.plainText = query.value(2);
} else {
expected.text = "";
tolerance.text = "";
notes.plainText = "";
}
query.prepare("SELECT (unroasted_total_quantity - roasted_quantity)/unroasted_total_quantity AS loss FROM roasting_log WHERE roasted_id = :id1 AND unroasted_id = (SELECT unroasted_id FROM roasting_log WHERE time = (SELECT max(time) FROM roasting_log WHERE roasted_id = :id2) AND roasted_id = :id3) AND approval = true ORDER BY loss ASC");
query.bind(":id1", selector.currentData());
query.bind(":id2", selector.currentData());
query.bind(":id3", selector.currentData());
query.exec();
var buffer = new QBuffer;
buffer.open(3);
var output = new XmlWriter(buffer);
output.writeStartDocument("1.0");
output.writeDTD('');
output.writeStartElement("svg");
output.writeAttribute("width", "40");
output.writeAttribute("height", "320");
output.writeStartElement("g");
output.writeAttribute("stroke", "black");
output.writeAttribute("stroke-width", "2");
output.writeStartElement("line");
output.writeAttribute("x1", "15");
output.writeAttribute("x2", "25");
output.writeAttribute("y1", "278.25");
output.writeAttribute("y2", "278.26");
output.writeTextElement("title", "17.71");
output.writeEndElement();
output.writeStartElement("line");
output.writeAttribute("x1", "20");
output.writeAttribute("x2", "20");
output.writeAttribute("y1", "278.25");
output.writeAttribute("y2", "247.5");
output.writeEndElement();
output.writeStartElement("line");
output.writeAttribute("x1", "10");
output.writeAttribute("x2", "30");
output.writeAttribute("y1", "247.5");
output.writeAttribute("y2", "247.5");
output.writeEndElement();
output.writeEndElement();
output.writeEndElement();
output.writeEndDocument();
boxplot.loadDevice(buffer);
buffer.close();
query = query.invalidate();
};
updateDisplay();
selector['currentIndexChanged(int)'].connect(function() {
updateDisplay();
});
savebutton.clicked.connect(function() {
var query = new QSqlQuery();
var columnspec = "time, item, ";
var valuespec = "'now', :id, ";
if(expected.text.length > 0) {
columnspec += "loss, ";
valuespec += ":loss, ";
}
if(tolerance.text.length > 0) {
columnspec += "tolerance, ";
valuespec += ":tolerance, ";
}
columnspec += "notes";
valuespec += ":notes";
query.prepare("INSERT INTO roasting_specification (" + columnspec + ") VALUES (" + valuespec + ")");
query.bind(":id", selector.currentData());
if(expected.text.length > 0) {
query.bind(":loss", Number(expected.text) / 100);
}
if(tolerance.text.length > 0) {
query.bind(":tolerance", Number(tolerance.text) / 100);
}
query.bind(":notes", notes.plainText);
query.exec();
window.close();
});
]]>