Added support for Value Added Tax.
This commit is contained in:
+43
-6
@@ -89,8 +89,18 @@ void ShopForm::loadLast()
|
||||
ui->actualReceipt->setColumnHidden(0, true);
|
||||
ui->actualReceipt->setColumnHidden(3, true);
|
||||
ui->actualReceipt->setColumnHidden(4, true);
|
||||
ui->actualReceipt->setColumnHidden(5, true);
|
||||
|
||||
SettingsService srv("CORE");
|
||||
GlobalSettingsPtr settings = srv.loadSettings<GlobalSettings>();
|
||||
|
||||
if (!settings->vatPayer())
|
||||
{
|
||||
ui->actualReceipt->setColumnHidden(5, true);
|
||||
ui->widgetVAT->setVisible(false);
|
||||
}
|
||||
|
||||
ui->actualReceipt->setColumnHidden(6, true);
|
||||
ui->actualReceipt->setColumnWidth(2, 50);
|
||||
ui->actualReceipt->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
|
||||
}
|
||||
|
||||
@@ -103,7 +113,8 @@ void ShopForm::loadLast()
|
||||
m_itemsModel->setData(m_voucher->items());
|
||||
connectItemSignals();
|
||||
|
||||
ui->total->setText(QString::number(m_voucher->totalPrice().toDouble(), 'f', 2));
|
||||
//ui->total->setText(QString::number(m_voucher->totalPrice().toDouble(), 'f', 2));
|
||||
setTotalText();
|
||||
|
||||
if (!m_voucher->items().isEmpty())
|
||||
{
|
||||
@@ -319,7 +330,9 @@ void ShopForm::onCountChanged(int oldCount/* = 0*/)
|
||||
|
||||
ShopService srv;
|
||||
srv.calculate(m_voucher);
|
||||
ui->total->setText(QString::number(m_voucher->totalPrice().toDouble(), 'f', 2));
|
||||
this->m_itemsModel->setData(m_voucher->items());
|
||||
|
||||
setTotalText();
|
||||
ui->temporarySaveButton->setEnabled(!m_voucher->items().isEmpty());
|
||||
ui->saveButton->setEnabled(!m_voucher->items().isEmpty());
|
||||
ui->payButton->setEnabled(!m_voucher->items().isEmpty());
|
||||
@@ -388,7 +401,8 @@ void ShopForm::changeReceipt()
|
||||
srv.updateVoucher(m_voucher);
|
||||
|
||||
m_itemsModel->setData(m_voucher->items());
|
||||
ui->total->setText(m_voucher->totalPrice().toString());
|
||||
//ui->total->setText(m_voucher->totalPrice().toString());
|
||||
setTotalText();
|
||||
|
||||
ui->temporarySaveButton->setEnabled(true);
|
||||
ui->saveButton->setEnabled(true);
|
||||
@@ -408,7 +422,8 @@ void ShopForm::createEmptyVoucher()
|
||||
{
|
||||
ShopService srv;
|
||||
m_voucher = srv.createVoucher();
|
||||
ui->total->setText("0");
|
||||
//ui->total->setText("0");
|
||||
setTotalText();
|
||||
ui->temporarySaveButton->setEnabled(false);
|
||||
ui->saveButton->setEnabled(false);
|
||||
ui->payButton->setEnabled(false);
|
||||
@@ -428,7 +443,7 @@ void ShopForm::addItem(QSharedPointer<IShopItem> item, int count)
|
||||
auto addFunc = [this](QSharedPointer<IShopItem> shopItem, int itemCount){
|
||||
ShopService srv;
|
||||
srv.addShopItem(m_voucher, shopItem, itemCount);
|
||||
this->m_itemsModel->addRow(m_voucher->items()[m_voucher->items().count() - 1]);
|
||||
//this->m_itemsModel->addRow(m_voucher->items()[m_voucher->items().count() - 1]);
|
||||
connect(m_voucher->items()[m_voucher->items().count() - 1].data(), SIGNAL(countChanged(int)), this, SLOT(onCountChanged(int)));
|
||||
onCountChanged();
|
||||
};
|
||||
@@ -452,6 +467,28 @@ void ShopForm::addItem(QSharedPointer<IShopItem> item, int count)
|
||||
ui->commoditySearch->setText("");
|
||||
}
|
||||
|
||||
void ShopForm::setTotalText()
|
||||
{
|
||||
ui->total->setText(QString::number(m_voucher->totalPrice().toDouble(), 'f', 2));
|
||||
|
||||
ui->vatRateHigh->setText(QString::number(m_voucher->vatRateHigh().toDouble(), 'f', 0) + "%");
|
||||
ui->vatRateFirstLow->setText(QString::number(m_voucher->vatRateFirstLower().toDouble(), 'f', 0) + "%");
|
||||
ui->vatRateSecondLow->setText(QString::number(m_voucher->vatRateSecondLower().toDouble(), 'f', 0) + "%");
|
||||
|
||||
ui->priceVatHigh->setText(QString::number(m_voucher->priceVatHigh().toDouble(), 'f', 2));
|
||||
ui->priceVatFirstLower->setText(QString::number(m_voucher->priceVatFirstLower().toDouble(), 'f', 2));
|
||||
ui->priceVatSecondLower->setText(QString::number(m_voucher->priceVatSecondLower().toDouble(), 'f', 2));
|
||||
|
||||
ui->vatHigh->setText(QString::number((m_voucher->totalPriceVatHigh() - m_voucher->priceVatHigh()).toDouble(), 'f', 2));
|
||||
ui->vatFirstLower->setText(QString::number((m_voucher->totalPriceVatFirstLower() - m_voucher->priceVatFirstLower()).toDouble(), 'f', 2));
|
||||
ui->vatSecondLower->setText(QString::number((m_voucher->totalPriceVatSecondLower() - m_voucher->priceVatSecondLower()).toDouble(), 'f', 2));
|
||||
|
||||
ui->totalPriceVatHigh->setText(QString::number(m_voucher->totalPriceVatHigh().toDouble(), 'f', 2));
|
||||
ui->totalPriceFirstLower->setText(QString::number(m_voucher->totalPriceVatFirstLower().toDouble(), 'f', 2));
|
||||
ui->totalPriceSecondLower->setText(QString::number(m_voucher->totalPriceVatSecondLower().toDouble(), 'f', 2));
|
||||
ui->priceNoVat->setText(QString::number(m_voucher->priceNoVat().toDouble(), 'f', 2));
|
||||
}
|
||||
|
||||
void ShopForm::on_receiptCombo_currentIndexChanged(int)
|
||||
{
|
||||
if (!m_voucher.isNull() && m_voucher->items().isEmpty())
|
||||
|
||||
Reference in New Issue
Block a user