src/database/db_product.cpp

changeset 280
efc213beb605
parent 270
a0f72d7ace1f
child 282
d1d208a857b0
equal deleted inserted replaced
279:8540fd0166e7 280:efc213beb605
379 } 379 }
380 } else { 380 } else {
381 qDebug() << "empty hops"; 381 qDebug() << "empty hops";
382 } 382 }
383 383
384 const auto& m_json = query.value("json_miscs").toString(); 384 const auto& json = query.value("json_miscs").toString();
385 if (!m_json.trimmed().isEmpty()) { 385 if (!json.trimmed().isEmpty()) {
386 const auto& formattedJson = QString("%1").arg(m_json); 386 const auto& formattedJson = QString("%1").arg(json);
387 QJsonDocument miscs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); 387 QJsonDocument miscs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
388 if (parseError.error != QJsonParseError::NoError) { 388 if (parseError.error != QJsonParseError::NoError) {
389 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset; 389 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset;
390 } else if (miscs.isArray()) { 390 } else if (miscs.isArray()) {
391 for (int i = 0; i < miscs.array().size(); i++) { 391 for (int i = 0; i < miscs.array().size(); i++) {
392 QJsonObject obj = miscs.array().at(i).toObject(); 392 QJsonObject obj = miscs.array().at(i).toObject();
393 Miscs m; 393 Miscs m;
394 m.m_avail = false; 394 m.avail = false;
395 m.m_inventory = 0; 395 m.inventory = 0;
396 m.m_name = obj["m_name"].toString(); 396 m.name = obj["name"].toString();
397 m.m_amount = obj["m_amount"].toDouble(); 397 m.amount = obj["amount"].toDouble();
398 m.m_type = obj["m_type"].toInt(); 398 m.type = obj["type"].toInt();
399 m.m_use_use = obj["m_use_use"].toInt(); 399 m.use_use = obj["use_use"].toInt();
400 m.m_time = obj["m_time"].toDouble(); 400 m.time = obj["time"].toDouble();
401 m.m_amount_is_weight = obj["m_amount_is_weight"].toInt() ? true:false; 401 m.amount_is_weight = obj["amount_is_weight"].toInt() ? true:false;
402 m.m_cost = obj["m_cost"].toDouble(); 402 m.cost = obj["cost"].toDouble();
403 /* Check and update inventory */ 403 /* Check and update inventory */
404 yquery.prepare("SELECT inventory FROM inventory_miscs WHERE name=:name"); 404 yquery.prepare("SELECT inventory FROM inventory_miscs WHERE name=:name");
405 yquery.bindValue(":name", m.m_name); 405 yquery.bindValue(":name", m.name);
406 yquery.exec(); 406 yquery.exec();
407 if (yquery.first()) { 407 if (yquery.first()) {
408 m.m_avail = true; 408 m.avail = true;
409 m.m_inventory = yquery.value(0).toDouble(); 409 m.inventory = yquery.value(0).toDouble();
410 } 410 }
411 prod->miscs.append(m); 411 prod->miscs.append(m);
412 } 412 }
413 qDebug() << "miscs" << prod->miscs.size(); 413 qDebug() << "miscs" << prod->miscs.size();
414 } 414 }
903 query.bindValue(":json_miscs", "[]"); 903 query.bindValue(":json_miscs", "[]");
904 } else { 904 } else {
905 QJsonArray array; 905 QJsonArray array;
906 for (int i = 0; i < prod->miscs.size(); i++) { 906 for (int i = 0; i < prod->miscs.size(); i++) {
907 QJsonObject obj; 907 QJsonObject obj;
908 obj.insert("m_name", prod->miscs.at(i).m_name); 908 obj.insert("name", prod->miscs.at(i).name);
909 obj.insert("m_amount", round(prod->miscs.at(i).m_amount * 100000) / 100000); 909 obj.insert("amount", round(prod->miscs.at(i).amount * 100000) / 100000);
910 obj.insert("m_type", prod->miscs.at(i).m_type); 910 obj.insert("type", prod->miscs.at(i).type);
911 obj.insert("m_use_use", prod->miscs.at(i).m_use_use); 911 obj.insert("use_use", prod->miscs.at(i).use_use);
912 obj.insert("m_time", round(prod->miscs.at(i).m_time)); 912 obj.insert("time", round(prod->miscs.at(i).time));
913 obj.insert("m_amount_is_weight", prod->miscs.at(i).m_amount_is_weight ? 1:0); 913 obj.insert("amount_is_weight", prod->miscs.at(i).amount_is_weight ? 1:0);
914 obj.insert("m_cost", round(prod->miscs.at(i).m_cost * 10000) / 10000); 914 obj.insert("cost", round(prod->miscs.at(i).cost * 10000) / 10000);
915 // qDebug() << "miscs_Json" << i << obj; 915 // qDebug() << "miscs_Json" << i << obj;
916 array.append(obj); /* Append this object */ 916 array.append(obj); /* Append this object */
917 } 917 }
918 QJsonDocument doc; 918 QJsonDocument doc;
919 doc.setArray(array); 919 doc.setArray(array);

mercurial