-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrazlog_stornacije.cpp
executable file
·114 lines (81 loc) · 2.69 KB
/
razlog_stornacije.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <QtSql>
#include <QMessageBox>
#include <QKeyEvent>
#include "kodiranje.h"
#include "razlog_stornacije.h"
#include "ui_razlog_stornacije.h"
razlog_stornacije::razlog_stornacije(QWidget *parent) :
QDialog(parent),
ui(new Ui::razlog_stornacije)
{
ui->setupUi(this);
ui->txt_id->setVisible(false);
ui->txt_razlog->setPlainText("");
}
razlog_stornacije::~razlog_stornacije()
{
delete ui;
}
void razlog_stornacije::on_btn_brisi_clicked() {
ui->txt_razlog->setPlainText("");
}
void razlog_stornacije::on_btn_shrani_clicked() {
if ( ui->txt_razlog->toPlainText() != "" ) { // razlog je vpisan
// spremenimo status racuna na storinirano
QSqlQuery sql_vnesi;
sql_vnesi.prepare("UPDATE racuni SET razlog_stornacije = ?, stornacija = ? WHERE id LIKE '" + pretvori(ui->txt_id->text()) + "'"
" AND tip_racuna LIKE '" + pretvori("3") + "'");
sql_vnesi.bindValue(0, pretvori(ui->txt_razlog->toPlainText()));
sql_vnesi.bindValue(1, pretvori("1"));
sql_vnesi.exec();
sql_vnesi.clear();
// poiscemo starsevski predracun
QString stars_id = "";
sql_vnesi.prepare("SELECT * from racuni WHERE id LIKE '" + pretvori(ui->txt_id->text()) + "'"
" AND tip_racuna LIKE '" + pretvori("3") + "'");
sql_vnesi.exec();
if ( sql_vnesi.next() ) {
stars_id = prevedi(sql_vnesi.value(sql_vnesi.record().indexOf("stevilka_starsa")).toString());
}
sql_vnesi.clear();
// popravimo starsevski predracun na odprt - omogoca izdajo novega racuna vezanega na isti predracun
sql_vnesi.prepare("UPDATE racuni SET status_racuna = '' WHERE id LIKE '" + pretvori(stars_id) + "' AND tip_racuna LIKE '" + pretvori("1") + "'");
sql_vnesi.exec();
sql_vnesi.clear();
// send signal to reload widget
poslji("racuni");
close();
}
else { // razlog ni vpisan, je pa nujen
QMessageBox msgbox;
msgbox.setText("Razlog stornacije ni naveden");
msgbox.setInformativeText("Razlog stornacije je nujen podatek. Brez njega ni mozno izvesti stornacije. Prosim, vpisite ga!");
msgbox.exec();
}
}
void razlog_stornacije::on_btn_izhod_clicked() {
close();
}
void razlog_stornacije::keyPressEvent(QKeyEvent *event) {
if (event->key() == Qt::Key_Return)
{
this->on_btn_shrani_clicked();
}
else if (event->key() == Qt::Key_Escape)
{
this->on_btn_shrani_clicked();
}
else if ((event->key() == Qt::Key_Delete) && (event->modifiers() == Qt::AltModifier))
{
this->on_btn_brisi_clicked();
}
}
void razlog_stornacije::prejem(QString besedilo) {
ui->txt_id->setText(besedilo);
}
QString razlog_stornacije::pretvori(QString besedilo) {
return kodiranje().zakodiraj(besedilo);
}
QString razlog_stornacije::prevedi(QString besedilo) {
return kodiranje().odkodiraj(besedilo);
}