214 } |
214 } |
215 } else { |
215 } else { |
216 qDebug() << "empty hops"; |
216 qDebug() << "empty hops"; |
217 } |
217 } |
218 |
218 |
219 const auto& m_json = query.value("json_miscs").toString(); |
219 const auto& json = query.value("json_miscs").toString(); |
220 if (!m_json.trimmed().isEmpty()) { |
220 if (!json.trimmed().isEmpty()) { |
221 const auto& formattedJson = QString("%1").arg(m_json); |
221 const auto& formattedJson = QString("%1").arg(json); |
222 QJsonDocument miscs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); |
222 QJsonDocument miscs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); |
223 if (parseError.error != QJsonParseError::NoError) { |
223 if (parseError.error != QJsonParseError::NoError) { |
224 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset; |
224 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset; |
225 } else if (miscs.isArray()) { |
225 } else if (miscs.isArray()) { |
226 for (int i = 0; i < miscs.array().size(); i++) { |
226 for (int i = 0; i < miscs.array().size(); i++) { |
227 QJsonObject obj = miscs.array().at(i).toObject(); |
227 QJsonObject obj = miscs.array().at(i).toObject(); |
228 Miscs m; |
228 Miscs m; |
229 m.m_name = obj["m_name"].toString(); |
229 m.name = obj["name"].toString(); |
230 m.m_amount = obj["m_amount"].toDouble(); |
230 m.amount = obj["amount"].toDouble(); |
231 m.m_type = obj["m_type"].toInt(); |
231 m.type = obj["type"].toInt(); |
232 m.m_use_use = obj["m_use_use"].toInt(); |
232 m.use_use = obj["use_use"].toInt(); |
233 m.m_time = obj["m_time"].toDouble(); |
233 m.time = obj["time"].toDouble(); |
234 m.m_amount_is_weight = obj["m_amount_is_weight"].toInt() ? true:false; |
234 m.amount_is_weight = obj["amount_is_weight"].toInt() ? true:false; |
235 m.m_cost = obj["m_cost"].toDouble(); |
235 m.cost = obj["cost"].toDouble(); |
236 reci->miscs.append(m); |
236 reci->miscs.append(m); |
237 } |
237 } |
238 } |
238 } |
239 } else { |
239 } else { |
240 qDebug() << "empty miscs"; |
240 qDebug() << "empty miscs"; |
547 query.bindValue(":json_miscs", "[]"); |
547 query.bindValue(":json_miscs", "[]"); |
548 } else { |
548 } else { |
549 QJsonArray array; |
549 QJsonArray array; |
550 for (int i = 0; i < reci->miscs.size(); i++) { |
550 for (int i = 0; i < reci->miscs.size(); i++) { |
551 QJsonObject obj; |
551 QJsonObject obj; |
552 obj.insert("m_name", reci->miscs.at(i).m_name); |
552 obj.insert("name", reci->miscs.at(i).name); |
553 obj.insert("m_amount", round(reci->miscs.at(i).m_amount * 10000) / 10000); |
553 obj.insert("amount", round(reci->miscs.at(i).amount * 10000) / 10000); |
554 obj.insert("m_type", reci->miscs.at(i).m_type); |
554 obj.insert("type", reci->miscs.at(i).type); |
555 obj.insert("m_use_use", reci->miscs.at(i).m_use_use); |
555 obj.insert("use_use", reci->miscs.at(i).use_use); |
556 obj.insert("m_time", round(reci->miscs.at(i).m_time)); |
556 obj.insert("time", round(reci->miscs.at(i).time)); |
557 obj.insert("m_amount_is_weight", reci->miscs.at(i).m_amount_is_weight ? 1:0); |
557 obj.insert("amount_is_weight", reci->miscs.at(i).amount_is_weight ? 1:0); |
558 obj.insert("m_cost", round(reci->miscs.at(i).m_cost * 10000) / 10000); |
558 obj.insert("cost", round(reci->miscs.at(i).cost * 10000) / 10000); |
559 array.append(obj); /* Append this object */ |
559 array.append(obj); /* Append this object */ |
560 } |
560 } |
561 QJsonDocument doc; |
561 QJsonDocument doc; |
562 doc.setArray(array); |
562 doc.setArray(array); |
563 query.bindValue(":json_miscs", doc.toJson(QJsonDocument::Compact)); |
563 query.bindValue(":json_miscs", doc.toJson(QJsonDocument::Compact)); |