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); |