src/database/db_product.cpp

changeset 482
e13763ec829f
parent 478
a3653722b0d6
child 485
83b5c2b3c414
--- a/src/database/db_product.cpp	Tue Jan 31 11:10:14 2023 +0100
+++ b/src/database/db_product.cpp	Tue Jan 31 16:24:11 2023 +0100
@@ -64,11 +64,7 @@
     prod->eq_trub_loss = query.value("eq_trub_loss").toDouble();
     prod->eq_evap_rate = query.value("eq_evap_rate").toDouble();
     prod->eq_boil_time = query.value("eq_boil_time").toDouble();
-//    prod->eq_calc_boil_volume = query.value("eq_calc_boil_volume").toInt() ? true:false;
     prod->eq_top_up_kettle = query.value("eq_top_up_kettle").toDouble();
-//    prod->eq_hop_utilization = query.value("eq_hop_utilization").toDouble();
-//    prod->eq_lauter_volume = query.value("eq_lauter_volume").toDouble();
-//    prod->eq_lauter_height = query.value("eq_lauter_height").toDouble();
     prod->eq_lauter_deadspace = query.value("eq_lauter_deadspace").toDouble();
     prod->eq_kettle_volume = query.value("eq_kettle_volume").toDouble();
     prod->eq_kettle_height = query.value("eq_kettle_height").toDouble();
@@ -438,6 +434,7 @@
 	    } else if (yeasts.isArray()) {
 		for (int i = 0; i < yeasts.array().size(); i++) {
 		    QJsonObject obj = yeasts.array().at(i).toObject();
+		    qDebug() << "yeasts_Json" << i << obj;
 		    Yeasts y;
 		    /* First some defaults for newer fields. */
 		    y.tolerance = y.harvest_time = y.pitch_temperature = y.zymocide = 0;
@@ -446,6 +443,13 @@
                     y.sg_lo = 1.04;
                     y.gr_hl_hi = 80;
                     y.sg_hi = 1.08;
+		    /* Clear Yeast Package data */
+		    y.yp_uuid = QString();
+		    y.yp_package = QString();
+		    y.yp_cells = obj["y_cells"].toDouble();
+		    y.yp_viability = 0.99;
+		    y.yp_max = 100;
+		    y.yp_size = 0.01;
 		    /* Now get what we have got */
 		    y.name = obj["y_name"].toString();
 		    y.laboratory = obj["y_laboratory"].toString();
@@ -485,25 +489,42 @@
             	    yquery.exec();
             	    if (yquery.first()) {
 			if (y.tolerance == 0 || y.cells == 0) {
-			    y.tolerance = yquery.value(0).toDouble();
-			    y.cells = yquery.value(1).toDouble();
+			    y.tolerance = yquery.value("tolerance").toDouble();
+			    y.cells = yquery.value("cells").toDouble();
 			}
-			y.sta1 = yquery.value(2).toInt() ? true:false;
-			y.bacteria = yquery.value(3).toInt() ? true:false;
-			y.harvest_top = yquery.value(4).toInt() ? true:false;
-			y.harvest_time = yquery.value(5).toInt();
-			y.pitch_temperature = yquery.value(6).toDouble();
-			y.pofpos = yquery.value(7).toInt() ? true:false;
-			y.zymocide = yquery.value(8).toInt();
-			y.gr_hl_lo = yquery.value(9).toInt();
-			y.sg_lo = yquery.value(10).toDouble();
-			y.gr_hl_hi = yquery.value(11).toInt();
-			y.sg_hi = yquery.value(12).toDouble();
-			y.inventory = yquery.value(13).toDouble();
+			y.sta1 = yquery.value("sta1").toInt() ? true:false;
+			y.bacteria = yquery.value("bacteria").toInt() ? true:false;
+			y.harvest_top = yquery.value("harvest_top").toInt() ? true:false;
+			y.harvest_time = yquery.value("harvest_time").toInt();
+			y.pitch_temperature = yquery.value("pitch_temperature").toDouble();
+			y.pofpos = yquery.value("pofpos").toInt() ? true:false;
+			y.zymocide = yquery.value("zymocide").toInt();
+			y.gr_hl_lo = yquery.value("gr_hl_lo").toInt();
+			y.sg_lo = yquery.value("sg_lo").toDouble();
+			y.gr_hl_hi = yquery.value("gr_hl_hi").toInt();
+			y.sg_hi = yquery.value("sg_hi").toDouble();
+			y.inventory = yquery.value("inventory").toDouble();
 			y.avail = true;
 		    } else {
 			qDebug() << y.name << y.product_id << "not found for upgrade";
 		    }
+		    /*
+		     * Yeast Pack.
+		     */
+		    if (obj.contains("y_package") && obj["y_package"].isObject()) {
+			qDebug() << "y_package object present";
+			QJsonObject package = obj.value("y_package").toObject();
+			qDebug() << "yeasts_Json package" << i << package;
+			y.yp_uuid = package["uuid"].toString();
+			y.yp_package = package["package"].toString();
+                    	y.yp_cells = package["cells"].toDouble();
+                    	y.yp_viability = package["viability"].toDouble();
+                    	y.yp_max = package["max"].toInt();
+                    	y.yp_size = package["size"].toDouble();
+		    } else {
+			qDebug() << "y_package not present";
+		    }
+
 		    prod->yeasts.append(y);
 		}
 //		qDebug() << "yeasts" << prod->yeasts.size();
@@ -973,7 +994,18 @@
 		obj.insert("y_gr_hl_hi", prod->yeasts.at(i).gr_hl_hi);
 		obj.insert("y_sg_hi", round(prod->yeasts.at(i).sg_hi * 1000) / 1000);
 		obj.insert("y_cost", round(prod->yeasts.at(i).cost * 1000) / 1000);
- //               qDebug() << "yeasts_Json" << i << obj;
+		if (! product->yeasts.at(i).yp_uuid.isNull() && (product->yeasts.at(i).yp_uuid.length() == 36)) {
+		    qDebug() << "yeasts_Json append package";
+		    QJsonObject package;
+		    package.insert("uuid", prod->yeasts.at(i).yp_uuid);
+		    package.insert("package", prod->yeasts.at(i).yp_package);
+		    package.insert("cells", prod->yeasts.at(i).yp_cells);
+		    package.insert("viability", round(prod->yeasts.at(i).yp_viability * 10000) / 10000);
+		    package.insert("max", prod->yeasts.at(i).yp_max);
+		    package.insert("size", round(prod->yeasts.at(i).yp_size * 100000) / 100000);
+		    obj.insert("y_package", package);
+		}
+                qDebug() << "yeasts_Json" << i << obj;
                 array.append(obj);      /* Append this object */
         }
 	QJsonDocument doc;

mercurial