|
|
@ -1,14 +1,13 @@
|
|
|
|
#include "customer.h"
|
|
|
|
#include "customer.h"
|
|
|
|
#include "ui_customer.h"
|
|
|
|
#include "ui_customer.h"
|
|
|
|
/*
|
|
|
|
|
|
|
|
* ID从数据库的提取
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
customer::customer(QWidget *parent) :
|
|
|
|
customer::customer(QWidget *parent) :
|
|
|
|
QMainWindow(parent),
|
|
|
|
QMainWindow(parent),
|
|
|
|
ui(new Ui::customer)
|
|
|
|
ui(new Ui::customer)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
init();
|
|
|
|
init();
|
|
|
|
|
|
|
|
ResetMessage *RM = new ResetMessage;
|
|
|
|
|
|
|
|
RM->getid(id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -26,8 +25,7 @@ void customer::paintEvent(QPaintEvent*)
|
|
|
|
|
|
|
|
|
|
|
|
void customer::init()//初始化
|
|
|
|
void customer::init()//初始化
|
|
|
|
{
|
|
|
|
{
|
|
|
|
id = "123";
|
|
|
|
account_roomaccount = 0;//账户订房的数量
|
|
|
|
//id = login->ui->lineEdit_account->text();崩溃
|
|
|
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
ui->setupUi(this);
|
|
|
|
this->setFixedSize(1920,1080);
|
|
|
|
this->setFixedSize(1920,1080);
|
|
|
|
this->setWindowTitle("用户界面");
|
|
|
|
this->setWindowTitle("用户界面");
|
|
|
@ -54,6 +52,10 @@ void customer::init()//初始化
|
|
|
|
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//表格不可编辑
|
|
|
|
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//表格不可编辑
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void customer::setid(QString str){
|
|
|
|
|
|
|
|
id = str;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void customer::setmousehand()//鼠标小手 完成
|
|
|
|
void customer::setmousehand()//鼠标小手 完成
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ui->search->setCursor(QCursor(Qt::PointingHandCursor));
|
|
|
|
ui->search->setCursor(QCursor(Qt::PointingHandCursor));
|
|
|
@ -67,6 +69,7 @@ void customer::on_checking_out1_clicked()//退房 完成
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int c = row;//总之是获取选中的行
|
|
|
|
int c = row;//总之是获取选中的行
|
|
|
|
if( ui->tableWidget->model()->index(c,6).data().toString() == id ){
|
|
|
|
if( ui->tableWidget->model()->index(c,6).data().toString() == id ){
|
|
|
|
|
|
|
|
account_roomaccount = 0;
|
|
|
|
QString QS = "空闲";
|
|
|
|
QString QS = "空闲";
|
|
|
|
QSqlQuery query((db));
|
|
|
|
QSqlQuery query((db));
|
|
|
|
|
|
|
|
|
|
|
@ -78,18 +81,20 @@ void customer::on_checking_out1_clicked()//退房 完成
|
|
|
|
query.prepare("UPDATE room set status=:QS where room_num = :num");
|
|
|
|
query.prepare("UPDATE room set status=:QS where room_num = :num");
|
|
|
|
query.bindValue(":QS",QS);
|
|
|
|
query.bindValue(":QS",QS);
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
query.exec();
|
|
|
|
query.exec();//开始操作数据库
|
|
|
|
query.prepare("UPDATE room set checkout_time=NULL where room_num = :num");
|
|
|
|
query.prepare("UPDATE room set checkout_time=NULL where room_num = :num");
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
query.exec();
|
|
|
|
query.exec();
|
|
|
|
query.prepare("UPDATE room set customer_id=NULL where room_num = :num");
|
|
|
|
query.prepare("UPDATE room set customer_id=NULL where room_num = :num");
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
query.exec();//开始操作数据库
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
query.prepare("UPDATE customer set room_num=NULL where account = :a");
|
|
|
|
|
|
|
|
query.bindValue(":a",id);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
|
|
|
|
if(c >= 0){
|
|
|
|
if(c >= 0){
|
|
|
|
QTableWidgetItem *Q1 = new QTableWidgetItem(QS);
|
|
|
|
QTableWidgetItem *Q1 = new QTableWidgetItem(QS);
|
|
|
|
ui->tableWidget->setItem(c,4,Q1);
|
|
|
|
ui->tableWidget->setItem(c,4,Q1);
|
|
|
|
ui->tableWidget->setItem(c,5,NULL);
|
|
|
|
|
|
|
|
ui->tableWidget->setItem(c,6,NULL);
|
|
|
|
ui->tableWidget->setItem(c,6,NULL);
|
|
|
|
Q1->setTextAlignment(Qt::AlignCenter);
|
|
|
|
Q1->setTextAlignment(Qt::AlignCenter);
|
|
|
|
QMessageBox::about(this,"提示","退房成功");
|
|
|
|
QMessageBox::about(this,"提示","退房成功");
|
|
|
@ -105,37 +110,46 @@ void customer::on_checking_out1_clicked()//退房 完成
|
|
|
|
void customer::on_Reservation1_clicked()//订房 完成
|
|
|
|
void customer::on_Reservation1_clicked()//订房 完成
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int c = row;//总之是获取选中的行
|
|
|
|
int c = row;//总之是获取选中的行
|
|
|
|
QString QS = "使用";
|
|
|
|
if(account_roomaccount == 0){
|
|
|
|
QSqlQuery query((db));
|
|
|
|
account_roomaccount = 1;
|
|
|
|
QString n = 0;
|
|
|
|
QString QS = "使用";
|
|
|
|
n = ui->tableWidget->model()->index(c,0).data().toString();
|
|
|
|
QSqlQuery query((db));
|
|
|
|
QDate d = QDate::currentDate();
|
|
|
|
QString n = 0;
|
|
|
|
|
|
|
|
n = ui->tableWidget->model()->index(c,0).data().toString();
|
|
|
|
|
|
|
|
QDate d = QDate::currentDate();
|
|
|
|
int num = n.toInt();
|
|
|
|
|
|
|
|
query.prepare("UPDATE room set status=:QS where room_num = :num");
|
|
|
|
|
|
|
|
query.bindValue(":QS",QS);
|
|
|
|
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
query.prepare("UPDATE room set checkout_time=DATE_ADD(:d, INTERVAL 1 DAY) where room_num = :num");
|
|
|
|
|
|
|
|
query.bindValue(":d",d);
|
|
|
|
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
query.prepare("UPDATE room set customer_id=:id where room_num = :num");
|
|
|
|
|
|
|
|
query.bindValue(":id",id);
|
|
|
|
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(c>=0){
|
|
|
|
|
|
|
|
QTableWidgetItem *Q1 = new QTableWidgetItem(QS);
|
|
|
|
|
|
|
|
ui->tableWidget->setItem(c,4,Q1);
|
|
|
|
|
|
|
|
Q1->setTextAlignment(Qt::AlignCenter);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QMessageBox::about(this,"提示","订房成功");
|
|
|
|
|
|
|
|
ui->Reservation1->setEnabled(false);
|
|
|
|
|
|
|
|
ui->checking_out1->setEnabled(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int num = n.toInt();
|
|
|
|
|
|
|
|
query.prepare("UPDATE room set status=:QS where room_num = :num");
|
|
|
|
|
|
|
|
query.bindValue(":QS",QS);
|
|
|
|
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
query.prepare("UPDATE room set checkout_time=DATE_ADD(:d, INTERVAL 1 DAY) where room_num = :num");
|
|
|
|
|
|
|
|
query.bindValue(":d",d);
|
|
|
|
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
query.prepare("UPDATE room set customer_id=:id where room_num = :num");
|
|
|
|
|
|
|
|
query.bindValue(":id",id);
|
|
|
|
|
|
|
|
query.bindValue(":num",num);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
query.prepare("UPDATE customer set room_num=:rn where account = :a");
|
|
|
|
|
|
|
|
query.bindValue(":a",id);
|
|
|
|
|
|
|
|
query.bindValue(":rn",num);
|
|
|
|
|
|
|
|
query.exec();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(c>=0){
|
|
|
|
|
|
|
|
QTableWidgetItem *Q1 = new QTableWidgetItem(QS);
|
|
|
|
|
|
|
|
QTableWidgetItem *Q3 = new QTableWidgetItem(id);
|
|
|
|
|
|
|
|
ui->tableWidget->setItem(c,4,Q1);
|
|
|
|
|
|
|
|
ui->tableWidget->setItem(c,6,Q3);
|
|
|
|
|
|
|
|
Q1->setTextAlignment(Qt::AlignCenter);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QMessageBox::about(this,"提示","订房成功");
|
|
|
|
|
|
|
|
ui->Reservation1->setEnabled(false);
|
|
|
|
|
|
|
|
ui->checking_out1->setEnabled(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else QMessageBox::about(this,"警告","一个账户只能预定一个房间");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -197,7 +211,7 @@ void customer::flush_data(QVector<QVector<QString>>&userinfo)//插入数据 完
|
|
|
|
QW->setTextAlignment(Qt::AlignCenter);//设置中心对齐
|
|
|
|
QW->setTextAlignment(Qt::AlignCenter);//设置中心对齐
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//ui->tableWidget->setHorizontalHeaderLabels({"房间号","房间类型","是否带窗","负责人","状态"});//设置表头
|
|
|
|
ui->tableWidget->setHorizontalHeaderLabels({"房间号","房间类型","是否带窗","负责人","状态"});//设置表头
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void customer::on_tableWidget_itemClicked(QTableWidgetItem *item)//点击表格格子 获取行数 完成
|
|
|
|
void customer::on_tableWidget_itemClicked(QTableWidgetItem *item)//点击表格格子 获取行数 完成
|
|
|
|