⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainwindow.cpp

📁 一个简单的美容院商品和顾客资料管理程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		{
			db.exec(goodsEditDialog.strSqlExec());
			queryModelGoods.setQuery();
		}
	}
}

void MainWindow::on_actGoodsInout_triggered()
{
	QModelIndex index = tableViewGoods->currentIndex();
	if (index.isValid())
	{
		GoodsInoutDialog goodsInoutDialog(this, queryModelGoods.record(index.row()));
		goodsInoutDialog.exec();
		if (goodsInoutDialog.result() == QDialog::Accepted)
		{
			db.exec(goodsInoutDialog.strSqlExec());
			queryModelGoods.setQuery();
		}
	}
}

void MainWindow::on_actGoodsEdit_triggered()
{
	QModelIndex index = tableViewGoods->currentIndex();
	if (index.isValid())
	{
		GoodsEditDialog goodsEditDialog(this, queryModelGoods.record(index.row()));
		goodsEditDialog.exec();	
		if (goodsEditDialog.result() == QDialog::Accepted)
		{
			db.exec(goodsEditDialog.strSqlExec());
			queryModelGoods.setQuery();
		}
	}
}

void MainWindow::on_actGoodsDelete_triggered()
{
	QModelIndex index = tableViewGoods->currentIndex();
	if (index.isValid())
	{
		db.exec(QString("DELETE FROM ct_goods WHERE goodsid = %1").arg(queryModelGoods.record(index.row()).value("goodsid").toInt()));
		queryModelGoods.setQuery();	
	}
}

void MainWindow::on_comboBoxGoodsType_currentIndexChanged(int index)
{
	queryModelGoods.setGoodsType(index-1);
}

void MainWindow::on_lineEditGoodsNo_returnPressed()
{
	QString strGoodsNo = lineEditGoodsNo->text().trimmed();
	queryModelGoods.setGoodsNo(strGoodsNo);
}

void MainWindow::on_tableViewGoods_doubleClicked(const QModelIndex &index)
{
	if (index.isValid())
	{
		GoodsEditDialog goodsEditDialog(this, queryModelGoods.record(index.row()));
		goodsEditDialog.exec();
		if (goodsEditDialog.result() == QDialog::Accepted)
		{
			db.exec(goodsEditDialog.strSqlExec());
			queryModelGoods.setQuery();
		}
	}
}

void MainWindow::on_tableViewCustomer_doubleClicked(const QModelIndex &index)
{
	if (index.isValid())
	{
		CustomerEditDialog customerEditDialog(this, queryModelCustomer.record(index.row()));
		customerEditDialog.exec();
		if (customerEditDialog.result() == QDialog::Accepted)
		{
			db.exec(customerEditDialog.strSqlExec());
			queryModelCustomer.setQuery();
		}
	}
}

void MainWindow::on_actCustomerAdd_triggered()
{
	if (db.isOpen())
	{
		CustomerEditDialog customerEditDialog(this);
		customerEditDialog.exec();	
		if (customerEditDialog.result() == QDialog::Accepted)
		{
			db.exec(customerEditDialog.strSqlExec());
			queryModelCustomer.setQuery();
		}
	}
}
void MainWindow::on_actCustomerEdit_triggered()
{
	QModelIndex index = tableViewCustomer->currentIndex();
	if (index.isValid())
	{
		CustomerEditDialog customerEditDialog(this, queryModelCustomer.record(index.row()));
		customerEditDialog.exec();	
		if (customerEditDialog.result() == QDialog::Accepted)
		{
			db.exec(customerEditDialog.strSqlExec());
			queryModelCustomer.setQuery();
		}
	}
}
void MainWindow::on_actCustomerDelete_triggered()
{
	QModelIndex index = tableViewCustomer->currentIndex();
	if (index.isValid())
	{
		db.exec(QString("DELETE FROM ct_customer WHERE customerid = %1").arg(queryModelCustomer.record(index.row()).value("customerid").toInt()));
		queryModelCustomer.setQuery();	
	}
}

void MainWindow::on_lineEditCustomerNo_returnPressed()
{
	QString strCustomerNo = lineEditCustomerNo->text().trimmed();
	queryModelCustomer.setCustomerNo(strCustomerNo);
}

void MainWindow::on_lineEditCustomerName_returnPressed()
{
	QString strCustomerName = lineEditCustomerName->text().trimmed();
	queryModelCustomer.setCustomerName(strCustomerName);
}

void MainWindow::on_lineEditConsumeCustomerNo_returnPressed()
{
	QString strCustomerNo = lineEditConsumeCustomerNo->text().trimmed();
	queryModelConsumeTop.setCustomerNo(strCustomerNo);
}

void MainWindow::on_lineEditConsumeCustomerName_returnPressed()
{
	QString strCustomerName = lineEditConsumeCustomerName->text().trimmed();
	queryModelConsumeTop.setCustomerName(strCustomerName);
}

void MainWindow::on_tableViewConsumeTop_activated(const QModelIndex &index)
{
	if (index.isValid())
	{
		// 在这里处理赋值事宜
		labelConsumeCustomerRemark->setText(queryModelConsumeTop.record(index.row()).value("remark").toString());
		labelConsumeCustomerAddress->setText(queryModelConsumeTop.record(index.row()).value("address").toString());
		labelConsumeCustomerMobile->setText(queryModelConsumeTop.record(index.row()).value("mobile").toString());
		labelConsumeCustomerPhone->setText(queryModelConsumeTop.record(index.row()).value("phone").toString());
		labelConsumeCustomerCompany->setText(queryModelConsumeTop.record(index.row()).value("company").toString());
		labelConsumeCustomerEmploy->setText(queryModelConsumeTop.record(index.row()).value("employ").toString());
		labelConsumeCustomerBirth->setText(queryModelConsumeTop.record(index.row()).value("birth").toString());
		labelConsumeCustomerAddDate->setText(queryModelConsumeTop.record(index.row()).value("adddate").toString());
		labelConsumeCustomerGender->setText(queryModelConsumeTop.record(index.row()).value("gender").toInt() == 1 ? tr("男") : tr("女"));
		labelConsumeCustomerCustomerNo->setText(queryModelConsumeTop.record(index.row()).value("customerno").toString());
		labelConsumeCustomerCustomerName->setText(queryModelConsumeTop.record(index.row()).value("fullname").toString());
		queryModelConsumeBottomLeft.setCustomerId(queryModelConsumeTop.record(index.row()).value("customerid").toInt());
		setConsumeBottomLeftLabel(false);

		queryModelConsumeBottomRight.setConsumeId(0);
		setConsumeBottomRightLabel(true);
	}
}

void MainWindow::on_actConsumeViewCustomer_triggered()
{
	QModelIndex index = tableViewConsumeTop->currentIndex();
	if (index.isValid())
	{
		on_tableViewConsumeTop_activated(index);
	}
}

void MainWindow::on_tableViewConsumeBottomLeft_activated(const QModelIndex &index)
{
	if (index.isValid())
	{
		// 在这里处理赋值事宜
		queryModelConsumeBottomRight.setConsumeId(queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt());
		setConsumeBottomRightLabel(false);

	}
}

void MainWindow::on_actConsumeViewDetail_triggered()
{
	QModelIndex index = tableViewConsumeBottomLeft->currentIndex();
	if (index.isValid())
	{
		on_tableViewConsumeBottomLeft_activated(index);
	}
}


void MainWindow::setConsumeBottomRightLabel(bool bReset)
{
		int iTotalNum = 0;
		double fTotalPrice = 0;

		if (bReset == false)
		{
			for (int i = 0; i < queryModelConsumeBottomRight.rowCount(); i++)
			{	
				iTotalNum += queryModelConsumeBottomRight.record(i).value("goodsnum").toInt();
				fTotalPrice += queryModelConsumeBottomRight.record(i).value("goodsprice").toDouble();
			}
		}
		
		labelBottomRightTotalNum->setText(tr("<font color=blue>%1件</font>").arg(iTotalNum));
		labelBottomRightTotalPrice->setText(tr("<font color=blue>%1元</font>").arg(fTotalPrice, 0, 'f', 2));
}

void MainWindow::setConsumeBottomLeftLabel(bool bReset)
{
		int iTotalNum = 0;
		double fTotalPrice = 0;

		if (bReset == false)
		{
			iTotalNum = queryModelConsumeBottomLeft.rowCount();
			
			for (int i = 0; i < iTotalNum; i++)
			{
				fTotalPrice += queryModelConsumeBottomLeft.record(i).value("consumeprice").toDouble();
			}
		}

		labelBottomLeftTotalNum->setText(tr("<font color=blue>%1次</font>").arg(iTotalNum));
		labelBottomLeftTotalPrice->setText(tr("<font color=blue>%1元</font>").arg(fTotalPrice, 0, 'f', 2));
}

void MainWindow::on_actConsumeAdd_triggered()
{
	QModelIndex index = tableViewConsumeTop->currentIndex();
	if (index.isValid())
	{
		db.exec(QString("INSERT INTO ct_consume(customerid, consumedate, consumeprice, remark) VALUES(%1, '%2', 0.00, '')").arg(queryModelConsumeTop.record(index.row()).value("customerid").toInt()).arg(QDate::currentDate().toString("yyyy-MM-dd")));
		queryModelConsumeBottomLeft.setQuery();	
	}
}

void MainWindow::on_actConsumeEdit_triggered()
{
}

void MainWindow::on_actConsumeDelete_triggered()
{
	QModelIndex index = tableViewConsumeBottomLeft->currentIndex();
	if (index.isValid())
	{
		if (queryModelConsumeBottomLeft.record(index.row()).value("consumeprice").toString() == "0.00")
		{
			db.exec(QString("DELETE FROM ct_consume WHERE consumeid = %1").arg(queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt()));
			queryModelConsumeBottomLeft.setQuery();
			return;
		}
		int bRet = QMessageBox::question(this, tr("是否还原商品"), tr("是否要将商品以及用户消费额还原?"), tr("是"), tr("否"), tr("取消"), 0, 2);
		if (bRet == 0)
		{
			QSqlQuery queryTemp;
			queryTemp.exec(QString("SELECT goodsid, goodsnum FROM ct_consumedetail WHERE consumeid = %1").arg(queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt()));
			while (queryTemp.next())
			{
				db.exec(QString("UPDATE ct_goods SET goodsnum = goodsnum + %1 WHERE goodsid = %2").arg(queryTemp.value(1).toInt()).arg(queryTemp.value(0).toInt()));
			}

			db.exec(QString("UPDATE ct_customer SET consumeprice = consumeprice - %1 WHERE customerid = %2").arg(queryModelConsumeBottomLeft.record(index.row()).value("consumeprice").toDouble()).arg(queryModelConsumeBottomLeft.customerId()));
			db.exec(QString("DELETE FROM ct_consumedetail WHERE consumeid = %1").arg(queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt()));
			db.exec(QString("DELETE FROM ct_consume WHERE consumeid = %1").arg(queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt()));
			queryModelConsumeBottomLeft.setQuery();
			queryModelConsumeBottomRight.setQuery();
		}
		else if (bRet == 1)
		{
			db.exec(QString("DELETE FROM ct_consumedetail WHERE consumeid = %1").arg(queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt()));
			db.exec(QString("DELETE FROM ct_consume WHERE consumeid = %1").arg(queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt()));
			queryModelConsumeBottomLeft.setQuery();
			queryModelConsumeBottomRight.setQuery();
		}
	}
}

void MainWindow::on_actConsumeGoodsAdd_triggered()
{
	QModelIndex index = tableViewConsumeBottomLeft->currentIndex();
	if (index.isValid())
	{
		ConsumeGoodsAddDialog consumeGoodsAddDialog(this, queryModelConsumeBottomLeft.record(index.row()).value("consumeid").toInt(), queryModelConsumeBottomLeft.customerId());
		consumeGoodsAddDialog.exec();
		if (consumeGoodsAddDialog.result() == QDialog::Accepted)
			{
				queryModelConsumeTop.setQuery();
				queryModelConsumeBottomLeft.setQuery();
				queryModelConsumeBottomRight.setQuery();
			}
	}
}

void MainWindow::on_actConsumeGoodsEdit_triggered()
{
}

void MainWindow::on_actConsumeGoodsDelete_triggered()
{
	QModelIndex index = tableViewConsumeBottomRight->currentIndex();
	if (index.isValid())
	{
		db.exec(QString("UPDATE ct_customer SET consumeprice = consumeprice - %1 WHERE customerid = %2").arg(queryModelConsumeBottomRight.record(index.row()).value("goodsprice").toDouble()).arg(queryModelConsumeBottomLeft.customerId()));
		db.exec(QString("UPDATE ct_consume SET consumeprice = consumeprice - %1 WHERE consumeid = %2").arg(queryModelConsumeBottomRight.record(index.row()).value("goodsprice").toDouble()).arg(queryModelConsumeBottomRight.consumeId()));
		db.exec(QString("UPDATE ct_goods SET goodsnum = goodsnum + %1 WHERE goodsid = %2").arg(queryModelConsumeBottomRight.record(index.row()).value("goodsnum").toInt()).arg(queryModelConsumeBottomRight.record(index.row()).value("goodsid").toInt()));
		db.exec(QString("DELETE FROM ct_consumedetail WHERE consumeid = %1 AND goodsid = %2").arg(queryModelConsumeBottomRight.consumeId()).arg(queryModelConsumeBottomRight.record(index.row()).value("goodsid").toInt()));
		queryModelConsumeTop.setQuery();
		queryModelConsumeBottomLeft.setQuery();
		queryModelConsumeBottomRight.setQuery();
	}
}

void MainWindow::on_actConsumeGoodsView_triggered()
{
	QModelIndex index = tableViewConsumeBottomRight->currentIndex();
	if (index.isValid())
	{
		GoodsViewDialog goodsViewDialog(this, queryModelConsumeBottomRight.record(index.row()));
		goodsViewDialog.exec();
	}
}

void MainWindow::on_tableViewConsumeBottomRight_doubleClicked(const QModelIndex &index)
{
	if (index.isValid())
	{
		GoodsViewDialog goodsViewDialog(this, queryModelConsumeBottomRight.record(index.row()));
		goodsViewDialog.exec();
	}
}

void MainWindow::on_pushButtonConsumeCustomerAdd_clicked()
{
	on_actionCustomer_triggered();
	on_actCustomerAdd_triggered();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -