src/database/db_product.cpp

Sat, 08 Jun 2024 15:54:30 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 08 Jun 2024 15:54:30 +0200
changeset 527
84091b9cb800
parent 526
3b9abdae181e
permissions
-rw-r--r--

Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.

248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * db_product.cpp is part of bmsapp.
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 #include "global.h"
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 #include "db_product.h"
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 bool DB_product::load(Product *prod, QDialog *dialog, int recno)
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 QSqlQuery query, yquery;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 query.prepare("SELECT * FROM products WHERE record = :recno");
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 query.bindValue(":recno", recno);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 query.exec();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 if (! query.first()) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
30 qWarning() << "loadProduct seek error record" << recno;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 QMessageBox::warning(dialog, QObject::tr("Database error"), QObject::tr("MySQL error: record %1 not found").arg(recno));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 dialog->done(QDialog::Rejected); // At this stage, this doesn't work because the dialog is not yet visible.
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 return false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
36 // QSqlRecord rec = query.record();
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
37 // for (int i = 0; i < rec.count(); i++)
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
38 // qDebug() << i << rec.fieldName(i) << query.value(i);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 prod->record = query.value("record").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 prod->uuid = query.value("uuid").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 prod->name = query.value("name").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 prod->code = query.value("code").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 prod->birth = query.value("birth").toDate();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 prod->stage = query.value("stage").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 prod->notes = query.value("notes").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 prod->log_brew = query.value("log_brew").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 prod->log_fermentation = query.value("log_fermentation").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 prod->log_ispindel = query.value("log_ispindel").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 prod->log_co2pressure = query.value("log_co2pressure").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 prod->inventory_reduced = query.value("inventory_reduced").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 prod->locked = query.value("locked").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 prod->eq_name = query.value("eq_name").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 prod->eq_notes = query.value("eq_notes").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 prod->eq_boil_size = query.value("eq_boil_size").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 prod->eq_batch_size = query.value("eq_batch_size").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 prod->eq_tun_volume = query.value("eq_tun_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 prod->eq_tun_weight = query.value("eq_tun_weight").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 prod->eq_tun_specific_heat = query.value("eq_tun_specific_heat").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 prod->eq_tun_material = query.value("eq_tun_material").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 prod->eq_tun_height = query.value("eq_tun_height").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 prod->eq_top_up_water = query.value("eq_top_up_water").toDouble();
458
ac216a75ca9b Renamed trub_chiller_loss fields to trub_loss
Michiel Broek <mbroek@mbse.eu>
parents: 433
diff changeset
64 prod->eq_trub_loss = query.value("eq_trub_loss").toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 prod->eq_evap_rate = query.value("eq_evap_rate").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 prod->eq_boil_time = query.value("eq_boil_time").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 prod->eq_top_up_kettle = query.value("eq_top_up_kettle").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 prod->eq_lauter_deadspace = query.value("eq_lauter_deadspace").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 prod->eq_kettle_volume = query.value("eq_kettle_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 prod->eq_kettle_height = query.value("eq_kettle_height").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 prod->eq_mash_volume = query.value("eq_mash_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 prod->eq_mash_max = query.value("eq_mash_max").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 prod->eq_efficiency = query.value("eq_efficiency").toDouble();
423
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
74 prod->eq_chiller_type = query.value("eq_chiller_type").toInt();
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
75 prod->eq_chiller_to79 = query.value("eq_chiller_to79").toDouble();
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
76 prod->eq_chiller_volume = query.value("eq_chiller_volume").toDouble();
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
77 prod->eq_chiller_lpm = query.value("eq_chiller_lpm").toDouble();
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
78 prod->eq_chiller_loss = query.value("eq_chiller_loss").toDouble();
527
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
79 prod->eq_HLT_volume = query.value("eq_HLT_volume").toDouble();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
80 prod->eq_HLT_deadspace = query.value("eq_HLT_deadspace").toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 prod->brew_date_start = query.value("brew_date_start").toDateTime();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 prod->brew_mash_ph = query.value("brew_mash_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 prod->brew_mash_sg = query.value("brew_mash_sg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 prod->brew_mash_efficiency = query.value("brew_mash_efficiency").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 prod->brew_sparge_temperature = query.value("brew_sparge_temperature").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 prod->brew_sparge_volume = query.value("brew_sparge_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 prod->brew_sparge_est = query.value("brew_sparge_est").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 prod->brew_sparge_ph = query.value("brew_sparge_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 prod->brew_preboil_volume = query.value("brew_preboil_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 prod->brew_preboil_sg = query.value("brew_preboil_sg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 prod->brew_preboil_ph = query.value("brew_preboil_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 prod->brew_preboil_efficiency = query.value("brew_preboil_efficiency").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 prod->brew_aboil_volume = query.value("brew_aboil_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 prod->brew_aboil_sg = query.value("brew_aboil_sg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 prod->brew_aboil_ph = query.value("brew_aboil_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 prod->brew_aboil_efficiency = query.value("brew_aboil_efficiency").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 prod->brew_cooling_method = query.value("brew_cooling_method").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 prod->brew_cooling_time = query.value("brew_cooling_time").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 prod->brew_cooling_to = query.value("brew_cooling_to").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 prod->brew_whirlpool9 = query.value("brew_whirlpool9").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 prod->brew_whirlpool7 = query.value("brew_whirlpool7").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 prod->brew_whirlpool6 = query.value("brew_whirlpool6").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 prod->brew_whirlpool2 = query.value("brew_whirlpool2").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 prod->brew_fermenter_volume = query.value("brew_fermenter_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 prod->brew_fermenter_extrawater = query.value("brew_fermenter_extrawater").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 prod->brew_fermenter_tcloss = query.value("brew_fermenter_tcloss").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 prod->brew_aeration_time = query.value("brew_aeration_time").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 prod->brew_aeration_speed = query.value("brew_aeration_speed").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 prod->brew_aeration_type = query.value("brew_aeration_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 prod->brew_fermenter_sg = query.value("brew_fermenter_sg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 prod->brew_fermenter_ibu = query.value("brew_fermenter_ibu").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 prod->brew_fermenter_color = query.value("brew_fermenter_color").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 prod->brew_date_end = query.value("brew_date_end").toDateTime();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 prod->og = query.value("og").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 prod->fg = query.value("fg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 prod->primary_start_temp = query.value("primary_start_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 prod->primary_max_temp = query.value("primary_max_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 prod->primary_end_temp = query.value("primary_end_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 prod->primary_end_sg = query.value("primary_end_sg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122 prod->primary_end_date = query.value("primary_end_date").toDate();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 prod->secondary_temp = query.value("secondary_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 prod->secondary_end_sg = query.value("secondary_end_sg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 prod->secondary_end_date = query.value("secondary_end_date").toDate();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 prod->tertiary_temp = query.value("tertiary_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128 prod->package_date = query.value("package_date").toDate();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 prod->package_volume = query.value("package_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 prod->package_infuse_amount = query.value("package_infuse_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 prod->package_infuse_abv = query.value("package_infuse_abv").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 prod->package_infuse_notes = query.value("package_infuse_notes").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 prod->package_abv = query.value("package_abv").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 prod->package_ph = query.value("package_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 prod->bottle_amount = query.value("bottle_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 prod->bottle_carbonation = query.value("bottle_carbonation").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 prod->bottle_priming_sugar = query.value("bottle_priming_sugar").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 prod->bottle_priming_amount = query.value("bottle_priming_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 prod->bottle_priming_water = query.value("bottle_priming_water").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 prod->bottle_carbonation_temp = query.value("bottle_carbonation_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 prod->keg_amount = query.value("keg_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 prod->keg_carbonation = query.value("keg_carbonation").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 prod->keg_priming_sugar = query.value("keg_priming_sugar").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146 prod->keg_priming_amount = query.value("keg_priming_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147 prod->keg_priming_water = query.value("keg_priming_water").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148 prod->keg_carbonation_temp = query.value("keg_carbonation_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 prod->keg_forced_carb = query.value("keg_forced_carb").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150 prod->keg_pressure = query.value("keg_pressure").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152 prod->taste_notes = query.value("taste_notes").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153 prod->taste_rate = query.value("taste_rate").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 prod->taste_date = query.value("taste_date").toDate();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 prod->taste_color = query.value("taste_color").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 prod->taste_transparency = query.value("taste_transparency").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 prod->taste_head = query.value("taste_head").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158 prod->taste_aroma = query.value("taste_aroma").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
159 prod->taste_taste = query.value("taste_taste").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
160 prod->taste_mouthfeel = query.value("taste_mouthfeel").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161 prod->taste_aftertaste = query.value("taste_aftertaste").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
163 prod->st_name = query.value("st_name").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 prod->st_letter = query.value("st_letter").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
165 prod->st_guide = query.value("st_guide").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 prod->st_category = query.value("st_category").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
167 prod->st_category_number = query.value("st_category_number").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
168 prod->st_type = query.value("st_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
169 prod->st_og_min = query.value("st_og_min").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
170 prod->st_og_max = query.value("st_og_max").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
171 prod->st_fg_min = query.value("st_fg_min").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
172 prod->st_fg_max = query.value("st_fg_max").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
173 prod->st_ibu_min = query.value("st_ibu_min").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
174 prod->st_ibu_max = query.value("st_ibu_max").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
175 prod->st_color_min = query.value("st_color_min").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
176 prod->st_color_max = query.value("st_color_max").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
177 prod->st_carb_min = query.value("st_carb_min").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
178 prod->st_carb_max = query.value("st_carb_max").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
179 prod->st_abv_min = query.value("st_abv_min").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
180 prod->st_abv_max = query.value("st_abv_max").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
181
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 prod->type = query.value("type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
183 prod->batch_size = query.value("batch_size").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184 prod->boil_size = query.value("boil_size").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
185 prod->boil_time = query.value("boil_time").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186 prod->efficiency = query.value("efficiency").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
187 prod->est_og = query.value("est_og").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 prod->est_og3 = query.value("est_og3").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
189 prod->est_fg = query.value("est_fg").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
190 prod->est_abv = query.value("est_abv").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
191 prod->est_color = query.value("est_color").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
192 prod->color_method = query.value("color_method").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
193 prod->est_ibu = query.value("est_ibu").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 prod->ibu_method = query.value("ibu_method").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
195 prod->est_carb = query.value("est_carb").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
197 prod->sparge_temp = query.value("sparge_temp").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
198 prod->sparge_ph = query.value("sparge_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
199 prod->sparge_volume = query.value("sparge_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
200 prod->sparge_source = query.value("sparge_source").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
201 prod->sparge_acid_type = query.value("sparge_acid_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202 prod->sparge_acid_perc = query.value("sparge_acid_perc").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
203 prod->sparge_acid_amount = query.value("sparge_acid_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
204 prod->mash_ph = query.value("mash_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 prod->mash_name = query.value("mash_name").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
206 prod->calc_acid = query.value("calc_acid").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
208 prod->w1_name = query.value("w1_name").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
209 prod->w1_amount = query.value("w1_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210 prod->w1_calcium = query.value("w1_calcium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211 prod->w1_sulfate = query.value("w1_sulfate").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
212 prod->w1_chloride = query.value("w1_chloride").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
213 prod->w1_sodium = query.value("w1_sodium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
214 prod->w1_magnesium = query.value("w1_magnesium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
215 prod->w1_total_alkalinity = query.value("w1_total_alkalinity").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
216 prod->w1_ph = query.value("w1_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
217 prod->w1_cost = query.value("w1_cost").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218 prod->w2_name = query.value("w2_name").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
219 prod->w2_amount = query.value("w2_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
220 prod->w2_calcium = query.value("w2_calcium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
221 prod->w2_sulfate = query.value("w2_sulfate").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
222 prod->w2_chloride = query.value("w2_chloride").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
223 prod->w2_sodium = query.value("w2_sodium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
224 prod->w2_magnesium = query.value("w2_magnesium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
225 prod->w2_total_alkalinity = query.value("w2_total_alkalinity").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
226 prod->w2_ph = query.value("w2_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
227 prod->w2_cost = query.value("w2_cost").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
228 prod->wg_amount = query.value("wg_amount").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
229 prod->wg_calcium = query.value("wg_calcium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
230 prod->wg_sulfate = query.value("wg_sulfate").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
231 prod->wg_chloride = query.value("wg_chloride").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
232 prod->wg_sodium = query.value("wg_sodium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
233 prod->wg_magnesium = query.value("wg_magnesium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
234 prod->wg_total_alkalinity = query.value("wg_total_alkalinity").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
235 prod->wg_ph = query.value("wg_ph").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
236 prod->wb_calcium = query.value("wb_calcium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
237 prod->wb_sulfate = query.value("wb_sulfate").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
238 prod->wb_chloride = query.value("wb_chloride").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
239 prod->wb_sodium = query.value("wb_sodium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
240 prod->wb_magnesium = query.value("wb_magnesium").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
241 prod->wb_total_alkalinity = query.value("wb_total_alkalinity").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
242 prod->wb_ph = query.value("wb_ph").toDouble();
527
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
243 prod->tw_name = query.value("tw_name").toString();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
244 prod->tw_calcium = query.value("tw_calcium").toDouble();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
245 prod->tw_sulfate = query.value("tw_sulfate").toDouble();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
246 prod->tw_chloride = query.value("tw_chloride").toDouble();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
247 prod->tw_sodium = query.value("tw_sodium").toDouble();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
248 prod->tw_magnesium = query.value("tw_magnesium").toDouble();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
249 prod->tw_total_alkalinity = query.value("tw_total_alkalinity").toDouble();
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
250 prod->tw_ph = query.value("tw_ph").toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
251 prod->wa_acid_name = query.value("wa_acid_name").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
252 prod->wa_acid_perc = query.value("wa_acid_perc").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
253 prod->wa_base_name = query.value("wa_base_name").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
254
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
255 prod->starter_enable = query.value("starter_enable").toInt() ? true:false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
256 prod->starter_type = query.value("starter_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
257 prod->starter_sg = query.value("starter_sg").toDouble();
478
a3653722b0d6 Add dry primary yeasts weights to get a mixed total. Use the parameters from the first and mmost used yeast. Changed in products and recipes. Recalculated WLP purepitch viability and planned next generation purepitch. We need a better way to set these parameters like a packages table. Fixed several yeast edit values due to adding a STA1 column. Removed several unneeded refresh_all() calls as they screwed the sorting of the yeasts during edit. Added STA1 display to recipes. Changed products database starter_viability from integer to float.
Michiel Broek <mbroek@mbse.eu>
parents: 458
diff changeset
258 prod->starter_viability = query.value("starter_viability").toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
259 if (query.value("yeast_prod_date").toString().length() == 10)
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
260 prod->yeast_prod_date = query.value("yeast_prod_date").toDate();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
261 else
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
262 prod->yeast_prod_date = QDate();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
263 prod->yeast_pitchrate = query.value("yeast_pitchrate").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
264 prod->prop_type[0] = query.value("prop1_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
265 prod->prop_volume[0] = query.value("prop1_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
266 prod->prop_type[1] = query.value("prop2_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
267 prod->prop_volume[1] = query.value("prop2_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
268 prod->prop_type[2] = query.value("prop3_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
269 prod->prop_volume[2] = query.value("prop3_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
270 prod->prop_type[3] = query.value("prop4_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
271 prod->prop_volume[3] = query.value("prop4_volume").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
272
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
273 prod->divide_type = query.value("divide_type").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
274 prod->divide_size = query.value("divide_size").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
275 prod->divide_factor = query.value("divide_factor").toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
276 prod->divide_parts = query.value("divide_parts").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
277 prod->divide_part = query.value("divide_part").toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
278
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
279 QJsonParseError parseError;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
280 const auto& f_json = query.value("json_fermentables").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
281 if (!f_json.trimmed().isEmpty()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
282 const auto& formattedJson = QString("%1").arg(f_json);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
283 QJsonDocument fermentables = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
284 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
285 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
286 } else if (fermentables.isArray()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
287 double percentcheck = 0;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
288 for (int i = 0; i < fermentables.array().size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
289 QJsonObject obj = fermentables.array().at(i).toObject();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
290 Fermentables f;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
291 f.inventory = 0;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
292 f.avail = false;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
293 f.name = obj["f_name"].toString();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
294 f.origin = obj["f_origin"].toString();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
295 f.supplier = obj["f_supplier"].toString();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
296 f.amount = obj["f_amount"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
297 f.cost = obj["f_cost"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
298 f.type = obj["f_type"].toInt();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
299 f.yield = obj["f_yield"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
300 f.color = obj["f_color"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
301 f.coarse_fine_diff = obj["f_coarse_fine_diff"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
302 f.moisture = obj["f_moisture"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
303 f.diastatic_power = obj["f_diastatic_power"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
304 f.protein = obj["f_protein"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
305 f.dissolved_protein = obj["f_dissolved_protein"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
306 f.max_in_batch = obj["f_max_in_batch"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
307 f.graintype = obj["f_graintype"].toInt();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
308 f.added = obj["f_added"].toInt();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
309 f.recommend_mash = obj["f_recommend_mash"].toInt() ? true:false;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
310 f.add_after_boil = obj["f_add_after_boil"].toInt() ? true:false;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
311 f.adjust_to_total_100 = obj["f_adjust_to_total_100"].toInt() ? true:false;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
312 f.percentage = obj["f_percentage"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
313 f.di_ph = obj["f_di_ph"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
314 f.acid_to_ph_57 = obj["f_acid_to_ph_57"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
315 if (f.adjust_to_total_100)
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
316 prod->fermentables_use100 = true;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
317 percentcheck += f.percentage;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
318 /* Check and update inventory */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
319 yquery.prepare("SELECT inventory FROM inventory_fermentables WHERE name=:name AND supplier=:supplier AND origin=:origin");
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
320 yquery.bindValue(":name", f.name);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
321 yquery.bindValue(":supplier", f.supplier);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
322 yquery.bindValue(":origin", f.origin);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
323 yquery.exec();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
324 if (yquery.first()) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
325 f.avail = true;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
326 f.inventory = yquery.value(0).toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
327 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
328 prod->fermentables.append(f);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
329 }
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
330 // qDebug() << "fermentables" << prod->fermentables.size() << percentcheck;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
331 if (percentcheck == 0 && prod->fermentables.size()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
332 /* Missing percentages, fix it. */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
333 double total = 0;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
334 for (int i = 0; i < prod->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
335 if (prod->fermentables.at(i).added < 4)
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
336 total += prod->fermentables.at(i).amount;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
337 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
338 for (int i = 0; i < prod->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
339 if (prod->fermentables.at(i).added < 4)
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
340 prod->fermentables[i].percentage = round((prod->fermentables.at(i).amount / total) * 10000.0) / 100.0;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
341 }
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
342 qInfo() << " fixed missing percentages";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
343 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
344 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
345 } else {
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
346 qInfo() << "empty fermentables";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
347 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
348
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
349 const auto& h_json = query.value("json_hops").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
350 if (!h_json.trimmed().isEmpty()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
351 const auto& formattedJson = QString("%1").arg(h_json);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
352 QJsonDocument hops = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
353 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
354 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
355 } else if (hops.isArray()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
356 for (int i = 0; i < hops.array().size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
357 QJsonObject obj = hops.array().at(i).toObject();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
358 Hops h;
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
359 h.avail = false;
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
360 h.inventory = 0;
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
361 h.name = obj["h_name"].toString();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
362 h.origin = obj["h_origin"].toString();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
363 h.amount = obj["h_amount"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
364 h.cost = obj["h_cost"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
365 h.type = obj["h_type"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
366 h.form = obj["h_form"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
367 h.useat = obj["h_useat"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
368 h.time = obj["h_time"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
369 h.alpha = obj["h_alpha"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
370 h.beta = obj["h_beta"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
371 h.hsi = obj["h_hsi"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
372 h.humulene = obj["h_humulene"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
373 h.caryophyllene = obj["h_caryophyllene"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
374 h.cohumulone = obj["h_cohumulone"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
375 h.myrcene = obj["h_myrcene"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
376 h.total_oil = obj["h_total_oil"].toDouble();
373
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
377 h.utilisation = obj["h_utilisation"].toDouble();
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
378 h.bu_factor = obj["h_bu_factor"].toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
379 /* Check and update inventory */
373
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
380 yquery.prepare("SELECT inventory,utilisation,bu_factor FROM inventory_hops WHERE name=:name AND origin=:origin");
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
381 yquery.bindValue(":name", h.name);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
382 yquery.bindValue(":origin", h.origin);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
383 yquery.exec();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
384 if (yquery.first()) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
385 h.avail = true;
373
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
386 h.inventory = yquery.value("inventory").toDouble();
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
387 if (h.utilisation == 0)
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
388 h.utilisation = yquery.value("utilisation").toDouble();
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
389 if (h.bu_factor == 0)
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
390 h.bu_factor = yquery.value("bu_factor").toDouble();
384
d68826df8b63 Product and recipe beerxml export support for hop extracts. Recipes with missing hop from the database use a default utilisation value.
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
391 } else {
d68826df8b63 Product and recipe beerxml export support for hop extracts. Recipes with missing hop from the database use a default utilisation value.
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
392 h.utilisation = my_ut_pellet;
d68826df8b63 Product and recipe beerxml export support for hop extracts. Recipes with missing hop from the database use a default utilisation value.
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
393 h.bu_factor = 1.0;
d68826df8b63 Product and recipe beerxml export support for hop extracts. Recipes with missing hop from the database use a default utilisation value.
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
394 }
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
395 prod->hops.append(h);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
396 }
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
397 // qDebug() << "hops" << prod->hops.size();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
398 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
399 } else {
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
400 qInfo() << "empty hops";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
401 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
402
280
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
403 const auto& json = query.value("json_miscs").toString();
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
404 if (!json.trimmed().isEmpty()) {
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
405 const auto& formattedJson = QString("%1").arg(json);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
406 QJsonDocument miscs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
407 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
408 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
409 } else if (miscs.isArray()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
410 for (int i = 0; i < miscs.array().size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
411 QJsonObject obj = miscs.array().at(i).toObject();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
412 Miscs m;
280
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
413 m.avail = false;
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
414 m.inventory = 0;
294
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
415 m.name = obj["m_name"].toString();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
416 m.amount = obj["m_amount"].toDouble();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
417 m.type = obj["m_type"].toInt();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
418 m.use_use = obj["m_use_use"].toInt();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
419 m.time = obj["m_time"].toDouble();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
420 m.amount_is_weight = obj["m_amount_is_weight"].toInt() ? true:false;
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
421 m.cost = obj["m_cost"].toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
422 /* Check and update inventory */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
423 yquery.prepare("SELECT inventory FROM inventory_miscs WHERE name=:name");
280
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
424 yquery.bindValue(":name", m.name);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
425 yquery.exec();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
426 if (yquery.first()) {
280
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
427 m.avail = true;
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 270
diff changeset
428 m.inventory = yquery.value(0).toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
429 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
430 prod->miscs.append(m);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
431 }
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
432 // qDebug() << "miscs" << prod->miscs.size();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
433 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
434 } else {
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
435 qInfo() << "empty miscs";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
436 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
437
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
438 const auto& y_json = query.value("json_yeasts").toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
439 if (!y_json.trimmed().isEmpty()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
440 const auto& formattedJson = QString("%1").arg(y_json);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
441 QJsonDocument yeasts = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
442 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
443 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
444 } else if (yeasts.isArray()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
445 for (int i = 0; i < yeasts.array().size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
446 QJsonObject obj = yeasts.array().at(i).toObject();
485
83b5c2b3c414 Database upgrade will let the yeastpack cells at 0. Disabled some debug messages needed for development. Updated yeastpack editor tooltips.
Michiel Broek <mbroek@mbse.eu>
parents: 482
diff changeset
447 // qDebug() << "yeasts_Json" << i << obj;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
448 Yeasts y;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
449 /* First some defaults for newer fields. */
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
450 y.tolerance = y.harvest_time = y.pitch_temperature = y.zymocide = 0;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
451 y.avail = y.sta1 = y.bacteria = y.harvest_top = y.pofpos = false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
452 y.gr_hl_lo = 50;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
453 y.sg_lo = 1.04;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
454 y.gr_hl_hi = 80;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
455 y.sg_hi = 1.08;
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
456 /* Clear Yeast Package data */
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
457 y.yp_uuid = QString();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
458 y.yp_package = QString();
485
83b5c2b3c414 Database upgrade will let the yeastpack cells at 0. Disabled some debug messages needed for development. Updated yeastpack editor tooltips.
Michiel Broek <mbroek@mbse.eu>
parents: 482
diff changeset
459 y.yp_cells = 0;
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
460 y.yp_viability = 0.99;
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
461 y.yp_max = 100;
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
462 y.yp_size = 0.01;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
463 /* Now get what we have got */
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
464 y.name = obj["y_name"].toString();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
465 y.laboratory = obj["y_laboratory"].toString();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
466 y.product_id = obj["y_product_id"].toString();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
467 y.amount = obj["y_amount"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
468 y.type = obj["y_type"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
469 y.form = obj["y_form"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
470 y.min_temperature = obj["y_min_temperature"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
471 y.max_temperature = obj["y_max_temperature"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
472 y.flocculation = obj["y_flocculation"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
473 y.attenuation = obj["y_attenuation"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
474 y.cells = obj["y_cells"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
475 y.tolerance = obj["y_tolerance"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
476 y.inventory = obj["y_inventory"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
477 y.use = obj["y_use"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
478 y.sta1 = obj["y_sta1"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
479 y.bacteria = obj["y_bacteria"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
480 y.harvest_top = obj["y_harvest_top"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
481 y.harvest_time = obj["y_harvest_time"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
482 y.pitch_temperature = obj["y_pitch_temperature"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
483 y.pofpos = obj["y_pofpos"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
484 y.zymocide = obj["y_zymocide"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
485 y.gr_hl_lo = obj["y_gr_hl_lo"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
486 y.sg_lo = obj["y_sg_lo"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
487 y.gr_hl_hi = obj["y_gr_hl_hi"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
488 y.sg_hi = obj["y_sg_hi"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
489 y.cost = obj["y_cost"].toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
490 /*
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
491 * Possible data upgrade needed.
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
492 */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
493 yquery.prepare("SELECT tolerance,cells,sta1,bacteria,harvest_top,harvest_time,pitch_temperature,"
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
494 "pofpos,zymocide,gr_hl_lo,sg_lo,gr_hl_hi,sg_hi,inventory "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
495 "FROM inventory_yeasts WHERE name=:name AND laboratory=:laboratory AND product_id=:product_id");
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
496 yquery.bindValue(":name", y.name);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
497 yquery.bindValue(":laboratory", y.laboratory);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
498 yquery.bindValue(":product_id", y.product_id);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
499 yquery.exec();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
500 if (yquery.first()) {
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
501 if (y.tolerance == 0 || y.cells == 0) {
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
502 y.tolerance = yquery.value("tolerance").toDouble();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
503 y.cells = yquery.value("cells").toDouble();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
504 }
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
505 y.sta1 = yquery.value("sta1").toInt() ? true:false;
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
506 y.bacteria = yquery.value("bacteria").toInt() ? true:false;
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
507 y.harvest_top = yquery.value("harvest_top").toInt() ? true:false;
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
508 y.harvest_time = yquery.value("harvest_time").toInt();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
509 y.pitch_temperature = yquery.value("pitch_temperature").toDouble();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
510 y.pofpos = yquery.value("pofpos").toInt() ? true:false;
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
511 y.zymocide = yquery.value("zymocide").toInt();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
512 y.gr_hl_lo = yquery.value("gr_hl_lo").toInt();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
513 y.sg_lo = yquery.value("sg_lo").toDouble();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
514 y.gr_hl_hi = yquery.value("gr_hl_hi").toInt();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
515 y.sg_hi = yquery.value("sg_hi").toDouble();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
516 y.inventory = yquery.value("inventory").toDouble();
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
517 y.avail = true;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
518 } else {
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
519 qDebug() << y.name << y.product_id << "not found for upgrade";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
520 }
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
521 /*
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
522 * Yeast Pack.
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
523 */
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
524 if (obj.contains("y_package") && obj["y_package"].isObject()) {
485
83b5c2b3c414 Database upgrade will let the yeastpack cells at 0. Disabled some debug messages needed for development. Updated yeastpack editor tooltips.
Michiel Broek <mbroek@mbse.eu>
parents: 482
diff changeset
525 // qDebug() << "y_package object present";
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
526 QJsonObject package = obj.value("y_package").toObject();
487
04c67c9f903c Clean debug log settings after last changes.
Michiel Broek <mbroek@mbse.eu>
parents: 485
diff changeset
527 // qDebug() << "yeasts_Json package" << i << package;
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
528 y.yp_uuid = package["uuid"].toString();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
529 y.yp_package = package["package"].toString();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
530 y.yp_cells = package["cells"].toDouble();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
531 y.yp_viability = package["viability"].toDouble();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
532 y.yp_max = package["max"].toInt();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
533 y.yp_size = package["size"].toDouble();
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
534 }
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
535
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
536 prod->yeasts.append(y);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
537 }
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
538 // qDebug() << "yeasts" << prod->yeasts.size();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
539 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
540 } else {
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
541 qInfo() << "empty yeasts";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
542 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
543
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
544 const auto& ma_json = query.value("json_mashs").toString().trimmed();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
545 if (!ma_json.trimmed().isEmpty()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
546 const auto& formattedJson = QString("%1").arg(ma_json);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
547 QJsonDocument mashs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
548 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
549 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
550 } else if (mashs.isArray()) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
551 for (int i = 0; i < mashs.array().size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
552 QJsonObject obj = mashs.array().at(i).toObject();
287
83e66c6b6e07 Renamed struct Mashs to MashSteps
Michiel Broek <mbroek@mbse.eu>
parents: 284
diff changeset
553 MashSteps m;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
554 m.step_name = obj["step_name"].toString();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
555 m.step_type = obj["step_type"].toInt();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
556 m.step_volume = obj["step_volume"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
557 m.step_infuse_amount = obj["step_infuse_amount"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
558 m.step_infuse_temp = obj["step_infuse_temp"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
559 m.step_temp = obj["step_temp"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
560 m.step_time = obj["step_time"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
561 m.ramp_time = obj["ramp_time"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
562 m.end_temp = obj["end_temp"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
563 m.step_wg_ratio = obj["step_wg_ratio"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
564 m.step_ph = obj["step_ph"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
565 m.step_sg = obj["step_sg"].toDouble();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
566 prod->mashs.append(m);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
567 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
568 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
569 } else {
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
570 qInfo() << "empty mashs";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
571 }
432
f189af715073 Removed several debug logmessages in tab 3 and database load.
Michiel Broek <mbroek@mbse.eu>
parents: 423
diff changeset
572 // qDebug() << "mashs" << prod->mashs.size();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
573
521
5fbe71d69fe5 Clear mash measurments when duplicating a product.
Michiel Broek <mbroek@mbse.eu>
parents: 519
diff changeset
574 qInfo() << "loadProduct" << prod->record << "done";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
575 return true;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
576 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
577
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
578
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
579
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
580
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
581 bool DB_product::save(Product *prod, QDialog *dialog)
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
582 {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
583 QSqlQuery query;
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
584 QString sql = "";
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
585
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
586 if (prod->record == -1) {
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
587 sql = "INSERT INTO products SET ";
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
588 } else {
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
589 sql = "UPDATE products SET ";
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
590 }
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
591 sql.append("name=:name, code=:code, birth=:birth, stage=:stage, notes=:notes, log_brew=:log_brew, "
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
592 "log_fermentation=:log_fermentation, log_ispindel=:log_ispindel, log_co2pressure=:log_co2pressure, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
593 "inventory_reduced=:inventory_reduced, locked=:locked, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
594 "eq_name=:eq_name, eq_boil_size=:eq_boil_size, eq_efficiency=:eq_efficiency, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
595 "eq_batch_size=:eq_batch_size, eq_tun_volume=:eq_tun_volume, eq_tun_weight=:eq_tun_weight, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
596 "eq_tun_specific_heat=:eq_tun_specific_heat, eq_tun_material=:eq_tun_material, eq_tun_height=:eq_tun_height, "
458
ac216a75ca9b Renamed trub_chiller_loss fields to trub_loss
Michiel Broek <mbroek@mbse.eu>
parents: 433
diff changeset
597 "eq_top_up_water=:eq_top_up_water, eq_trub_loss=:eq_trub_loss, eq_evap_rate=:eq_evap_rate, "
423
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
598 "eq_boil_time=:eq_boil_time, eq_top_up_kettle=:eq_top_up_kettle, eq_notes=:eq_notes, "
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
599 "eq_lauter_deadspace=:eq_lauter_deadspace, eq_kettle_volume=:eq_kettle_volume, "
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
600 "eq_kettle_height=:eq_kettle_height, eq_mash_volume=:eq_mash_volume, eq_mash_max=:eq_mash_max, "
423
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
601 "eq_chiller_type=:eq_chiller_type, eq_chiller_to79=:eq_chiller_to79, eq_chiller_volume=:eq_chiller_volume, "
8cb46020796a Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.
Michiel Broek <mbroek@mbse.eu>
parents: 384
diff changeset
602 "eq_chiller_lpm=:eq_chiller_lpm, eq_chiller_loss=:eq_chiller_loss, "
527
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
603 "eq_HLT_volume=:eq_HLT_volume, eq_HLT_deadspace=:eq_HLT_deadspace, "
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
604 "brew_date_start=:brew_date_start, brew_mash_ph=:brew_mash_ph, brew_mash_sg=:brew_mash_sg, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
605 "brew_mash_efficiency=:brew_mash_efficiency, brew_sparge_temperature=:brew_sparge_temperature, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
606 "brew_sparge_volume=:brew_sparge_volume, brew_sparge_est=:brew_sparge_est, brew_sparge_ph=:brew_sparge_ph, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
607 "brew_preboil_volume=:brew_preboil_volume, brew_preboil_sg=:brew_preboil_sg, brew_preboil_ph=:brew_preboil_ph, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
608 "brew_preboil_efficiency=:brew_preboil_efficiency, brew_aboil_volume=:brew_aboil_volume, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
609 "brew_aboil_sg=:brew_aboil_sg, brew_aboil_ph=:brew_aboil_ph, brew_aboil_efficiency=:brew_aboil_efficiency, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
610 "brew_cooling_method=:brew_cooling_method, brew_cooling_time=:brew_cooling_time, brew_cooling_to=:brew_cooling_to, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
611 "brew_whirlpool9=:brew_whirlpool9, brew_whirlpool7=:brew_whirlpool7, brew_whirlpool6=:brew_whirlpool6, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
612 "brew_whirlpool2=:brew_whirlpool2, brew_fermenter_volume=:brew_fermenter_volume, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
613 "brew_fermenter_extrawater=:brew_fermenter_extrawater, brew_fermenter_tcloss=:brew_fermenter_tcloss, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
614 "brew_aeration_time=:brew_aeration_time, brew_aeration_speed=:brew_aeration_speed, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
615 "brew_aeration_type=:brew_aeration_type, brew_fermenter_sg=:brew_fermenter_sg, brew_fermenter_ibu=:brew_fermenter_ibu, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
616 "brew_fermenter_color=:brew_fermenter_color, brew_date_end=:brew_date_end, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
617 "og=:og, fg=:fg, primary_start_temp=:primary_start_temp, primary_max_temp=:primary_max_temp, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
618 "primary_end_temp=:primary_end_temp, primary_end_sg=:primary_end_sg, primary_end_date=:primary_end_date, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
619 "secondary_temp=:secondary_temp, secondary_end_sg=:secondary_end_sg, secondary_end_date=:secondary_end_date, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
620 "tertiary_temp=:tertiary_temp, package_date=:package_date, package_volume=:package_volume, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
621 "package_infuse_amount=:package_infuse_amount, package_infuse_abv=:package_infuse_abv, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
622 "package_infuse_notes=:package_infuse_notes, package_abv=:package_abv, package_ph=:package_ph, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
623 "bottle_amount=:bottle_amount, bottle_carbonation=:bottle_carbonation, bottle_priming_sugar=:bottle_priming_sugar, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
624 "bottle_priming_amount=:bottle_priming_amount, bottle_priming_water=:bottle_priming_water, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
625 "bottle_carbonation_temp=:bottle_carbonation_temp, keg_amount=:keg_amount, keg_carbonation=:keg_carbonation, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
626 "keg_priming_sugar=:keg_priming_sugar, keg_priming_amount=:keg_priming_amount, keg_priming_water=:keg_priming_water, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
627 "keg_carbonation_temp=:keg_carbonation_temp, keg_forced_carb=:keg_forced_carb, keg_pressure=:keg_pressure, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
628 "taste_notes=:taste_notes, taste_rate=:taste_rate, taste_date=:taste_date, taste_color=:taste_color, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
629 "taste_transparency=:taste_transparency, taste_head=:taste_head, taste_aroma=:taste_aroma, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
630 "taste_taste=:taste_taste, taste_mouthfeel=:taste_mouthfeel, taste_aftertaste=:taste_aftertaste, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
631 "st_name=:st_name, st_letter=:st_letter, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
632 "st_guide=:st_guide, st_category=:st_category, st_category_number=:st_catnr, st_type=:st_type, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
633 "st_og_min=:st_og_min, st_og_max=:st_og_max, st_fg_min=:st_fg_min, st_fg_max=:st_fg_max, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
634 "st_ibu_min=:st_ibu_min, st_ibu_max=:st_ibu_max, st_color_min=:st_color_min, st_color_max=:st_color_max, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
635 "st_carb_min=:st_carb_min, st_carb_max=:st_carb_max, st_abv_min=:st_abv_min, st_abv_max=:st_abv_max, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
636 "type=:type, batch_size=:batch_size, boil_size=:boil_size, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
637 "boil_time=:boil_time, efficiency=:efficiency, est_og=:est_og, est_og3=:est_og3, est_fg=:est_fg, est_abv=:est_abv, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
638 "est_color=:est_color, color_method=:color_method, est_ibu=:est_ibu, ibu_method=:ibu_method, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
639 "est_carb=:est_carb, sparge_temp=:sparge_temp, sparge_ph=:sparge_ph, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
640 "sparge_volume=:sparge_volume, sparge_source=:sparge_source, sparge_acid_type=:sparge_acid_type, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
641 "sparge_acid_perc=:sparge_acid_perc, sparge_acid_amount=:sparge_acid_amount, mash_ph=:mash_ph, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
642 "mash_name=:mash_name, calc_acid=:calc_acid, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
643 "w1_name=:w1_name, w1_amount=:w1_amount, w1_calcium=:w1_calcium, w1_sulfate=:w1_sulfate, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
644 "w1_chloride=:w1_chloride, w1_sodium=:w1_sodium, w1_magnesium=:w1_magnesium, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
645 "w1_total_alkalinity=:w1_total_alkalinity, w1_ph=:w1_ph, w1_cost=:w1_cost, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
646 "w2_name=:w2_name, w2_amount=:w2_amount, w2_calcium=:w2_calcium, w2_sulfate=:w2_sulfate, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
647 "w2_chloride=:w2_chloride, w2_sodium=:w2_sodium, w2_magnesium=:w2_magnesium, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
648 "w2_total_alkalinity=:w2_total_alkalinity, w2_ph=:w2_ph, w2_cost=:w2_cost, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
649 "wg_amount=:wg_amount, wg_calcium=:wg_calcium, wg_sulfate=:wg_sulfate, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
650 "wg_chloride=:wg_chloride, wg_sodium=:wg_sodium, wg_magnesium=:wg_magnesium, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
651 "wg_total_alkalinity=:wg_total_alkalinity, wg_ph=:wg_ph, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
652 "wb_calcium=:wb_calcium, wb_sulfate=:wb_sulfate, wb_chloride=:wb_chloride, wb_sodium=:wb_sodium, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
653 "wb_magnesium=:wb_magnesium, wb_total_alkalinity=:wb_total_alkalinity, wb_ph=:wb_ph, "
527
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
654 "tw_name=:tw_name, tw_calcium=:tw_calcium, tw_sulfate=:tw_sulfate, tw_chloride=:tw_chloride, "
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
655 "tw_sodium=:tw_sodium, tw_magnesium=:tw_magnesium, tw_total_alkalinity=:tw_total_alkalinity, tw_ph=:tw_ph, "
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
656 "wa_acid_name=:wa_acid_name, wa_acid_perc=:wa_acid_perc, wa_base_name=:wa_base_name, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
657 "starter_enable=:starter_enable, starter_type=:starter_type, starter_sg=:starter_sg, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
658 "starter_viability=:starter_viability, yeast_prod_date=:yeast_prod_date, yeast_pitchrate=:yeast_pitchrate, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
659 "prop1_type=:prop1_type, prop1_volume=:prop1_volume, prop2_type=:prop2_type, prop2_volume=:prop2_volume, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
660 "prop3_type=:prop3_type, prop3_volume=:prop3_volume, prop4_type=:prop4_type, prop4_volume=:prop4_volume, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
661 "divide_type=:divide_type, divide_size=:divide_size, divide_factor=:divide_factor, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
662 "divide_parts=:divide_parts, divide_part=:divide_part, "
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
663 "json_fermentables=:json_fermentables, json_hops=:json_hops, json_miscs=:json_miscs, "
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
664 "json_yeasts=:json_yeasts, json_mashs=:json_mashs");
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
665
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
666 if (prod->record == -1) {
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
667 sql.append(", uuid=:uuid");
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
668 } else {
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
669 sql.append(" WHERE record = :recno");
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
670 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
671
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
672 query.prepare(sql);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
673 query.bindValue(":name", prod->name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
674 query.bindValue(":code", prod->code);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
675 query.bindValue(":birth", prod->birth);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
676 query.bindValue(":stage", prod->stage);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
677 query.bindValue(":notes", prod->notes);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
678 query.bindValue(":log_brew", prod->log_brew ? 1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
679 query.bindValue(":log_fermentation", prod->log_fermentation ? 1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
680 query.bindValue(":log_ispindel", prod->log_ispindel ? 1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
681 query.bindValue(":log_co2pressure", prod->log_co2pressure ? 1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
682 query.bindValue(":inventory_reduced", prod->inventory_reduced);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
683 query.bindValue(":locked", prod->locked ? 1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
684 query.bindValue(":eq_name", prod->eq_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
685 query.bindValue(":eq_boil_size", round(prod->eq_boil_size * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
686 query.bindValue(":eq_batch_size", round(prod->eq_batch_size * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
687 query.bindValue(":eq_tun_volume", round(prod->eq_tun_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
688 query.bindValue(":eq_tun_weight", round(prod->eq_tun_weight * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
689 query.bindValue(":eq_tun_specific_heat", round(prod->eq_tun_specific_heat * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
690 query.bindValue(":eq_tun_material", prod->eq_tun_material);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
691 query.bindValue(":eq_tun_height", round(prod->eq_tun_height * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
692 query.bindValue(":eq_top_up_water", round(prod->eq_top_up_water * 10) / 10);
458
ac216a75ca9b Renamed trub_chiller_loss fields to trub_loss
Michiel Broek <mbroek@mbse.eu>
parents: 433
diff changeset
693 query.bindValue(":eq_trub_loss", round(prod->eq_trub_loss * 10) / 10);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
694 query.bindValue(":eq_evap_rate", round(prod->eq_evap_rate * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
695 query.bindValue(":eq_boil_time", round(prod->eq_boil_time));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
696 query.bindValue(":eq_top_up_kettle", round(prod->eq_top_up_kettle * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
697 query.bindValue(":eq_notes", prod->eq_notes);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
698 query.bindValue(":eq_lauter_deadspace", round(prod->eq_lauter_deadspace * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
699 query.bindValue(":eq_kettle_volume", round(prod->eq_kettle_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
700 query.bindValue(":eq_kettle_height", round(prod->eq_kettle_height * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
701 query.bindValue(":eq_mash_volume", round(prod->eq_mash_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
702 query.bindValue(":eq_mash_max", round(prod->eq_mash_max * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
703 query.bindValue(":eq_efficiency", round(prod->eq_efficiency * 10) / 10);
433
40d4d2bb5f11 Forgot to save the new eq_chiller_* fields in products.
Michiel Broek <mbroek@mbse.eu>
parents: 432
diff changeset
704 query.bindValue(":eq_chiller_type", prod->eq_chiller_type);
40d4d2bb5f11 Forgot to save the new eq_chiller_* fields in products.
Michiel Broek <mbroek@mbse.eu>
parents: 432
diff changeset
705 query.bindValue(":eq_chiller_to79", round(prod->eq_chiller_to79));
40d4d2bb5f11 Forgot to save the new eq_chiller_* fields in products.
Michiel Broek <mbroek@mbse.eu>
parents: 432
diff changeset
706 query.bindValue(":eq_chiller_volume", round(prod->eq_chiller_volume * 100) / 100);
40d4d2bb5f11 Forgot to save the new eq_chiller_* fields in products.
Michiel Broek <mbroek@mbse.eu>
parents: 432
diff changeset
707 query.bindValue(":eq_chiller_lpm", round(prod->eq_chiller_lpm * 100) / 100);
40d4d2bb5f11 Forgot to save the new eq_chiller_* fields in products.
Michiel Broek <mbroek@mbse.eu>
parents: 432
diff changeset
708 query.bindValue(":eq_chiller_loss", round(prod->eq_chiller_loss * 100) / 100);
527
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
709 query.bindValue(":eq_HLT_volume", round(prod->eq_HLT_volume * 10) / 10);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
710 query.bindValue(":eq_HLT_deadspace", round(prod->eq_HLT_deadspace * 10) / 10);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
711 query.bindValue(":brew_date_start", prod->brew_date_start);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
712 query.bindValue(":brew_mash_ph", round(prod->brew_mash_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
713 query.bindValue(":brew_mash_sg", round(prod->brew_mash_sg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
714 query.bindValue(":brew_mash_efficiency", round(prod->brew_mash_efficiency * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
715 query.bindValue(":brew_sparge_temperature", round(prod->brew_sparge_temperature * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
716 query.bindValue(":brew_sparge_volume", round(prod->brew_sparge_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
717 query.bindValue(":brew_sparge_est", round(prod->brew_sparge_est * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
718 query.bindValue(":brew_sparge_ph", round(prod->brew_sparge_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
719 query.bindValue(":brew_preboil_volume", round(prod->brew_preboil_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
720 query.bindValue(":brew_preboil_sg", round(prod->brew_preboil_sg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
721 query.bindValue(":brew_preboil_ph", round(prod->brew_preboil_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
722 query.bindValue(":brew_preboil_efficiency", round(prod->brew_preboil_efficiency * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
723 query.bindValue(":brew_aboil_volume", round(prod->brew_aboil_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
724 query.bindValue(":brew_aboil_sg", round(prod->brew_aboil_sg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
725 query.bindValue(":brew_aboil_ph", round(prod->brew_aboil_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
726 query.bindValue(":brew_aboil_efficiency", round(prod->brew_aboil_efficiency * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
727 query.bindValue(":brew_cooling_method", prod->brew_cooling_method);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
728 query.bindValue(":brew_cooling_time", round(prod->brew_cooling_time * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
729 query.bindValue(":brew_cooling_to", round(prod->brew_cooling_to * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
730 query.bindValue(":brew_whirlpool9", round(prod->brew_whirlpool9));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
731 query.bindValue(":brew_whirlpool7", round(prod->brew_whirlpool7));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
732 query.bindValue(":brew_whirlpool6", round(prod->brew_whirlpool6));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
733 query.bindValue(":brew_whirlpool2", round(prod->brew_whirlpool2));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
734 query.bindValue(":brew_fermenter_volume", round(prod->brew_fermenter_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
735 query.bindValue(":brew_fermenter_extrawater", round(prod->brew_fermenter_extrawater * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
736 query.bindValue(":brew_fermenter_tcloss", round(prod->brew_fermenter_tcloss * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
737 query.bindValue(":brew_aeration_time", round(prod->brew_aeration_time));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
738 query.bindValue(":brew_aeration_speed", round(prod->brew_aeration_speed * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
739 query.bindValue(":brew_aeration_type", prod->brew_aeration_type);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
740 query.bindValue(":brew_fermenter_sg", round(prod->brew_fermenter_sg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
741 query.bindValue(":brew_fermenter_ibu", round(prod->brew_fermenter_ibu * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
742 query.bindValue(":brew_fermenter_color", round(prod->brew_fermenter_color * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
743 query.bindValue(":brew_date_end", prod->brew_date_end);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
744 query.bindValue(":og", round(prod->og * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
745 query.bindValue(":fg", round(prod->fg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
746 query.bindValue(":primary_start_temp", round(prod->primary_start_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
747 query.bindValue(":primary_max_temp", round(prod->primary_max_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
748 query.bindValue(":primary_end_temp", round(prod->primary_end_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
749 query.bindValue(":primary_end_sg", round(prod->primary_end_sg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
750 query.bindValue(":primary_end_date", prod->primary_end_date);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
751 query.bindValue(":secondary_temp", round(prod->secondary_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
752 query.bindValue(":secondary_end_sg", round(prod->secondary_end_sg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
753 query.bindValue(":secondary_end_date", prod->secondary_end_date);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
754 query.bindValue(":tertiary_temp", round(prod->tertiary_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
755 query.bindValue(":package_date", prod->package_date);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
756 query.bindValue(":package_volume", round(prod->package_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
757 query.bindValue(":package_infuse_amount", round(prod->package_infuse_amount * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
758 query.bindValue(":package_infuse_abv", round(prod->package_infuse_abv * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
759 query.bindValue(":package_infuse_notes", prod->package_infuse_notes);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
760 query.bindValue(":package_abv", round(prod->package_abv * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
761 query.bindValue(":package_ph", round(prod->package_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
762 query.bindValue(":bottle_amount", round(prod->bottle_amount * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
763 query.bindValue(":bottle_carbonation", round(prod->bottle_carbonation * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
764 query.bindValue(":bottle_priming_sugar", prod->bottle_priming_sugar);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
765 query.bindValue(":bottle_priming_amount", round(prod->bottle_priming_amount * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
766 query.bindValue(":bottle_priming_water", round(prod->bottle_priming_water * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
767 query.bindValue(":bottle_carbonation_temp", round(prod->bottle_carbonation_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
768 query.bindValue(":keg_amount", round(prod->keg_amount * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
769 query.bindValue(":keg_carbonation", round(prod->keg_carbonation * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
770 query.bindValue(":keg_priming_sugar", prod->keg_priming_sugar);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
771 query.bindValue(":keg_priming_amount", round(prod->keg_priming_amount * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
772 query.bindValue(":keg_priming_water", round(prod->keg_priming_water * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
773 query.bindValue(":keg_carbonation_temp", round(prod->keg_carbonation_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
774 query.bindValue(":keg_forced_carb", prod->keg_forced_carb ? 1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
775 query.bindValue(":keg_pressure", round(prod->keg_pressure * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
776 query.bindValue(":taste_notes", prod->taste_notes);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
777 query.bindValue(":taste_rate", round(prod->taste_rate * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
778 query.bindValue(":taste_date", prod->taste_date);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
779 query.bindValue(":taste_color", prod->taste_color);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
780 query.bindValue(":taste_transparency", prod->taste_transparency);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
781 query.bindValue(":taste_head", prod->taste_head);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
782 query.bindValue(":taste_aroma", prod->taste_aroma);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
783 query.bindValue(":taste_taste", prod->taste_taste);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
784 query.bindValue(":taste_mouthfeel", prod->taste_mouthfeel);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
785 query.bindValue(":taste_aftertaste", prod->taste_aftertaste);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
786 query.bindValue(":st_name", prod->st_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
787 query.bindValue(":st_letter", prod->st_letter);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
788 query.bindValue(":st_guide", prod->st_guide);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
789 query.bindValue(":st_category", prod->st_category);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
790 query.bindValue(":st_catnr", prod->st_category_number);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
791 query.bindValue(":st_type", prod->st_type);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
792 query.bindValue(":st_og_min", round(prod->st_og_min * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
793 query.bindValue(":st_og_max", round(prod->st_og_max * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
794 query.bindValue(":st_fg_min", round(prod->st_fg_min * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
795 query.bindValue(":st_fg_max", round(prod->st_fg_max * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
796 query.bindValue(":st_ibu_min", round(prod->st_ibu_min * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
797 query.bindValue(":st_ibu_max", round(prod->st_ibu_max * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
798 query.bindValue(":st_color_min", round(prod->st_color_min * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
799 query.bindValue(":st_color_max", round(prod->st_color_max * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
800 query.bindValue(":st_carb_min", round(prod->st_carb_min * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
801 query.bindValue(":st_carb_max", round(prod->st_carb_max * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
802 query.bindValue(":st_abv_min", round(prod->st_abv_min * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
803 query.bindValue(":st_abv_max", round(prod->st_abv_max * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
804 query.bindValue(":type", prod->type);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
805 query.bindValue(":batch_size", round(prod->batch_size * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
806 query.bindValue(":boil_size", round(prod->boil_size * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
807 query.bindValue(":boil_time", round(prod->boil_time * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
808 query.bindValue(":efficiency", round(prod->efficiency * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
809 query.bindValue(":est_og", round(prod->est_og * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
810 query.bindValue(":est_og3", round(prod->est_og3 * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
811 query.bindValue(":est_fg", round(prod->est_fg * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
812 query.bindValue(":est_abv", round(prod->est_abv * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
813 query.bindValue(":est_color", round(prod->est_color * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
814 query.bindValue(":color_method", prod->color_method);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
815 query.bindValue(":est_ibu", round(prod->est_ibu * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
816 query.bindValue(":ibu_method", prod->ibu_method);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
817 query.bindValue(":est_carb", round(prod->est_carb * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
818 query.bindValue(":sparge_temp", round(prod->sparge_temp * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
819 query.bindValue(":sparge_ph", round(prod->sparge_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
820 query.bindValue(":sparge_volume", round(prod->sparge_volume * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
821 query.bindValue(":sparge_source", prod->sparge_source);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
822 query.bindValue(":sparge_acid_type", prod->sparge_acid_type);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
823 query.bindValue(":sparge_acid_perc", round(prod->sparge_acid_perc * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
824 query.bindValue(":sparge_acid_amount", round(prod->sparge_acid_amount * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
825 query.bindValue(":mash_ph", round(prod->mash_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
826 query.bindValue(":mash_name", prod->mash_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
827 query.bindValue(":calc_acid", prod->calc_acid ?1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
828 query.bindValue(":w1_name", prod->w1_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
829 query.bindValue(":w1_amount", round(prod->w1_amount * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
830 query.bindValue(":w1_calcium", round(prod->w1_calcium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
831 query.bindValue(":w1_sulfate", round(prod->w1_sulfate * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
832 query.bindValue(":w1_chloride", round(prod->w1_chloride * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
833 query.bindValue(":w1_sodium", round(prod->w1_sodium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
834 query.bindValue(":w1_magnesium", round(prod->w1_magnesium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
835 query.bindValue(":w1_total_alkalinity", round(prod->w1_total_alkalinity * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
836 query.bindValue(":w1_ph", round(prod->w1_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
837 query.bindValue(":w1_cost", round(prod->w1_cost * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
838 query.bindValue(":w2_name", prod->w2_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
839 query.bindValue(":w2_amount", round(prod->w2_amount * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
840 query.bindValue(":w2_calcium", round(prod->w2_calcium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
841 query.bindValue(":w2_sulfate", round(prod->w2_sulfate * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
842 query.bindValue(":w2_chloride", round(prod->w2_chloride * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
843 query.bindValue(":w2_sodium", round(prod->w2_sodium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
844 query.bindValue(":w2_magnesium", round(prod->w2_magnesium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
845 query.bindValue(":w2_total_alkalinity", round(prod->w2_total_alkalinity * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
846 query.bindValue(":w2_ph", round(prod->w2_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
847 query.bindValue(":w2_cost", round(prod->w2_cost * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
848 query.bindValue(":wg_amount", round(prod->wg_amount * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
849 query.bindValue(":wg_calcium", round(prod->wg_calcium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
850 query.bindValue(":wg_sulfate", round(prod->wg_sulfate * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
851 query.bindValue(":wg_chloride", round(prod->wg_chloride * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
852 query.bindValue(":wg_sodium", round(prod->wg_sodium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
853 query.bindValue(":wg_magnesium", round(prod->wg_magnesium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
854 query.bindValue(":wg_total_alkalinity", round(prod->wg_total_alkalinity * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
855 query.bindValue(":wg_ph", round(prod->wg_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
856 query.bindValue(":wb_calcium", round(prod->wb_calcium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
857 query.bindValue(":wb_sulfate", round(prod->wb_sulfate * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
858 query.bindValue(":wb_chloride", round(prod->wb_chloride * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
859 query.bindValue(":wb_sodium", round(prod->wb_sodium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
860 query.bindValue(":wb_magnesium", round(prod->wb_magnesium * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
861 query.bindValue(":wb_total_alkalinity", round(prod->wb_total_alkalinity * 100000) / 100000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
862 query.bindValue(":wb_ph", round(prod->wb_ph * 100) / 100);
527
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
863 query.bindValue(":tw_name", prod->tw_name);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
864 query.bindValue(":tw_calcium", round(prod->tw_calcium * 100000) / 100000);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
865 query.bindValue(":tw_sulfate", round(prod->tw_sulfate * 100000) / 100000);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
866 query.bindValue(":tw_chloride", round(prod->tw_chloride * 100000) / 100000);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
867 query.bindValue(":tw_sodium", round(prod->tw_sodium * 100000) / 100000);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
868 query.bindValue(":tw_magnesium", round(prod->tw_magnesium * 100000) / 100000);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
869 query.bindValue(":tw_total_alkalinity", round(prod->tw_total_alkalinity * 100000) / 100000);
84091b9cb800 Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 526
diff changeset
870 query.bindValue(":tw_ph", round(prod->tw_ph * 100) / 100);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
871 query.bindValue(":wa_acid_name", prod->wa_acid_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
872 query.bindValue(":wa_acid_perc", round(prod->wa_acid_perc * 10) / 10);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
873 query.bindValue(":wa_base_name", prod->wa_base_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
874 query.bindValue(":starter_enable", prod->starter_enable ? 1:0);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
875 query.bindValue(":starter_type", prod->starter_type);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
876 query.bindValue(":starter_sg", round(prod->starter_sg * 1000) / 1000);
478
a3653722b0d6 Add dry primary yeasts weights to get a mixed total. Use the parameters from the first and mmost used yeast. Changed in products and recipes. Recalculated WLP purepitch viability and planned next generation purepitch. We need a better way to set these parameters like a packages table. Fixed several yeast edit values due to adding a STA1 column. Removed several unneeded refresh_all() calls as they screwed the sorting of the yeasts during edit. Added STA1 display to recipes. Changed products database starter_viability from integer to float.
Michiel Broek <mbroek@mbse.eu>
parents: 458
diff changeset
877 query.bindValue(":starter_viability", round(prod->starter_viability * 10) / 10);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
878 query.bindValue(":yeast_prod_date", prod->yeast_prod_date);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
879 query.bindValue(":yeast_pitchrate", round(prod->yeast_pitchrate * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
880 query.bindValue(":prop1_type", prod->prop_type[0]);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
881 query.bindValue(":prop1_volume", round(prod->prop_volume[0] * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
882 query.bindValue(":prop2_type", prod->prop_type[1]);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
883 query.bindValue(":prop2_volume", round(prod->prop_volume[1] * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
884 query.bindValue(":prop3_type", prod->prop_type[2]);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
885 query.bindValue(":prop3_volume", round(prod->prop_volume[2] * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
886 query.bindValue(":prop4_type", prod->prop_type[3]);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
887 query.bindValue(":prop4_volume", round(prod->prop_volume[3] * 1000) / 1000);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
888 query.bindValue(":divide_type", prod->divide_type);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
889 query.bindValue(":divide_size", round(prod->divide_size * 10) / 10);
270
a0f72d7ace1f Added create splitted batches. Fixed rounding amount values at several places.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
890 query.bindValue(":divide_factor", round(prod->divide_factor * 10000) / 10000);
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
891 query.bindValue(":divide_parts", prod->divide_parts);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
892 query.bindValue(":divide_part", prod->divide_part);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
893
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
894 if (prod->fermentables.size() == 0) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
895 query.bindValue(":json_fermentables", "[]");
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
896 } else {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
897 QJsonArray array;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
898 for (int i = 0; i < prod->fermentables.size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
899 QJsonObject obj;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
900 obj.insert("f_name", prod->fermentables.at(i).name);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
901 obj.insert("f_origin", prod->fermentables.at(i).origin);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
902 obj.insert("f_supplier", prod->fermentables.at(i).supplier);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
903 obj.insert("f_amount", round(prod->fermentables.at(i).amount * 100000) / 100000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
904 obj.insert("f_cost", round(prod->fermentables.at(i).cost * 1000) / 1000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
905 obj.insert("f_type", prod->fermentables.at(i).type);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
906 obj.insert("f_yield", round(prod->fermentables.at(i).yield * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
907 obj.insert("f_color", round(prod->fermentables.at(i).color * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
908 obj.insert("f_coarse_fine_diff", round(prod->fermentables.at(i).coarse_fine_diff * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
909 obj.insert("f_moisture", round(prod->fermentables.at(i).moisture * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
910 obj.insert("f_diastatic_power", round(prod->fermentables.at(i).diastatic_power * 100000) / 100000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
911 obj.insert("f_protein", round(prod->fermentables.at(i).protein * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
912 obj.insert("f_dissolved_protein", round(prod->fermentables.at(i).dissolved_protein * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
913 obj.insert("f_max_in_batch", prod->fermentables.at(i).max_in_batch);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
914 obj.insert("f_graintype", prod->fermentables.at(i).graintype);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
915 obj.insert("f_added", prod->fermentables.at(i).added);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
916 obj.insert("f_recommend_mash", prod->fermentables.at(i).recommend_mash ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
917 obj.insert("f_add_after_boil", prod->fermentables.at(i).add_after_boil ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
918 obj.insert("f_adjust_to_total_100", prod->fermentables.at(i).adjust_to_total_100 ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
919 obj.insert("f_percentage", round(prod->fermentables.at(i).percentage * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
920 obj.insert("f_di_ph", round(prod->fermentables.at(i).di_ph * 100000) / 100000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
921 obj.insert("f_acid_to_ph_57", round(prod->fermentables.at(i).acid_to_ph_57 * 100000) / 100000);
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
922 // qDebug() << "fermentables_Json" << i << obj;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
923 array.append(obj); /* Append this object */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
924 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
925 QJsonDocument doc;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
926 doc.setArray(array);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
927 query.bindValue(":json_fermentables", doc.toJson(QJsonDocument::Compact));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
928 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
929
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
930 if (prod->hops.size() == 0) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
931 query.bindValue(":json_hops", "[]");
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
932 } else {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
933 QJsonArray array;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
934 for (int i = 0; i < prod->hops.size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
935 QJsonObject obj;
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
936 obj.insert("h_name", prod->hops.at(i).name);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
937 obj.insert("h_origin", prod->hops.at(i).origin);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
938 obj.insert("h_amount", round(prod->hops.at(i).amount * 100000) / 100000);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
939 obj.insert("h_cost", round(prod->hops.at(i).cost * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
940 obj.insert("h_type", prod->hops.at(i).type);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
941 obj.insert("h_form", prod->hops.at(i).form);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
942 obj.insert("h_useat", prod->hops.at(i).useat);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
943 obj.insert("h_time", round(prod->hops.at(i).time));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
944 obj.insert("h_alpha", round(prod->hops.at(i).alpha * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
945 obj.insert("h_beta", round(prod->hops.at(i).beta * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
946 obj.insert("h_hsi", round(prod->hops.at(i).hsi * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
947 obj.insert("h_humulene", round(prod->hops.at(i).humulene * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
948 obj.insert("h_caryophyllene", round(prod->hops.at(i).caryophyllene * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
949 obj.insert("h_cohumulone", round(prod->hops.at(i).cohumulone * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
950 obj.insert("h_myrcene", round(prod->hops.at(i).myrcene * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
951 obj.insert("h_total_oil", round(prod->hops.at(i).total_oil * 100) / 100);
373
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
952 obj.insert("h_utilisation", round(prod->hops.at(i).utilisation * 100) / 100);
b02aca4e926c First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.
Michiel Broek <mbroek@mbse.eu>
parents: 294
diff changeset
953 obj.insert("h_bu_factor", round(prod->hops.at(i).bu_factor * 100) / 100);
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
954 // qDebug() << "hops_Json" << i << obj;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
955 array.append(obj); /* Append this object */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
956 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
957 QJsonDocument doc;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
958 doc.setArray(array);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
959 query.bindValue(":json_hops", doc.toJson(QJsonDocument::Compact));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
960 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
961
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
962 if (prod->miscs.size() == 0) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
963 query.bindValue(":json_miscs", "[]");
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
964 } else {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
965 QJsonArray array;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
966 for (int i = 0; i < prod->miscs.size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
967 QJsonObject obj;
294
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
968 obj.insert("m_name", prod->miscs.at(i).name);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
969 obj.insert("m_amount", round(prod->miscs.at(i).amount * 100000) / 100000);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
970 obj.insert("m_type", prod->miscs.at(i).type);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
971 obj.insert("m_use_use", prod->miscs.at(i).use_use);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
972 obj.insert("m_time", round(prod->miscs.at(i).time));
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
973 obj.insert("m_amount_is_weight", prod->miscs.at(i).amount_is_weight ? 1:0);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
974 obj.insert("m_cost", round(prod->miscs.at(i).cost * 10000) / 10000);
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
975 // qDebug() << "miscs_Json" << i << obj;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
976 array.append(obj); /* Append this object */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
977 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
978 QJsonDocument doc;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
979 doc.setArray(array);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
980 query.bindValue(":json_miscs", doc.toJson(QJsonDocument::Compact));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
981 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
982
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
983 if (prod->yeasts.size() == 0) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
984 query.bindValue(":json_yeasts", "[]");
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
985 } else {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
986 QJsonArray array;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
987 for (int i = 0; i < prod->yeasts.size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
988 QJsonObject obj;
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
989 obj.insert("y_name", prod->yeasts.at(i).name);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
990 obj.insert("y_laboratory", prod->yeasts.at(i).laboratory);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
991 obj.insert("y_product_id", prod->yeasts.at(i).product_id);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
992 obj.insert("y_amount", round(prod->yeasts.at(i).amount * 100000) / 100000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
993 obj.insert("y_type", prod->yeasts.at(i).type);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
994 obj.insert("y_form", prod->yeasts.at(i).form);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
995 obj.insert("y_min_temperature", round(prod->yeasts.at(i).min_temperature * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
996 obj.insert("y_max_temperature", round(prod->yeasts.at(i).max_temperature * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
997 obj.insert("y_flocculation", prod->yeasts.at(i).flocculation);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
998 obj.insert("y_attenuation", round(prod->yeasts.at(i).attenuation * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
999 obj.insert("y_cells", prod->yeasts.at(i).cells);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1000 obj.insert("y_tolerance", round(prod->yeasts.at(i).tolerance * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1001 obj.insert("y_inventory", round(prod->yeasts.at(i).inventory * 10000) / 10000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1002 obj.insert("y_use", prod->yeasts.at(i).use);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1003 obj.insert("y_sta1", prod->yeasts.at(i).sta1 ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1004 obj.insert("y_bacteria", prod->yeasts.at(i).bacteria ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1005 obj.insert("y_harvest_top", prod->yeasts.at(i).harvest_top ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1006 obj.insert("y_harvest_time", prod->yeasts.at(i).harvest_time);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1007 obj.insert("y_pitch_temperature", round(prod->yeasts.at(i).pitch_temperature * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1008 obj.insert("y_pofpos", prod->yeasts.at(i).pofpos ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1009 obj.insert("y_zymocide", prod->yeasts.at(i).zymocide);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1010 obj.insert("y_gr_hl_lo", prod->yeasts.at(i).gr_hl_lo);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1011 obj.insert("y_sg_lo", round(prod->yeasts.at(i).sg_lo * 1000) / 1000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1012 obj.insert("y_gr_hl_hi", prod->yeasts.at(i).gr_hl_hi);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1013 obj.insert("y_sg_hi", round(prod->yeasts.at(i).sg_hi * 1000) / 1000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
1014 obj.insert("y_cost", round(prod->yeasts.at(i).cost * 1000) / 1000);
519
1b9e887392aa Fix export recipe to new product crash
Michiel Broek <mbroek@mbse.eu>
parents: 487
diff changeset
1015 if (! prod->yeasts.at(i).yp_uuid.isNull() && (prod->yeasts.at(i).yp_uuid.length() == 36)) {
485
83b5c2b3c414 Database upgrade will let the yeastpack cells at 0. Disabled some debug messages needed for development. Updated yeastpack editor tooltips.
Michiel Broek <mbroek@mbse.eu>
parents: 482
diff changeset
1016 // qDebug() << "yeasts_Json append package";
482
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1017 QJsonObject package;
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1018 package.insert("uuid", prod->yeasts.at(i).yp_uuid);
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1019 package.insert("package", prod->yeasts.at(i).yp_package);
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1020 package.insert("cells", prod->yeasts.at(i).yp_cells);
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1021 package.insert("viability", round(prod->yeasts.at(i).yp_viability * 10000) / 10000);
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1022 package.insert("max", prod->yeasts.at(i).yp_max);
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1023 package.insert("size", round(prod->yeasts.at(i).yp_size * 100000) / 100000);
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1024 obj.insert("y_package", package);
e13763ec829f Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.
Michiel Broek <mbroek@mbse.eu>
parents: 478
diff changeset
1025 }
487
04c67c9f903c Clean debug log settings after last changes.
Michiel Broek <mbroek@mbse.eu>
parents: 485
diff changeset
1026 // qDebug() << "yeasts_Json" << i << obj;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1027 array.append(obj); /* Append this object */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1028 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1029 QJsonDocument doc;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1030 doc.setArray(array);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1031 query.bindValue(":json_yeasts", doc.toJson(QJsonDocument::Compact));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1032 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1033
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1034 if (prod->mashs.size() == 0) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1035 query.bindValue(":json_mashs", "[]");
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1036 } else {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1037 QJsonArray array;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1038 for (int i = 0; i < prod->mashs.size(); i++) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1039 QJsonObject obj;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1040 obj.insert("step_name", prod->mashs.at(i).step_name);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1041 obj.insert("step_type", prod->mashs.at(i).step_type);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1042 obj.insert("step_volume", round(prod->mashs.at(i).step_volume * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1043 obj.insert("step_infuse_amount", round(prod->mashs.at(i).step_infuse_amount * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1044 obj.insert("step_infuse_temp", round(prod->mashs.at(i).step_infuse_temp * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1045 obj.insert("step_temp", round(prod->mashs.at(i).step_temp * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1046 obj.insert("step_time", round(prod->mashs.at(i).step_time * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1047 obj.insert("ramp_time", round(prod->mashs.at(i).ramp_time * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1048 obj.insert("end_temp", round(prod->mashs.at(i).end_temp * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1049 obj.insert("step_wg_ratio", round(prod->mashs.at(i).step_wg_ratio * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1050 obj.insert("step_ph", round(prod->mashs.at(i).step_ph * 100) / 100);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1051 obj.insert("step_sg", round(prod->mashs.at(i).step_sg * 10000) / 10000);
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1052 // qDebug() << "mashs_Json" << i << obj;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1053 array.append(obj); /* Append this object */
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1054 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1055 QJsonDocument doc;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1056 doc.setArray(array);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1057 query.bindValue(":json_mashs", doc.toJson(QJsonDocument::Compact));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1058 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1059
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1060 if (prod->record == -1) {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1061 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1062 } else {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1063 query.bindValue(":recno", prod->record);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1064 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1065 query.exec();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1066 if (query.lastError().isValid()) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
1067 qWarning() << "saveProduct" << query.lastError();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1068 QMessageBox::warning(dialog, QObject::tr("Database error"),
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1069 QObject::tr("MySQL error: %1\n%2\n%3")
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1070 .arg(query.lastError().nativeErrorCode())
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1071 .arg(query.lastError().driverText())
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1072 .arg(query.lastError().databaseText()));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1073 return false;
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1074 }
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1075
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1076 /*
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1077 * If this was a new product, find out what record number we
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1078 * have got and set it. So when the user saves this record
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1079 * again, it will be updated instead of inserting a new copy.
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1080 */
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1081 if (prod->record < 0) {
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1082 QVariant id = query.lastInsertId();
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1083 prod->record = id.toInt();
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1084 qInfo() << "saveProduct Inserted record" << prod->record;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1085 } else {
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
1086 qInfo() << "saveProduct Updated record" << prod->record;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1087 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1088 return true;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1089 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1090
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1091
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1092 bool DB_product::dele(QDialog *dialog, int recno)
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1093 {
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1094 QSqlQuery query;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1095
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1096 query.prepare("DELETE FROM products WHERE record = :recno");
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1097 query.bindValue(":recno", recno);
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1098 query.exec();
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1099 if (query.lastError().isValid()) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
1100 qWarning() << "deleteProduct" << query.lastError();
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1101 QMessageBox::warning(dialog, QObject::tr("Database error"),
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1102 QObject::tr("MySQL error: %1\n%2\n%3")
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1103 .arg(query.lastError().nativeErrorCode())
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1104 .arg(query.lastError().driverText())
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1105 .arg(query.lastError().databaseText()));
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1106 return false;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1107 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1108
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 248
diff changeset
1109 qInfo() << "deleteProduct Deleted" << recno;
248
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1110 return true;
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1111 }
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1112
1a7a5dffba58 Moved product record load, save and delete to a separate file and use passed record data.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1113

mercurial