Commit 1bdf9368 by ss.dai

完成逻辑处理

parent 2867d09b
......@@ -6,6 +6,8 @@
#include "Model/cashierObject.h"
#include <QtSql/QSqlDatabase>
#include <QDateTime>
#include <QThread>
#include <QTcpServer>
class PluginWorker;
......@@ -14,29 +16,13 @@ class FMPLUGINSHARED_EXPORT FmPlugin
public:
static FmPlugin& GetInstance();
/* 功能:连接数据库
* 参数:[1]IP[2]用户名[3]密码[4]库名[5]错误
* 返回:是否成功
* */
bool ConnectDb(const QString& host, const QString& username, const QString& password,
const QString& dbname, QString& error);
/* 功能:获取门店信息
* 参数:[1]门店编号[2]收银机编号[3]收银员编号[4]营业日[5]错误
* 返回:是否成功
* */
bool GetStoreInfo(QString& storeId, QString& posId, QString& cashierId,
QDateTime& dateTime, QString& error);
/* 功能:获取在班收银员信息
* 参数:[1]收银员列表[2]错误信息
* 返回:是否成功
* */
bool GetOnDutyCashiers(QList<CashierObject>& cashiersList, QString& error);
void SetRemoteInfo(const QString& ip, int port);
/* 功能:写入销售单
* 参数:[1]订单对象[2]错误信息
* 参数:[1]订单对象[2]错误信息[3]是否是确认动作
* 返回:是否成功
* */
bool DoOrderEntry(OrderObject const *orderObject, const QString& cashierId, const QString& cashierName,
const QString& shiftId, const QString& shiftName, QString& error);
bool DoOrderEntry(OrderObject const *orderObject, QString& error, bool bVerify = false);
/* 功能:撤销销售单
* 参数:[1]订单编号[2]错误信息
* 返回:是否成功
......@@ -48,39 +34,23 @@ private:
FmPlugin(FmPlugin const&);
FmPlugin& operator=(FmPlugin const&);
// 数据库句柄
QSqlDatabase m_db;
// 门店号
QString m_storeId;
// 通信地址
QString m_host;
int m_port;
// 订单对象
const OrderObject *m_orderObject;
OrderObject const *m_orderObject;
/* 功能:写入表d_t_food_fmbill0
* 参数:[1]收银员ID[2]收银员姓名[3]班次ID[4]班次名称
* 返回:true成功false失败
* */
bool _InsertInto_d_t_food_fmbill0(const QString& cashierId, const QString& cashierName,
const QString& shiftId, const QString& shiftName);
/* 功能:写入表d_t_food_fmbills0
* 参数:NULL
* 返回:true成功false失败
* */
bool _InsertInto_d_t_food_fmbills0();
/* 功能:写入表d_t_food_fmpay0
* 参数:NULL
* 返回:true成功false失败
* */
bool _InsertInto_d_t_bill_fmpay0();
/* 功能:执行存储过程pr_fmwm
* 参数:NULL
* 返回:true成功false失败
/* 功能:获取写入销售单数据
* 参数:[1]订单对象
* 返回:写入销售单数据
* */
bool _Exec_pr_fmwm();
/* 功能:将【分】转化为【元】
* 参数:[1]
* 返回:
QByteArray _GetOrderEntryData(OrderObject const *orderObject, bool bVerify = false);
/* 功能:获取写入销售单数据
* 参数:[1]订单对象
* 返回:写入销售单数据
* */
QString _Penny2Dollar(int penny);
QByteArray _GetRefundOrderData(const QString& orderId);
};
#endif // FMPLUGIN_H
......@@ -20,28 +20,34 @@ FlowControl &FlowControl::GetInstance()
FlowControl::FlowControl()
{
m_bFirstRecvInfo = true;
m_timestamp = "0";
m_loginSocket = NULL;
m_pullOrderSocket = NULL;
m_procOrderSocket = NULL;
}
bool FlowControl::_GetStoreInfo()
void FlowControl::onGetNewStoreInfo(const QString &operator_id, const QString &pos_id, const QString &store_id, const QString &business_date)
{
QString error;
bool result;
m_storeId = store_id;
m_posId = pos_id;
m_cashierId = operator_id;
m_bDate = QDateTime::fromString(business_date, "yyyyMMdd");
emit showAlert(AlertForm::LOADING, "正在获取门店信息......");
QLOG_INFO() << QString("[---get storeInfo---]");
result = FmPlugin::GetInstance().GetStoreInfo(m_storeId, m_posId, m_cashierId, m_bDate, error);
QLOG_INFO() << QString("get storeInfo finsh. [result:%1][msg:%2][storeId:%3,posId:%4,cashierId:%5,bdate:%6]")
.arg(result).arg(error, m_storeId, m_posId, m_cashierId, m_bDate.toString("yyyy-MM-dd"));
if(m_bFirstRecvInfo)
{
m_bFirstRecvInfo = false;
if(!result)
m_loginSocket = new BillSocket(this);
m_pullOrderSocket = new BillSocket(this);
m_procOrderSocket = new BillSocket(this);
_Login();
}else
{
emit showAlert(AlertForm::ERROR, "获取门店信息失败!");
emit setStoreInfo(m_storeId);
emit setCashierInfo(m_cashierId);
}
return result;
}
bool FlowControl::_Login()
......@@ -51,7 +57,6 @@ bool FlowControl::_Login()
QJsonObject sendJson;
QJsonObject recvJson;
// TODO
sendJson = DataManger::GetInstance().GetLoginData(m_storeId, SERVER_PASSWORD, m_posId, m_cashierId);
emit showAlert(AlertForm::LOADING, "正在登录......");
......@@ -79,12 +84,11 @@ bool FlowControl::_Login()
}
}
/*
if(!result)
{
QLOG_INFO() << QString("%1 msec after login...").arg(VALUE_RELOGINTIME);
QTimer::singleShot(VALUE_RELOGINTIME, this, &FlowControl::_Login);
}*/
}
return result;
}
......@@ -230,32 +234,21 @@ bool FlowControl::_ConfirmOrder(const QString &orderId, const DeliverObject &del
OrderObject *orderObject = m_ordersMap.value(orderId);
emit showAlert(AlertForm::LOADING, "正在写入销售单......");
QString orderEntryError("");
// 写入销售单
QLOG_INFO() << QString("[---begin entry order---].");
if(!FmPlugin::GetInstance().DoOrderEntry(orderObject, m_cashierId, m_posId,
m_storeId, m_bDate.toString("yyyy-MM-dd"), error))
if(!FmPlugin::GetInstance().DoOrderEntry(orderObject, error))
{
QString dirPath = QString("%1/orders").arg(QApplication::applicationDirPath());
QDir dir;
dir.mkdir(dirPath);
QFile file(QString("%1/%2").arg(dirPath, orderObject->order_id));
if(!file.exists())
while(!FmPlugin::GetInstance().DoOrderEntry(orderObject, error, true))
{
file.open(QFile::WriteOnly);
file.close();
QLOG_INFO() << QString("entry order failed[%1]").arg(error);
}
orderEntryError = QString("\r\n[写入销售单失败]");
QLOG_INFO() << QString("entry order failed[%1]").arg(error);
}else
{
orderEntryError = QString("\r\n[写入销售单成功]");
}
QLOG_INFO() << QString("[entry order success].");
QString remark(orderObject->remark), deliveryTime;
remark = remark.isEmpty()? "" : QString("\r\n[备注: %1]").arg(remark);
deliveryTime = QString("\r\n[期望送达时间: %1]").arg(orderObject->delivery_time);
emit showAlert(AlertForm::SUCCESS, QString("接单成功!%1%2%3").arg(remark).arg(deliveryTime).arg(orderEntryError));
emit showAlert(AlertForm::SUCCESS, QString("接单成功!%1%2").arg(remark).arg(deliveryTime));
// 通知主界面移动订单
int oldStatus = orderObject->status;
......@@ -487,100 +480,16 @@ bool FlowControl::_RefundOrder(const QString &orderId)
return result;
}
bool FlowControl::_GetCashiers(QList<CashierObject> &cashiersList)
{
QString strCashiers, error;
bool result;
emit showAlert(AlertForm::LOADING, "正在查询收银员信息.....");
QLOG_INFO() << QString("[---get cashiers---].");
result = FmPlugin::GetInstance().GetOnDutyCashiers(cashiersList, error);
foreach (CashierObject cashier, cashiersList)
{
strCashiers.append(QString("|%1,%2,%3,%4|").arg(cashier.id, cashier.name, cashier.shiftId, cashier.shiftName));
}
QLOG_INFO() << QString("get cashiers finsh. [result:%1][msg:%2][data:%3]").arg(result).arg(error, strCashiers);
if(!result)
{
emit showAlert(AlertForm::ERROR, "查询收银员信息失败!");
}
return result;
}
bool FlowControl::_CheckCashiers()
{
bool result = false;
QList<CashierObject> cashiersList;
if(_GetCashiers(cashiersList))
{
foreach (CashierObject cashier, cashiersList)
{
if(!cashier.id.compare(m_cashierObject.id))
{
m_cashierObject = cashier;
result = true;
break;
}
}
if(result == false)
{
emit showAlert(AlertForm::ERROR, "当前收银员已下班请重新选择!");
}
}
return result;
}
QString FlowControl::_GetJsonStr(const QJsonObject &json)
{
return QString(QJsonDocument(json).toJson(QJsonDocument::Compact)).replace("\"","");
}
bool FlowControl::_DoOrderEntry(OrderObject *orderObject)
{
}
bool FlowControl::_RefundOrder()
{
}
void FlowControl::onFlowStart()
{
m_timestamp = "0";
m_loginSocket = new BillSocket(this);
m_pullOrderSocket = new BillSocket(this);
m_procOrderSocket = new BillSocket(this);
// if(_GetStoreInfo())
// {
// _Login();
// }
return;
}
void FlowControl::onConnectDb(const QString &host, const QString &username, const QString &password, const QString &dbname)
{
QString error; bool result;
QLOG_INFO() << QString("[---connect database---]. [host:%1][username:%2][password:%3][dbname:%4]")
.arg(host, username, password, dbname);
result = FmPlugin::GetInstance().ConnectDb(host, username, password, dbname, error);
QLOG_INFO() << QString("connect finsh. [result:%1][msg:%2]").arg(result).arg(error);
emit connectDbFinsh(result, error);
return;
}
void FlowControl::onProcessOrder(const QString &operation, const QString &orderId, const DeliverObject &deliverObj)
{
if(!operation.compare(OPERATION_GETDELIVERS))
{
// 放在这检测收银员的合法性因为接单前会获取配送员
//if(_CheckCashiers())
//{
_GetDelivers(orderId);
//}
_GetDelivers(orderId);
}else if(!operation.compare(OPERATION_CONFRIM))
{
_ConfirmOrder(orderId, deliverObj);
......@@ -599,36 +508,10 @@ void FlowControl::onProcessOrder(const QString &operation, const QString &orderI
}
}
void FlowControl::onGetOnDutyCashiers()
{
QList<CashierObject> cashiersList;
if(_GetCashiers(cashiersList))
{
emit hideAlert();
emit showCashierPickForm(cashiersList);
}
}
void FlowControl::onUpdateCashier(const CashierObject &cashier)
{
m_cashierObject = cashier;
}
void FlowControl::onGetOrderDetails(const QString &orderId)
{
//if(_CheckCashiers())
//{
emit hideAlert();
emit showOrderDetails(m_ordersMap.value(orderId));
//}
emit hideAlert();
emit showOrderDetails(m_ordersMap.value(orderId));
}
void FlowControl::onGetNewStoreInfo(const QString &operator_id, const QString &pos_id, const QString &store_id, const QString &business_date)
{
m_storeId = store_id;
m_posId = pos_id;
m_cashierId = operator_id;
m_bDate = QDateTime::fromString(business_date, "yyyyMMdd");
_Login();
}
......@@ -38,15 +38,10 @@ private:
QString m_timestamp;
// 订单容器
QMap<QString, OrderObject*> m_ordersMap;
// 当前收银员
CashierObject m_cashierObject;
// 是否第一次获取到门店信息
bool m_bFirstRecvInfo;
signals:
/* 功能:连接数据库完成
* 参数:[1]是否成功[2]错误信息
* 返回:NULL
* */
void connectDbFinsh(bool bSuccess, const QString& msg);
/* 功能:隐藏通知窗口
* 参数:NULL
* 返回:NULL
......@@ -77,7 +72,7 @@ signals:
* 返回:NULL
* */
void setNetStatus(const QString& status);
/* 功能:更改订单显示
/* 功能:更改订单显示表
* 参数:[1]订单对象[2]旧订单的状态
* 返回:NULL
* */
......@@ -87,11 +82,6 @@ signals:
* 返回:NULL
* */
void showDeliverPickForm(const QString& orderId, const QList<DeliverObject>& delivers);
/* 功能:显示收银员选择窗
* 参数:[1]收银员信息
* 返回:NULL
* */
void showCashierPickForm(const QList<CashierObject>& cashiers);
/* 功能:显示订单详情界面
* 参数:[1]收银员信息
* 返回:NULL
......@@ -99,11 +89,6 @@ signals:
void showOrderDetails(OrderObject* orderObject);
private slots:
/* 功能:获取门店信息
* 参数:NULL
* 返回:是否成功
* */
bool _GetStoreInfo();
/* 功能:登录
* 参数:NULL
* 返回:是否成功
......@@ -149,73 +134,30 @@ private slots:
* 返回:是否成功
* */
bool _RefundOrder(const QString& orderId);
/* 功能:获取收银员
* 参数:[1]收银员列表
* 返回:成功true失败false
* */
bool _GetCashiers(QList<CashierObject>& cashiersList);
/* 功能:检测收银员合法性
* 参数:NULL
* 返回:合法true不合法false
* */
bool _CheckCashiers();
/* 功能:获取Json对象的字符
* 参数:NULL
* 返回:Json字符串
* */
QString _GetJsonStr(const QJsonObject& json);
/* 功能:写入销售单
* 参数:NULL
* 返回:成功true失败false
* */
bool _DoOrderEntry(OrderObject* orderObject);
/* 功能:销售单退单
* 参数:NULL
* 返回:成功true失败false
* */
bool _RefundOrder();
public slots:
/* 功能:开启流程控制器
* 参数:NULL
* 返回:NULL
* */
void onFlowStart();
/* 功能:连接数据库
* 参数:[1]IP[2]用户名[3]密码[4]库名
/* 功能:获取到新的门店信息
* 参数:[1]操作员ID[2]POS机ID
* [3]门店ID[4]营业日
* 返回:NULL
* */
void onConnectDb(const QString& host, const QString& username,
const QString& password, const QString& dbname);
void onGetNewStoreInfo(const QString& operator_id, const QString& pos_id,
const QString& store_id, const QString& business_date);
/* 功能:处理订单
* 参数:[1]操作动作名[2]订单编号[3]配送员姓名
* 返回:NULL
* */
void onProcessOrder(const QString& operation, const QString& orderId, const DeliverObject& deliverObj);
/* 功能:获取在班收银员信息
* 参数:NULL
* 返回:NULL
* */
void onGetOnDutyCashiers();
/* 功能:更新收银员信息
* 参数:NULL
* 返回:NULL
* */
void onUpdateCashier(const CashierObject& cashier);
/* 功能:获取订单详情
* 参数:NULL
* 返回:NULL
* */
void onGetOrderDetails(const QString& orderId);
/* 功能:获取到新的门店信息
* 参数:[1]操作员ID[2]POS机ID
* [3]门店ID[4]营业日
* 返回:NULL
* */
void onGetNewStoreInfo(const QString& operator_id, const QString& pos_id,
const QString& store_id, const QString& business_date);
};
#endif // FLOWCONTROL_H
#include "refundControl.h"
#include "QsLog.h"
#include <QJsonObject>
#include <QJsonDocument>
#include "DTools/dataManger.h"
RefundControl &RefundControl::GetInstance()
{
static RefundControl rc;
return rc;
}
void RefundControl::SetListenPort(int port)
{
m_port = port;
}
// 同步模式
void RefundControl::run()
{
m_procOrderSocket = new BillSocket(this);
m_tcpServer = new QTcpServer(this);
if(!m_tcpServer->listen(QHostAddress::LocalHost, m_port))
{
QLOG_WARN() << QString("tcp server listen failed on port[%1]").arg(m_port);
return;
}
m_bContinue = true;
QByteArray recvData;
QString replyData;
QJsonParseError jsonError;
QJsonDocument jsonDoc;
while(m_bContinue)
{
if(!m_tcpServer->waitForNewConnection(60000))
{
continue;
}
QLOG_INFO() << "onNewConnecion.....";
QString error;
QString orderId, reason; int version, reqtype;
m_tcpSocket = m_tcpServer->nextPendingConnection();
if(!m_tcpSocket->waitForReadyRead())
{
m_tcpSocket->close();
continue;
}
recvData = m_tcpSocket->readAll();
QLOG_INFO() << QString("recv data.[%1]").arg(QString(recvData));
jsonDoc = QJsonDocument::fromJson(recvData, &jsonError);
if(jsonError.error == QJsonParseError::NoError)
{
QJsonObject jsonObject = jsonDoc.object();
version = jsonObject["ver"].toInt();
reqtype = jsonObject["reqtype"].toInt();
orderId = jsonObject["order_id"].toString();
reason = jsonObject["reason"].toString();
if(version == 1)
{
if(reqtype == 17)
{
QString httpError;
bool httpResult;
QJsonObject httpSendJson;
QJsonObject httpRecvJson;
httpSendJson = DataManger::GetInstance().GetRefundOrderData(reason,orderId);
QLOG_INFO() << QString("[---refund order---]. [requestData:%1]")
.arg(QString(QJsonDocument(httpSendJson).toJson(QJsonDocument::Compact).replace("\"","")));
httpResult = m_procOrderSocket->Request(httpSendJson, httpRecvJson, httpError);
QLOG_INFO() << QString("refund order finsh. [result:%1][msg:%2][recvData:%3]")
.arg(httpResult).arg(httpError)
.arg(QString(QJsonDocument(httpRecvJson).toJson(QJsonDocument::Compact).replace("\"","")));
if(httpResult)
{
if(100 == httpRecvJson["status"].toInt())
{
replyData = QString("{\"ver\":1, \"order_id\":\"%1\", \"statusCode\":100, \"msg\":\"\"}").arg(orderId);
m_tcpSocket->write(replyData.toUtf8());
m_tcpSocket->waitForBytesWritten();
m_tcpSocket->close();
continue;
}else
{
error = httpRecvJson["msg"].toString();
}
}else
{
error = httpError;
}
}else
{
error = QString("undefine reqtype [%1]").arg(reqtype);
}
}else
{
error = QString("wrong version, current[%1] right[1]").arg(version);
}
}else
{
error = "invalid data";
}
// 发生错误
replyData = QString("{\"ver\":1, \"order_id\":\"%1\", \"statusCode\":101, \"msg\":\"%2\"}").arg(orderId).arg(error);
m_tcpSocket->write(replyData.toUtf8());
m_tcpSocket->waitForBytesWritten();
m_tcpSocket->close();
continue;
}
QLOG_INFO() << "refundControl exit.";
}
/********************
* 同意订单退款控制
* *****************/
#ifndef REFUNDCONTROL_H
#define REFUNDCONTROL_H
#include <QObject>
#include <QTcpServer>
#include <QTcpSocket>
#include "Network/billSocket.h"
class RefundControl : public QObject
{
public:
static RefundControl& GetInstance();
void SetListenPort(int port);
private:
RefundControl(){}
RefundControl(RefundControl const&);
RefundControl& operator=(RefundControl const&);
QTcpServer *m_tcpServer;
QTcpSocket *m_tcpSocket;
int m_port;
bool m_bContinue;
BillSocket *m_procOrderSocket;
public slots:
/* 功能:开启控制器
* 参数:NULL
* 返回:NULL
* */
void run();
};
#endif // REFUNDCONTROL_H
......@@ -20,23 +20,22 @@ void SInfoControl::run()
if(!m_tcpServer->listen(QHostAddress::LocalHost, m_port))
{
QLOG_WARN() << QString("SInfoControl listen failed on port[%1]").arg(m_port);
emit listenFailed(QString("绑定端口[%1]失败!").arg(m_port));
QLOG_ERROR() << QString("SInfoControl listen failed on port[%1]").arg(m_port);
return;
}
m_bContinue = true;
QByteArray recvData;
QString replyData;
QJsonParseError jsonError;
QJsonDocument jsonDoc;
while(m_bContinue)
while(true)
{
if(!m_tcpServer->waitForNewConnection(60000))
{
continue;
}
QLOG_INFO() << "onNewConnecion.....";
QLOG_INFO() << "onNewConnecion come.....";
QString error;
QString fm_cmd, fm_ver, operator_id, pos_id, store_id, business_date;
QJsonObject store_info;
......
......@@ -21,7 +21,6 @@ private:
QTcpServer *m_tcpServer;
QTcpSocket *m_tcpSocket;
int m_port;
bool m_bContinue;
public slots:
/* 功能:开启控制器
......@@ -31,6 +30,12 @@ public slots:
void run();
signals:
/* 功能:通知主界面监听失败
* 参数:[1]失败信息
* 返回:NULL
* */
void listenFailed(const QString& error);
/* 功能:通知获取到门店信息
* 参数:[1]操作员ID[2]POS机ID
* [3]门店ID[4]营业日
......
......@@ -12,9 +12,6 @@ DbsetForm::DbsetForm(QWidget *parent) :
_Init();
connect(this, &DbsetForm::connectDb, &FlowControl::GetInstance(), &FlowControl::onConnectDb);
connect(&FlowControl::GetInstance(), &FlowControl::connectDbFinsh, this, &DbsetForm::onConnectDbFinsh);
on_dbsetBtnOk_clicked();
}
......
......@@ -37,7 +37,6 @@ SOURCES += main.cpp\
settingForm.cpp \
floatForm.cpp \
detailForm.cpp \
Control/refundControl.cpp \
Control/sinfoControl.cpp
HEADERS += \
......@@ -59,7 +58,6 @@ HEADERS += \
settingForm.h \
floatForm.h \
detailForm.h \
Control/refundControl.h \
Control/sinfoControl.h
FORMS += mainForm.ui \
......
......@@ -7,7 +7,6 @@
#include "preDefine.h"
#include "dbsetForm.h"
#include "Control/flowControl.h"
#include "Control/refundControl.h"
#include "Control/sinfoControl.h"
#include "floatForm.h"
#include "DTools/configManger.h"
......@@ -66,15 +65,6 @@ int main(int argc, char *argv[])
FlowControl::GetInstance().moveToThread(&workThread);
workThread.start();
// 将门店信息获取控制器移到工作线程
QThread sInfoThread;
SInfoControl::GetInstance().SetListenPort(ConfigManger::GetInstance().GetTcpServerPort());
SInfoControl::GetInstance().moveToThread(&sInfoThread);
QObject::connect(&sInfoThread, &QThread::started, &SInfoControl::GetInstance(), &SInfoControl::run);
sInfoThread.start();
QObject::connect(&SInfoControl::GetInstance(), &SInfoControl::getNewStoreInfo, &FlowControl::GetInstance(), &FlowControl::onGetNewStoreInfo);
FloatForm f;
MainForm w;
QObject::connect(&w, &MainForm::showFloatForm, &f, &FloatForm::onShow);
......@@ -83,5 +73,13 @@ int main(int argc, char *argv[])
QObject::connect(&f, &FloatForm::showMainForm, &w, &MainForm::show);
w.MyShow();
// 将门店信息获取控制器移到工作线程
QThread sInfoThread;
SInfoControl::GetInstance().SetListenPort(ConfigManger::GetInstance().GetTcpServerPort());
SInfoControl::GetInstance().moveToThread(&sInfoThread);
QObject::connect(&sInfoThread, &QThread::started, &SInfoControl::GetInstance(), &SInfoControl::run);
QObject::connect(&SInfoControl::GetInstance(), &SInfoControl::getNewStoreInfo, &FlowControl::GetInstance(), &FlowControl::onGetNewStoreInfo);
sInfoThread.start();
return a.exec();
}
......@@ -32,9 +32,7 @@ MainForm::MainForm(QWidget *parent) :
// 连接信号槽
connect(&m_timeTimer, &QTimer::timeout, this, &MainForm::onSetCurrentTime);
connect(this, &MainForm::flowStart, &FlowControl::GetInstance(), &FlowControl::onFlowStart);
connect(this, &MainForm::processOrder, &FlowControl::GetInstance(), &FlowControl::onProcessOrder);
connect(this, &MainForm::getOnDutyCashiers, &FlowControl::GetInstance(), &FlowControl::onGetOnDutyCashiers);
connect(this, &MainForm::getOrderDetails, &FlowControl::GetInstance(), &FlowControl::onGetOrderDetails);
connect(&FlowControl::GetInstance(), &FlowControl::hideAlert, this, &MainForm::onHideAlert);
connect(&FlowControl::GetInstance(), &FlowControl::showAlert, this, &MainForm::onShowAlert);
......@@ -44,7 +42,6 @@ MainForm::MainForm(QWidget *parent) :
connect(&FlowControl::GetInstance(), &FlowControl::setCashierInfo, this, &MainForm::onSetCashierInfo);
connect(&FlowControl::GetInstance(), &FlowControl::changeOrderStatus, this, &MainForm::onChangeOrderStatus);
connect(&FlowControl::GetInstance(), &FlowControl::showDeliverPickForm, this, &MainForm::onShowDeliverPickForm);
connect(&FlowControl::GetInstance(), &FlowControl::showCashierPickForm, this, &MainForm::onShowCashierPickForm);
connect(&FlowControl::GetInstance(), &FlowControl::showOrderDetails, this, &MainForm::onShowOrderDetails);
// 初始化界面
......@@ -67,13 +64,11 @@ void MainForm::MyShow()
m_alertForm = new AlertForm(this);
m_pickForm = new PickForm(this);
connect(m_pickForm, &PickForm::updateCashier, this, &MainForm::onUpdateCashier);
m_settingForm = new SettingForm(this);
m_detailForm = new DetailForm(this);
emit flowStart();
return;
}
......@@ -144,11 +139,6 @@ void MainForm::onMainProcBtnClicked()
emit processOrder(pBtn->property("operation").toString(), pBtn->property("orderId").toString(), DeliverObject());
}
void MainForm::on_mainBtnCashier_clicked()
{
emit getOnDutyCashiers();
}
void MainForm::on_mainBtnSet_clicked()
{
m_settingForm->show();
......@@ -160,11 +150,6 @@ void MainForm::on_mainBtnHide_clicked()
showFloatForm();
}
void MainForm::onUpdateCashier(const CashierObject &cashier)
{
//ui->mainBtnCashier->setText(cashier.name);
}
void MainForm::onShowOrderDetails(OrderObject *orderObject)
{
m_detailForm->InitData(orderObject);
......@@ -333,12 +318,6 @@ void MainForm::onShowDeliverPickForm(const QString &orderId, const QList<Deliver
m_pickForm->show();
}
void MainForm::onShowCashierPickForm(const QList<CashierObject> &cashiers)
{
m_pickForm->SetCashiersInfo(cashiers);
m_pickForm->show();
}
void MainForm::on_mainBtnUp_clicked()
{
m_currentTable->scrollToTop();
......
......@@ -70,21 +70,11 @@ private:
QPushButton *_GetTabBtnByOrderStatus(int orderStatus);
signals:
/* 功能:开启流程控制器
* 参数:NULL
* 返回:NULL
* */
void flowStart();
/* 功能:处理订单
* 参数:[1]操作动作名[2]订单编号[3]配送员信息
* 返回:NULL
* */
void processOrder(const QString& operation, const QString& orderId, const DeliverObject& deliverObj);
/* 功能:获取在班收银员
* 参数:NULL
* 返回:NULL
* */
void getOnDutyCashiers();
/* 功能:通知悬浮窗显示
* 参数:NULL
* 返回:NULL
......@@ -128,11 +118,6 @@ private slots:
* 返回:NULL
* */
void onMainProcBtnClicked();
/* 功能:选择收银员按钮对应动作
* 参数:NULL
* 返回:NULL
* */
void on_mainBtnCashier_clicked();
/* 功能:设置按钮对应动作
* 参数:NULL
* 返回:NULL
......@@ -200,16 +185,6 @@ public slots:
* 返回:NULL
* */
void onShowDeliverPickForm(const QString& orderId, const QList<DeliverObject>& delivers);
/* 功能:显示收银员选择窗口
* 参数:[1]收银员信息
* 返回:NULL
* */
void onShowCashierPickForm(const QList<CashierObject>& cashiers);
/* 功能:更新收银员信息
* 参数:NULL
* 返回:NULL
* */
void onUpdateCashier(const CashierObject& cashier);
/* 功能:显示订单详情
* 参数:NULL
* 返回:NULL
......
......@@ -1381,7 +1381,7 @@
<item>
<widget class="QLabel" name="mainLabOpeStatus">
<property name="text">
<string>正常</string>
<string/>
</property>
</widget>
</item>
......
......@@ -18,7 +18,6 @@ PickForm::PickForm(QWidget *parent) :
connect(btn, &QPushButton::toggled, this, &PickForm::onNumBtnToggled);
}
connect(this, &PickForm::processOrder, &FlowControl::GetInstance(), &FlowControl::onProcessOrder);
connect(this, &PickForm::updateCashier, &FlowControl::GetInstance(), &FlowControl::onUpdateCashier);
_Init();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment