You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
4.1 KiB

import sys
import time
from PySide6 import QtCore, QtGui, QtWidgets
from PySide6.QtWidgets import QApplication, QMainWindow, QMessageBox
from login import Ui_Login
from readercontrol import Ui_Readercontrol
from connect import *
from systemcontrol import Ui_systemcontrol
from bookcontrol import Ui_bookcontrol
cursor, conn = connect()
class Readerui(QtWidgets.QMainWindow, Ui_Readercontrol):
def __init__(self, parent=None):
super(Readerui, self).__init__()
self.setupUi(self)
class bookadminui(QtWidgets.QMainWindow, Ui_bookcontrol):
def __init__(self, parent=None):
super(bookadminui, self).__init__()
self.setupUi(self)
class sysadminui(QtWidgets.QMainWindow, Ui_systemcontrol):
def __init__(self, parent=None):
super(sysadminui, self).__init__()
self.setupUi(self)
class MyMainForm(QMainWindow, Ui_Login):
def __init__(self, parent=None):
super(MyMainForm, self).__init__()
self.setupUi(self)
self.exitbt.clicked.connect(self.exit)
self.loginbt.clicked.connect(self.login)
def exit(self):
rec_code = QMessageBox.question(self, "确认", "您确认要退出吗?", QMessageBox.Yes | QMessageBox.No)
if rec_code != 65536:
self.close()
def login(self):
ID = self.userline.text()
PW = self.pwline.text()
if ID == '' or PW == '':
QMessageBox.warning(self, "警告", "请输入用户名或密码", QMessageBox.Yes)
else:
# 读者登录
if self.idbox.currentText() == '读者':
sql = 'select * from readers where ID = "%s" and password="%s"' % (ID, PW)
res = cursor.execute(sql)
if res:
logintime = time.strftime("%Y-%m-%d", time.localtime())
sql = 'select * from loginrecord where time="%s"' % logintime
res = cursor.execute(sql)
logined = cursor.fetchall()
if res:
last = logined[-1]
number = last[-1]
num = number + 1
sql = 'INSERT INTO loginrecord(ID,time,number) VALUES(%s,"%s",%d)' % (ID, logintime, num)
cursor.execute(sql)
conn.commit()
else:
sql = 'INSERT INTO loginrecord(ID,time,number) VALUES(%s,"%s",%d)' % (ID, logintime, 1)
cursor.execute(sql)
conn.commit()
self.read = Readerui()
self.read.show()
self.hide()
# self.close()
else:
QMessageBox.warning(self, "警告", "密码错误!", QMessageBox.Yes)
elif self.idbox.currentText() == '图书管理员':
type = '图书管理员'
sql = 'select * from workers where ID = "%s" and password="%s" and type="%s" ' % (ID, PW, type)
res = cursor.execute(sql)
if res:
self.bookadmin = bookadminui()
self.bookadmin.show()
# self.close()
self.hide()
pass
else:
QMessageBox.warning(self, "警告", "密码错误,请重新输入!", QMessageBox.Yes)
elif self.idbox.currentText() == '系统管理员':
type = '系统管理员'
sql = 'select * from workers where ID = "%s" and password="%s" and type="%s"' % (ID, PW, type)
res = cursor.execute(sql)
# 进行判断
if res:
self.sysadmin = sysadminui()
self.sysadmin.show()
# self.close()
self.hide()
else:
QMessageBox.warning(self, "警告", "密码错误,请重新输入!", QMessageBox.Yes)
app = QApplication(sys.argv)
myWindow = MyMainForm()
myWindow.show()
sys.exit(app.exec())