Added insert date to voucher items and save date to vouchers. Additional voucher descriptions (name, contact...) are now copied from saved vouchers when load items.

closes 
print
Josef Rokos
parent d4b5ca681c
commit c6e4e5818a

@ -281,6 +281,16 @@ void Voucher::setEetFik(const QString &eetFik)
m_eetFik = eetFik;
}
QDateTime Voucher::saveDateTime() const
{
return m_saveDateTime;
}
void Voucher::setSaveDateTime(const QDateTime &saveDateTime)
{
m_saveDateTime = saveDateTime;
}
int Voucher::id() const
{
return m_id;

@ -18,6 +18,7 @@ class Voucher : public QObject
Q_PROPERTY(QString numSer READ numSer WRITE setNumSer)
Q_PROPERTY(QDateTime payDateTime READ payDateTime WRITE setPayDateTime)
Q_PROPERTY(QDateTime saveDateTime READ saveDateTime WRITE setSaveDateTime)
Q_PROPERTY(QString name READ name WRITE setName)
Q_PROPERTY(QString description READ description WRITE setDescription)
Q_PROPERTY(QSharedPointer<QObject> contact READ contact WRITE setContact)
@ -139,12 +140,16 @@ public:
QString eetFik() const;
void setEetFik(const QString &eetFik);
QDateTime saveDateTime() const;
void setSaveDateTime(const QDateTime &saveDateTime);
private:
friend class odb::access;
#pragma db id auto
int m_id;
QString m_numSer;
QDateTime m_payDateTime;
QDateTime m_saveDateTime;
QString m_name;
QString m_description;
QSharedPointer<AddressbookData> m_contact;

@ -127,4 +127,14 @@ void VoucherItem::setVoucher(const QWeakPointer<Voucher> &voucher)
m_voucher = voucher;
}
QDateTime VoucherItem::insertDate() const
{
return m_insertDate;
}
void VoucherItem::setInsertDate(const QDateTime &insertDate)
{
m_insertDate = insertDate;
}

@ -6,6 +6,7 @@
#include <QDecDouble.hh>
#include <odb/core.hxx>
#include <QSharedPointer>
#include <QDateTime>
#include <enums.h>
@ -16,6 +17,7 @@ class VoucherItem : public QObject
{
Q_OBJECT
Q_PROPERTY(QDateTime insertDate READ insertDate WRITE setInsertDate)
Q_PROPERTY(QString name READ name WRITE setName)
Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged)
Q_PROPERTY(QDecDouble unitPrice READ unitPrice WRITE setUnitPrice)
@ -62,6 +64,9 @@ public:
QWeakPointer<Voucher> voucher() const;
void setVoucher(const QWeakPointer<Voucher> &voucher);
QDateTime insertDate() const;
void setInsertDate(const QDateTime &insertDate);
signals:
void countChanged(int oldCount);
@ -76,6 +81,7 @@ private:
int m_priceWitouthVat;
int m_price;
int m_refId;
QDateTime m_insertDate;
QString m_itemPlugin;
Enums::VatType m_vatType;
#pragma db not_null

@ -21,23 +21,25 @@ PaydVouchersDialog::PaydVouchersDialog(QWidget *parent) :
ui->tableVouchers->setModel(m_voucherModel);
ui->tableItems->setModel(m_itemModel);
ui->tableVouchers->setColumnHidden(5, true);
ui->tableVouchers->setColumnHidden(2, true);
ui->tableVouchers->setColumnHidden(6, true);
ui->tableVouchers->setColumnHidden(7, true);
ui->tableVouchers->setColumnHidden(8, true);
ui->tableVouchers->setColumnHidden(9, true);
ui->tableVouchers->setColumnHidden(10, true);
ui->tableVouchers->setColumnHidden(12, true);
ui->tableVouchers->setColumnHidden(11, true);
ui->tableVouchers->setColumnHidden(13, true);
ui->tableVouchers->setColumnHidden(14, true);
ui->tableVouchers->setColumnHidden(15, true);
ui->tableVouchers->setColumnHidden(16, true);
ui->tableVouchers->setColumnHidden(17, true);
ui->tableVouchers->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
ui->tableVouchers->setColumnHidden(18, true);
ui->tableVouchers->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
ui->tableVouchers->horizontalHeader()->setSectionResizeMode(4, QHeaderView::Stretch);
ui->tableVouchers->horizontalHeader()->setSectionResizeMode(5, QHeaderView::Stretch);
ui->tableItems->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
ui->tableItems->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
ui->tableItems->setColumnHidden(0, true);
ShopService srv;
m_voucherModel->setData(srv.paiedVouchers());

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>900</width>
<height>650</height>
<width>1000</width>
<height>700</height>
</rect>
</property>
<property name="windowTitle">
@ -249,8 +249,8 @@
</layout>
</widget>
<resources>
<include location="shoprc.qrc"/>
<include location="../core/rc.qrc"/>
<include location="shoprc.qrc"/>
</resources>
<connections/>
</ui>

@ -16,23 +16,29 @@ ReceiptLoadForm::ReceiptLoadForm(QWidget *parent) :
m_voucherModel->setData(srv.all(QString("status = %1").arg(QString::number(Voucher::NOT_PAID))));
m_voucherModel->setTranslations(Context::instance().plugin("SHOP")->translations());
ui->tabVouchers->setModel(m_voucherModel);
ui->tabVouchers->hideColumn(0);
ui->tabVouchers->hideColumn(1);
ui->tabVouchers->hideColumn(5);
ui->tabVouchers->hideColumn(6);
ui->tabVouchers->hideColumn(7);
ui->tabVouchers->hideColumn(8);
ui->tabVouchers->hideColumn(9);
ui->tabVouchers->hideColumn(10);
ui->tabVouchers->hideColumn(12);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
ui->tabVouchers->setColumnWidth(3, 200);
ui->tabVouchers->setColumnWidth(4, 200);
ui->tabVouchers->setColumnHidden(0, true);
ui->tabVouchers->setColumnHidden(1, true);
ui->tabVouchers->setColumnHidden(6, true);
ui->tabVouchers->setColumnHidden(7, true);
ui->tabVouchers->setColumnHidden(8, true);
ui->tabVouchers->setColumnHidden(9, true);
ui->tabVouchers->setColumnHidden(10, true);
ui->tabVouchers->setColumnHidden(11, true);
ui->tabVouchers->setColumnHidden(13, true);
ui->tabVouchers->setColumnHidden(14, true);
ui->tabVouchers->setColumnHidden(15, true);
ui->tabVouchers->setColumnHidden(16, true);
ui->tabVouchers->setColumnHidden(17, true);
ui->tabVouchers->setColumnHidden(18, true);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(4, QHeaderView::Stretch);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(5, QHeaderView::Stretch);
m_itemModel = new AutoTableModel<VoucherItem>(this);
m_itemModel->setTranslations(Context::instance().plugin("SHOP")->translations());
m_itemModel->setCheckboxSelect(true);
ui->tabItems->setModel(m_itemModel);
ui->tabItems->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
ui->tabItems->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
connect(ui->tabVouchers->selectionModel(), &QItemSelectionModel::currentRowChanged, [this](const QModelIndex &current, QModelIndex){
ShopService srv;

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>804</width>
<height>500</height>
<width>1000</width>
<height>700</height>
</rect>
</property>
<property name="windowTitle">

@ -26,16 +26,23 @@ ReceiptSaveForm::ReceiptSaveForm(QSharedPointer<Voucher> voucher, QWidget *paren
m_voucherModel->setData(srv.all(QString("status = %1").arg(QString::number(Voucher::NOT_PAID))));
m_voucherModel->setTranslations(Context::instance().plugin("SHOP")->translations());
ui->tabVouchers->setModel(m_voucherModel);
ui->tabVouchers->hideColumn(3);
ui->tabVouchers->hideColumn(4);
ui->tabVouchers->hideColumn(5);
ui->tabVouchers->hideColumn(6);
ui->tabVouchers->hideColumn(7);
ui->tabVouchers->hideColumn(8);
ui->tabVouchers->hideColumn(10);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
ui->tabVouchers->setColumnWidth(0, 190);
ui->tabVouchers->setColumnWidth(2, 200);
ui->tabVouchers->setColumnHidden(0, true);
ui->tabVouchers->setColumnHidden(1, true);
ui->tabVouchers->setColumnHidden(6, true);
ui->tabVouchers->setColumnHidden(7, true);
ui->tabVouchers->setColumnHidden(8, true);
ui->tabVouchers->setColumnHidden(9, true);
ui->tabVouchers->setColumnHidden(10, true);
ui->tabVouchers->setColumnHidden(11, true);
ui->tabVouchers->setColumnHidden(13, true);
ui->tabVouchers->setColumnHidden(14, true);
ui->tabVouchers->setColumnHidden(15, true);
ui->tabVouchers->setColumnHidden(16, true);
ui->tabVouchers->setColumnHidden(17, true);
ui->tabVouchers->setColumnHidden(18, true);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(4, QHeaderView::Stretch);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(5, QHeaderView::Stretch);
connect(ui->tabVouchers->selectionModel(), &QItemSelectionModel::currentRowChanged, [this](QModelIndex, QModelIndex){
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>804</width>
<height>578</height>
<width>1000</width>
<height>700</height>
</rect>
</property>
<property name="windowTitle">

@ -8,7 +8,7 @@
"default" : "",
"CZ" : ""
},
"schemaVersion" : 1,
"schemaVersion" : 3,
"sql" : [
"CREATE TABLE \"VoucherItem\" (
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
@ -56,6 +56,10 @@ CREATE TABLE \"Voucher\" (
FOREIGN KEY (\"contact\")
REFERENCES \"AddressbookData\" (\"id\")
DEFERRABLE INITIALLY DEFERRED);
",
"ALTER TABLE \"VoucherItem\" ADD \"insertDate\" TEXT NULL;
",
"ALTER TABLE \"Voucher\" ADD \"saveDateTime\" TEXT NULL;
"
],
"dependencies" : [ "ADDRESSBOOK" ],
@ -86,7 +90,9 @@ CREATE TABLE \"Voucher\" (
"totalPrice" : "Celková cena",
"status" : "Stav",
"numSer" : "Číslo",
"payDateTime" : "Datum"
"payDateTime" : "Datum zaplacení",
"saveDateTime" : "Datum uložení",
"insertDate" : "Datum vložení"
}
}
}

@ -39,10 +39,11 @@ void ShopForm::loadLast()
if (m_itemsModel == NULL)
{
m_itemsModel = new AutoTableModel<VoucherItem>(this);
m_itemsModel->setEditableCols(QList<int>() << 1);
m_itemsModel->setEditableCols(QList<int>() << 2);
m_itemsModel->setTranslations(Context::instance().plugin("SHOP")->translations());
ui->actualReceipt->setModel(m_itemsModel);
ui->actualReceipt->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
ui->actualReceipt->setColumnHidden(0, true);
ui->actualReceipt->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
}
ShopService srv;
@ -140,6 +141,7 @@ void ShopForm::on_saveButton_clicked()
if (form->saveAsNew())
{
m_voucher->setStatus(Voucher::NOT_PAID);
m_voucher->setSaveDateTime(QDateTime::currentDateTime());
srv.updateVoucher(m_voucher);
createEmptyVoucher();
}
@ -164,6 +166,11 @@ void ShopForm::on_loadButton_clicked()
form->setAttribute(Qt::WA_DeleteOnClose);
connect(form, &QDialog::accepted, [this, form](){
if (form->selectedItems().isEmpty())
{
return;
}
ShopService srv;
if (m_voucher.isNull())
@ -172,6 +179,9 @@ void ShopForm::on_loadButton_clicked()
}
srv.moveItems(form->selectedItems(), form->selectedVoucher(), this->m_voucher);
m_voucher->setDescription(form->selectedVoucher()->description());
m_voucher->setName(form->selectedVoucher()->name());
m_voucher->setContact(form->selectedVoucher()->contact());
m_itemsModel->setData(m_voucher->items());

@ -28,6 +28,7 @@ void ShopService::addShopItem(VoucherPtr voucher, QSharedPointer<IShopItem> item
vItem->setRefId(item->id());
vItem->setItemPlugin(item->pluginId());
vItem->setVatType(item->vatType());
vItem->setInsertDate(QDateTime::currentDateTime());
voucher->addItem(vItem);

Loading…
Cancel
Save