-
Notifications
You must be signed in to change notification settings - Fork 0
/
deducciondialog.cpp
128 lines (110 loc) · 3.52 KB
/
deducciondialog.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include "deducciondialog.h"
#include "ui_deducciondialog.h"
DeduccionDialog::DeduccionDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::DeduccionDialog)
{
ui->setupUi(this);
model = new DeduccionModel("deduccionDialog","127.0.0.1","nomina","root","19017070",3306);
if (!model->isConected()){
QMessageBox::critical(this,"ERROR CRITICO",model->getStatusMessage(),QMessageBox::Ok);
this->close();
}
model->setDebug(true);
prepareWidget();
}
DeduccionDialog::~DeduccionDialog()
{
delete model;
delete ui;
}
void DeduccionDialog::deduccionTableViewSelectionChange()
{
QModelIndex myIndex= ui->deduccionTableView->model()->index(ui->deduccionTableView->currentIndex().row(),0);
QString codigo = ui->deduccionTableView->model()->data(myIndex).toString();
deduccion = Deduccion(model->findDeduccion(codigo));
if (!(deduccion.getCodigo() == "DEFAULT")) {
ui->codigoLineEdit->setText(deduccion.getCodigo());
ui->descripcionLineEdit->setText(deduccion.getDescripcion());
}
}
void DeduccionDialog::prepareWidget()
{
tableModel = new QSqlQueryModel(this);
updateTableView();
}
void DeduccionDialog::updateTableView(QString str)
{
if (ui->busquedaComboBox->currentIndex() == 0)
tableModel->setQuery(model->findDeducciones(str,false,DeduccionModel::Campo::descripcion));
else if (ui->busquedaComboBox->currentIndex() == 1)
tableModel->setQuery(model->findDeducciones(str,false,DeduccionModel::Campo::codigo));
else
tableModel->setQuery(model->findDeducciones(str,false,DeduccionModel::Campo::descripcion));
ui->deduccionTableView->setModel(tableModel);
QObject::connect(ui->deduccionTableView->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this,SLOT(deduccionTableViewSelectionChange()));
}
bool DeduccionDialog::validarDatos()
{
QString advertencias = "";
if (ui->cantidadSpinBox->value()==0)
{
advertencias = "- <b>Campo Cantidad debe ser mayor a 0 <b> \n"+ advertencias;
ui->cantidadSpinBox->setFocus();
ui->cantidadSpinBox->selectAll();
}
if (ui->descripcionLineEdit->text().isEmpty())
{
advertencias = "- <b>Campo Descripción no Puede estar en Blanco<b> \n"+ advertencias;
ui->busquedaLineEdit->setFocus();
}
if (ui->codigoLineEdit->text().isEmpty())
{
advertencias = "- <b>Campo Código no Puede estar en Blanco<b> \n"+ advertencias;
ui->busquedaLineEdit->setFocus();
}
if (advertencias == "") return true;
else {
QMessageBox::warning(this,"Alerta",advertencias);
return false;
}
}
void DeduccionDialog::on_aceptarPushButton_clicked()
{
if (validarDatos())
{
codigo = ui->codigoLineEdit->text();
cantidad = ui->cantidadSpinBox->value();
accept();
}
}
void DeduccionDialog::on_CancelarPushButton_clicked()
{
reject();
}
int DeduccionDialog::getCantidad() const
{
return cantidad;
}
QString DeduccionDialog::getCodigo() const
{
return codigo;
}
void DeduccionDialog::on_busquedaLineEdit_textChanged(const QString &arg1)
{
updateTableView(arg1);
}
void DeduccionDialog::on_deduccionTableView_doubleClicked(const QModelIndex &index)
{
(void) index;
ui->cantidadSpinBox->setFocus();
ui->cantidadSpinBox->selectAll();
}
void DeduccionDialog::on_deduccionTableView_entered(const QModelIndex &index)
{
(void) index;
ui->cantidadSpinBox->setFocus();
ui->cantidadSpinBox->selectAll();
}