-
Notifications
You must be signed in to change notification settings - Fork 0
/
dotacion_calc.py
101 lines (77 loc) · 4.42 KB
/
dotacion_calc.py
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
from dotacion import *
import leew
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
self.setupUi(self)
self.carga_data()
self.ya_se_puede_cerrar = False
self.cancelar.clicked.connect(self.close_cmd)
self.fecha = QtCore.QDate.currentDate().toString("dd-MM-yyyy")
self.crear.clicked.connect(self.add_dotacion)
self.crear.setDisabled(1)
self.cant_pant.valueChanged.connect(self.activa)
self.cant_guantes.valueChanged.connect(self.activa)
self.cant_lentes.valueChanged.connect(self.activa)
self.cant_zapatos.valueChanged.connect(self.activa)
self.cant_camisa.valueChanged.connect(self.activa)
self.nota_dota.textChanged.connect(self.activa)
def carga_data(self):
# llenado de filas combobox
idies = leew.consulta_lista('worker.db', 'id', 'info', 'Estatus', '"Activo"')
# print(idies)
for id in idies:
id = str(id)
nombre = leew.consulta_gen('worker.db', 'Nombre', 'info', 'id', f'"{id}"')
apellido = leew.consulta_gen('worker.db', 'Apellido', 'info', 'id', f'"{id}"')
cedula = leew.consulta_gen('worker.db', 'Identificacion', 'info', 'id', f'"{id}"')
trabajador = f"{id} {nombre} {apellido} {cedula}"
self.trabajador.addItem(trabajador)
def add_dotacion(self):
reply = QtWidgets.QMessageBox.question(self,"Para continuar","Desea usted agregar la dotación al trabajador?"
,QtWidgets.QMessageBox.Yes,QtWidgets.QMessageBox.No)
if reply == QtWidgets.QMessageBox.Yes:
try:
self.id = self.trabajador.currentText().split(' ')[0] # con esta linea saco el id de una cadena de texto
self.nombre = leew.consulta_gen('worker.db','Nombre','info','id',self.id)
self.apellido = leew.consulta_gen('worker.db','Apellido','info','id',self.id)
self.nombre_y_apellido = f"{self.nombre} {self.apellido}"
self.entrada = f'NULL, "{self.id}","{self.nombre_y_apellido}","{self.cant_camisa.text()}","{self.cant_pant.text()}","{self.cant_zapatos.text()}",' \
f'"{self.cant_lentes.text()}","{self.cant_guantes.text()}","{self.fecha}",' \
f'"{self.nota_dota.text()}"'
#print(self.entrada)
leew.introduce_gen('worker.db','dotacion',self.entrada)
QtWidgets.QMessageBox.information(self, "Atención", "Dotación agregada satisfactoriamente. Si desea imprimir"
" o borrar este registro por favor acceda a la ficha del trabajador"
" y seleccione la pestaña de dotaciones",
QtWidgets.QMessageBox.Ok)
self.ya_se_puede_cerrar = True
self.close()
except:
QtWidgets.QMessageBox.warning(self, "Error fatal", "Error en operación",
QtWidgets.QMessageBox.Ok)
def activa(self):
if self.nota_dota.text() != '':
if self.cant_camisa.text() != '0' or self.cant_zapatos.text() != '0' or self.cant_lentes.text() != '0' or \
self.cant_guantes.text() != '0' or self.cant_pant.text() != '0':
self.crear.setDisabled(0)
else:
self.crear.setDisabled(1)
else:
self.crear.setDisabled(1)
def close_cmd(self):
self.close()
def closeEvent(self, QCloseEvent):
if self.ya_se_puede_cerrar == False:
reply = QtWidgets.QMessageBox.question(self, 'Advertencia',
'¿Está usted seguro de salir? Se perderán los datos '
'no guardados', QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No,
QtWidgets.QMessageBox.No)
if reply == QtWidgets.QMessageBox.Yes:
QCloseEvent.accept()
self.parentWidget().close()
else:
QCloseEvent.ignore()
else:
QCloseEvent.accept()
self.parentWidget().close()