Compare commits
No commits in common. "0a91de4d8697b6cfe0b7cf5b8bde96f23ec2c7d9" and "67643c665fe3fa24f4012e6f7850c563ce955928" have entirely different histories.
0a91de4d86
...
67643c665f
6 changed files with 11 additions and 115 deletions
|
@ -18,13 +18,14 @@ void ExcelReader::readSellersFromFile(const std::string& filename, Marketplace*
|
||||||
|
|
||||||
int rowCount{};
|
int rowCount{};
|
||||||
for (const auto& row : ws.rows(false)) {
|
for (const auto& row : ws.rows(false)) {
|
||||||
|
// auto test = row[0].value<int>();
|
||||||
if (rowCount < START_ROW) {
|
if (rowCount < START_ROW) {
|
||||||
++rowCount;
|
++rowCount;
|
||||||
continue;
|
continue;
|
||||||
} else if (rowCount > END_ROW) {
|
} else if (rowCount > END_ROW) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (row[2].value<std::string>().empty() && row[3].value<std::string>().empty()) {
|
if(row[2].value<std::string>().empty() && row[3].value<std::string>().empty()) {
|
||||||
++rowCount;
|
++rowCount;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,16 +31,17 @@ void JsonUtil::exportSellers(const std::string& filename, Marketplace* market)
|
||||||
|
|
||||||
void JsonUtil::importSellers(const std::string& filename, Marketplace* market)
|
void JsonUtil::importSellers(const std::string& filename, Marketplace* market)
|
||||||
{
|
{
|
||||||
for (auto& seller : market->getSellers()) {
|
for (auto& seller : market->getSellers())
|
||||||
|
{
|
||||||
seller->setState(Seller::State::DELETE);
|
seller->setState(Seller::State::DELETE);
|
||||||
}
|
}
|
||||||
market->storeToDb(true);
|
market->storeToDb(true);
|
||||||
|
|
||||||
Json::Value jsonValues;
|
Json::Value jsonValues;
|
||||||
std::ifstream file(filename);
|
std::ifstream file(filename);
|
||||||
file >> jsonValues;
|
file >> jsonValues;
|
||||||
|
|
||||||
for (auto val : jsonValues["sellers"]) {
|
for(auto val : jsonValues["sellers"]) {
|
||||||
auto seller = std::make_unique<Seller>();
|
auto seller = std::make_unique<Seller>();
|
||||||
seller->setUuidFromString(val["uuid"].asString());
|
seller->setUuidFromString(val["uuid"].asString());
|
||||||
seller->setSellerNo(val["seller_no"].asInt());
|
seller->setSellerNo(val["seller_no"].asInt());
|
||||||
|
@ -50,55 +51,4 @@ void JsonUtil::importSellers(const std::string& filename, Marketplace* market)
|
||||||
market->getSellers().push_back(std::move(seller));
|
market->getSellers().push_back(std::move(seller));
|
||||||
}
|
}
|
||||||
market->storeToDb();
|
market->storeToDb();
|
||||||
}
|
|
||||||
|
|
||||||
void JsonUtil::exportSales(const std::string& filename, Marketplace* market, int cashPointNo)
|
|
||||||
{
|
|
||||||
Json::Value root;
|
|
||||||
std::ofstream file(filename);
|
|
||||||
|
|
||||||
Json::StreamWriterBuilder builder;
|
|
||||||
builder["commentStyle"] = "None";
|
|
||||||
builder["indentation"] = " ";
|
|
||||||
|
|
||||||
std::unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
|
|
||||||
|
|
||||||
root["source_no"] = cashPointNo;
|
|
||||||
|
|
||||||
for (const auto& sale : market->getSales()) {
|
|
||||||
Json::Value newSale;
|
|
||||||
newSale["uuid"] = sale->getUuidAsString();
|
|
||||||
newSale["timestamp"] = sale->getTimestamp();
|
|
||||||
|
|
||||||
for (const auto& article : sale->getArticles()) {
|
|
||||||
Json::Value newArticle;
|
|
||||||
newArticle["uuid"] = article->getUuidAsString();
|
|
||||||
newArticle["seller_uuid"] = article->getSeller()->getUuidAsString();
|
|
||||||
newArticle["desc"] = article->getDescription();
|
|
||||||
newArticle["price"] = article->getPrice();
|
|
||||||
// newArticle["source_no"] = article->getSourceNo();
|
|
||||||
newArticle["article_no"] = article->getArticleNo();
|
|
||||||
|
|
||||||
newSale["articles"].append(newArticle);
|
|
||||||
}
|
|
||||||
|
|
||||||
root["sales"].append(newSale);
|
|
||||||
}
|
|
||||||
|
|
||||||
writer->write(root, &file);
|
|
||||||
}
|
|
||||||
|
|
||||||
void JsonUtil::importSales(const std::string& filename, Marketplace* market, int cashPointNo)
|
|
||||||
{
|
|
||||||
Json::Value jsonValues;
|
|
||||||
std::ifstream file(filename);
|
|
||||||
file >> jsonValues;
|
|
||||||
|
|
||||||
int source_no = jsonValues["source_no"].asInt();
|
|
||||||
if (source_no == cashPointNo) {
|
|
||||||
throw std::runtime_error("Die Kassen-Nr. der zu imporierenden Daten wird von dieser Kasse "
|
|
||||||
"hier bereits verwendet.");
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Import sales
|
|
||||||
}
|
}
|
|
@ -10,8 +10,6 @@ class JsonUtil
|
||||||
public:
|
public:
|
||||||
static void exportSellers(const std::string& filename, Marketplace* market);
|
static void exportSellers(const std::string& filename, Marketplace* market);
|
||||||
static void importSellers(const std::string& filename, Marketplace* market);
|
static void importSellers(const std::string& filename, Marketplace* market);
|
||||||
static void exportSales(const std::string& filename, Marketplace* market, int cashPointNo);
|
|
||||||
static void importSales(const std::string& filename, Marketplace* market, int cashPointNo);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -12,7 +12,6 @@
|
||||||
#include <excelreader.h>
|
#include <excelreader.h>
|
||||||
|
|
||||||
#include <regex>
|
#include <regex>
|
||||||
#include <exception>
|
|
||||||
|
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
@ -69,10 +68,6 @@ MainWindow::MainWindow()
|
||||||
&MainWindow::onImportSellerJsonActionTriggered);
|
&MainWindow::onImportSellerJsonActionTriggered);
|
||||||
connect(ui_.exportSellerJsonAction, &QAction::triggered, this,
|
connect(ui_.exportSellerJsonAction, &QAction::triggered, this,
|
||||||
&MainWindow::onExportSellerJsonActionTriggered);
|
&MainWindow::onExportSellerJsonActionTriggered);
|
||||||
connect(ui_.exportSalesJsonAction, &QAction::triggered, this,
|
|
||||||
&MainWindow::onExportSalesJsonActionTriggered);
|
|
||||||
connect(ui_.importSalesJsonAction, &QAction::triggered, this,
|
|
||||||
&MainWindow::onImportSalesJsonActionTriggered);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::onActionEditSellerTriggered()
|
void MainWindow::onActionEditSellerTriggered()
|
||||||
|
@ -281,45 +276,11 @@ void MainWindow::onImportSellerJsonActionTriggered()
|
||||||
JsonUtil::importSellers(filename.toStdString(), marketplace_.get());
|
JsonUtil::importSellers(filename.toStdString(), marketplace_.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::onExportSellerJsonActionTriggered()
|
void MainWindow::onExportSellerJsonActionTriggered()
|
||||||
{
|
{
|
||||||
auto filename = QFileDialog::getSaveFileName(this, "Verkäufer exportieren", QString(),
|
auto filename = QFileDialog::getSaveFileName(this, "Verkäufer exportieren", QString(),
|
||||||
"JSON Dateien (*.json)");
|
"JSON Dateien (*.json)");
|
||||||
|
|
||||||
JsonUtil::exportSellers(filename.toStdString(), marketplace_.get());
|
JsonUtil::exportSellers(filename.toStdString(), marketplace_.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::onExportSalesJsonActionTriggered()
|
|
||||||
{
|
|
||||||
QSettings settings;
|
|
||||||
|
|
||||||
auto filename = QFileDialog::getSaveFileName(this, "Umsätze/Transaktionen exportieren",
|
|
||||||
QString(), "JSON Dateien (*.json)");
|
|
||||||
JsonUtil::exportSales(filename.toStdString(), marketplace_.get(),
|
|
||||||
settings.value("global/cashPointNo").toInt());
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::onImportSalesJsonActionTriggered()
|
|
||||||
{
|
|
||||||
/* if (!marketplace_->getSales().empty()) {
|
|
||||||
QMessageBox(QMessageBox::Icon::Information, "Import nicht möglich",
|
|
||||||
"Der Import ist nicht möglich, da schon Verkäufe getätigt wurden.",
|
|
||||||
QMessageBox::StandardButton::Ok, this)
|
|
||||||
.exec();
|
|
||||||
return;
|
|
||||||
} */
|
|
||||||
|
|
||||||
QSettings settings;
|
|
||||||
|
|
||||||
auto filename = QFileDialog::getOpenFileName(this, "Umsätze/Transaktionen importieren",
|
|
||||||
QString(), "JSON Dateien (*.json)");
|
|
||||||
|
|
||||||
try {
|
|
||||||
JsonUtil::importSales(filename.toStdString(), marketplace_.get(),
|
|
||||||
settings.value("global/cashPointNo").toInt());
|
|
||||||
} catch (std::runtime_error& err) {
|
|
||||||
QMessageBox(QMessageBox::Icon::Warning, "Import nicht möglich", err.what(), QMessageBox::Ok,
|
|
||||||
this)
|
|
||||||
.exec();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -35,8 +35,6 @@ class MainWindow : public QMainWindow
|
||||||
void onImportSellerExcelActionTriggered();
|
void onImportSellerExcelActionTriggered();
|
||||||
void onImportSellerJsonActionTriggered();
|
void onImportSellerJsonActionTriggered();
|
||||||
void onExportSellerJsonActionTriggered();
|
void onExportSellerJsonActionTriggered();
|
||||||
void onExportSalesJsonActionTriggered();
|
|
||||||
void onImportSalesJsonActionTriggered();
|
|
||||||
void setSaleModel();
|
void setSaleModel();
|
||||||
|
|
||||||
Ui::MainWindow ui_;
|
Ui::MainWindow ui_;
|
||||||
|
|
|
@ -421,17 +421,15 @@ drucken</string>
|
||||||
<addaction name="aboutAction"/>
|
<addaction name="aboutAction"/>
|
||||||
<addaction name="aboutQtAction"/>
|
<addaction name="aboutQtAction"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuSales">
|
<widget class="QMenu" name="menuExtras">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>&Umsätze</string>
|
<string>&Extras</string>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="reportAction"/>
|
<addaction name="reportAction"/>
|
||||||
<addaction name="importSalesJsonAction"/>
|
|
||||||
<addaction name="exportSalesJsonAction"/>
|
|
||||||
</widget>
|
</widget>
|
||||||
<addaction name="menu_Datei"/>
|
<addaction name="menu_Datei"/>
|
||||||
<addaction name="menu_Edit"/>
|
<addaction name="menu_Edit"/>
|
||||||
<addaction name="menuSales"/>
|
<addaction name="menuExtras"/>
|
||||||
<addaction name="menuHilfe"/>
|
<addaction name="menuHilfe"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStatusBar" name="statusbar"/>
|
<widget class="QStatusBar" name="statusbar"/>
|
||||||
|
@ -484,16 +482,6 @@ drucken</string>
|
||||||
<string>Aus JSON-Datei</string>
|
<string>Aus JSON-Datei</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="exportSalesJsonAction">
|
|
||||||
<property name="text">
|
|
||||||
<string>Exportieren (JSON)</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="importSalesJsonAction">
|
|
||||||
<property name="text">
|
|
||||||
<string>Importieren (JSON)</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
|
Loading…
Reference in a new issue