Commit 11fd6693 by wuyang.zou

1、插件上传 POS 的 WorkStationId

2、新增 四轮配送费 PosKey
3、订单状态 存库 销售-3 退货-6 标识
4、插件在选择退单原因时 偶尔会导致程序奔溃

Verison: 2.2021.9.24
parent b4807e6b
Pipeline #37024 failed with stage
in 16 seconds
...@@ -19,8 +19,10 @@ SocketCommunicate::SocketCommunicate(ThreadSocket *parent) : ThreadSocket(parent ...@@ -19,8 +19,10 @@ SocketCommunicate::SocketCommunicate(ThreadSocket *parent) : ThreadSocket(parent
_storeId = ""; _storeId = "";
_macAddress = ""; _macAddress = "";
_hostName = "";
_workStationNum = "";
_localIp = ""; _localIp = "";
_localPort = 0; _localPort = 24409;
_httpLoginResult = false; _httpLoginResult = false;
_openTcpChannel = false; _openTcpChannel = false;
_posPluginVersion = APP_VERSION; _posPluginVersion = APP_VERSION;
...@@ -183,6 +185,8 @@ bool SocketCommunicate::connectTcpSvr() ...@@ -183,6 +185,8 @@ bool SocketCommunicate::connectTcpSvr()
//连接 Server IP + Port 成功后,设置MetaData; //连接 Server IP + Port 成功后,设置MetaData;
QVariantMap tmpMap; QVariantMap tmpMap;
tmpMap.insert(JSON_TCP_DEVICE_ID , _macAddress); tmpMap.insert(JSON_TCP_DEVICE_ID , _macAddress);
tmpMap.insert(JSON_TCP_DEVICE_HOST_NAME , _hostName);
tmpMap.insert(JSON_TCP_DEVICE_WORKS_NUM , _workStationNum);
tmpMap.insert(JSON_TCP_DEVICE_IP , _localIp); tmpMap.insert(JSON_TCP_DEVICE_IP , _localIp);
tmpMap.insert(JSON_TCP_DEVICE_PORT , _localPort); tmpMap.insert(JSON_TCP_DEVICE_PORT , _localPort);
tmpMap.insert(JSON_TCP_DEVICE_TYPE , "posPlugin"); tmpMap.insert(JSON_TCP_DEVICE_TYPE , "posPlugin");
...@@ -719,18 +723,19 @@ bool SocketCommunicate::GetSvrIpPort() ...@@ -719,18 +723,19 @@ bool SocketCommunicate::GetSvrIpPort()
} }
void SocketCommunicate::onFlowControlLoginSuccess(bool fcLoginResult, bool fcOpenTcpFlag, QString &storeId, QString &posIp, int &posPluginPort) { void SocketCommunicate::onFlowControlLoginSuccess(bool fcLoginResult, bool fcOpenTcpFlag, QString &storeId, QString &posIp, QString &posHostName, QString &posWorkStationNum) {
// 只有 FlowControl Http 登录成功后, FlowControl 才会发生信号 过来(跨线程); // 只有 FlowControl Http 登录成功后, FlowControl 才会发生信号 过来(跨线程);
// 存在一定概率出现跨线程 发送信号 失败; // 存在一定概率出现跨线程 发送信号 失败;
QLOG_INFO() << QString("SocketCommunicate::onFlowControlLoginSuccess:: fcLoginResult: %1, fcOpenTcpFlag: %2 , storeId: %3 , posIp: %4 , posPluginPort: %5") QLOG_INFO() << QString("SocketCommunicate::onFlowControlLoginSuccess:: fcLoginResult: %1, fcOpenTcpFlag: %2 , storeId: %3 , posIp: %4 , posHostName: %5 , posWorkStationNum: %6")
.arg( fcLoginResult?1:0 ).arg( fcOpenTcpFlag?1:0 ).arg( storeId ).arg( posIp ).arg( posPluginPort ); .arg( fcLoginResult?1:0 ).arg( fcOpenTcpFlag?1:0 ).arg( storeId ).arg( posIp ).arg( posHostName ).arg(posWorkStationNum);
_httpLoginResult = fcLoginResult; _httpLoginResult = fcLoginResult;
_openTcpChannel = fcOpenTcpFlag; _openTcpChannel = fcOpenTcpFlag;
_storeId = storeId; _storeId = storeId;
_posPluginVersion = APP_VERSION; _posPluginVersion = APP_VERSION;
_hostName = posHostName;
_workStationNum = posWorkStationNum;
_localIp = posIp; _localIp = posIp;
_localPort = posPluginPort;
} }
...@@ -748,7 +753,7 @@ void SocketCommunicate::threadStart() ...@@ -748,7 +753,7 @@ void SocketCommunicate::threadStart()
QLOG_INFO() << QString("Waitting HttpLogin / openTcpChannel / GetSvrIpPort Failed, Wait 60 Seconds, _httpLoginResult:%1, _openTcpChannel:%2, _stopFlag:%3") QLOG_INFO() << QString("Waitting HttpLogin / openTcpChannel / GetSvrIpPort Failed, Wait 60 Seconds, _httpLoginResult:%1, _openTcpChannel:%2, _stopFlag:%3")
.arg( _httpLoginResult?1:0 ).arg(_openTcpChannel?1:0).arg(_stopFlag?1:0); .arg( _httpLoginResult?1:0 ).arg(_openTcpChannel?1:0).arg(_stopFlag?1:0);
Sleep(60*1000); Sleep(60*1000);
FlowControl::GetInstance()._GetFcMajorInfo(_httpLoginResult, _openTcpChannel, _storeId, _localIp, _localPort); FlowControl::GetInstance()._GetFcMajorInfo(_httpLoginResult, _openTcpChannel, _storeId, _localIp, _hostName,_workStationNum);
} }
// <2> 向目标 IP + 端口发起长连接 与 登录请求, 登录成功后接受 Server Response Msg; // <2> 向目标 IP + 端口发起长连接 与 登录请求, 登录成功后接受 Server Response Msg;
......
...@@ -127,7 +127,7 @@ public: ...@@ -127,7 +127,7 @@ public:
//Socket Thread Recv Msg Entry //Socket Thread Recv Msg Entry
void threadStart(); void threadStart();
void onFlowControlLoginSuccess( bool fcLoginResult, bool fcOpenTcpFlag, QString &storeId, QString &posIp, int &posPluginPort ); void onFlowControlLoginSuccess( bool fcLoginResult, bool fcOpenTcpFlag, QString &storeId, QString &posIp, QString &posHostName, QString &posWorkStationNum);
signals: signals:
void connected(); void connected();
...@@ -151,6 +151,10 @@ public: ...@@ -151,6 +151,10 @@ public:
QString _storeId; QString _storeId;
// Mac Address; // Mac Address;
QString _macAddress; QString _macAddress;
// HostName;
QString _hostName;
// WorkStation Id POS工作站编号;
QString _workStationNum;
// Pos Local Machine IP; // Pos Local Machine IP;
QString _localIp; QString _localIp;
// Pos Plugin Server Port; // Pos Plugin Server Port;
......
...@@ -139,19 +139,30 @@ FlowControl::FlowControl() ...@@ -139,19 +139,30 @@ FlowControl::FlowControl()
void FlowControl::_GetIpAddress() void FlowControl::_GetIpAddress()
{ {
/***已经验证:IP地址 优先取配置文件中的[IpAddress/ip];只有没有配置的情况才会根据主机名获取ipv4的IP地址,因此为保证IP的准确性,注释通过配置文件获取ip的代码***/ /***已经验证:IP地址 优先取配置文件中的[IpAddress/ip];只有没有配置的情况才会根据主机名获取ipv4的IP地址,因此为保证IP的准确性,注释通过配置文件获取ip的代码***/
std::string tempMacAddress = "";
int getMacRet = MacTool::GetMacByAdaptersAddresses( tempMacAddress );
if ( !getMacRet) {
QLOG_ERROR() << "FlowControl::_GetIpAddress MacTool->GetMacByAdaptersAddresses Falied";
}
m_posMacAddress = tempMacAddress.c_str();
QString ipAddress; QString ipAddress;
QHostInfo info = QHostInfo::fromName(QHostInfo::localHostName()); QHostInfo info = QHostInfo::fromName(QHostInfo::localHostName());
m_posHostName = info.hostName();
foreach(QHostAddress address,info.addresses()) { foreach(QHostAddress address,info.addresses()) {
if(address.protocol() == QAbstractSocket::IPv4Protocol) { if(address.protocol() == QAbstractSocket::IPv4Protocol) {
QLOG_INFO()<<QString("[<<<<---FlowControl::_GetIpAddress getFromLocalHostName:%1--->>>>]").arg(address.toString()); QLOG_INFO()<<QString("[<<<<---FlowControl::_GetIpAddress getFromLocalHostName:%1--->>>>]").arg(address.toString());
//1.1.1.1 > length > 7 //1.1.1.1 > length > 7
if(address.toString().length()>7 && address.toString()!= "127.0.0.1" ) { if(address.toString().length()>7 && address.toString()!= "127.0.0.1" ) {
ipAddress=address.toString(); ipAddress=address.toString();
QLOG_INFO()<<QString("[<<<<---FlowControl::_GetIpAddress Request Real ipAddress:%1--->>>>]").arg(ipAddress); QLOG_INFO()<<QString("[<<<<---FlowControl::_GetIpAddress Request Real ipAddress: %1 hostName: %2 macAddress: %3 --->>>>]")
.arg(ipAddress).arg(m_posHostName).arg(m_posMacAddress);
break; break;
} }
} }
} }
m_ipAddress = ipAddress; m_ipAddress = ipAddress;
m_ipPortAddress = ipAddress+QString(":")+QString::number(ConfigManger::GetInstance().GetHttpServerPort()); m_ipPortAddress = ipAddress+QString(":")+QString::number(ConfigManger::GetInstance().GetHttpServerPort());
} }
...@@ -700,6 +711,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -700,6 +711,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
orderObject->isCancle = false; orderObject->isCancle = false;
orderObject->isORSPush = false; orderObject->isORSPush = false;
orderObject->isORSCancle = false; orderObject->isORSCancle = false;
orderObject->orderSaleRefundStatus = 0;
//初始化订单在数据库中标志性数据:用于一次性读出;减少对数据库的加锁访问+数据库连接数;防止压测插件奔溃; //初始化订单在数据库中标志性数据:用于一次性读出;减少对数据库的加锁访问+数据库连接数;防止压测插件奔溃;
orderObject->dataBaseIsOrderExistInt = 0; orderObject->dataBaseIsOrderExistInt = 0;
orderObject->dataBaseIsPushInt = 0; orderObject->dataBaseIsPushInt = 0;
...@@ -781,6 +793,8 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -781,6 +793,8 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
} }
// 存储订单 销售退货状态的内存标识;
orderObject->orderSaleRefundStatus = orderObject->orderStatus == 6 ? 6 : 3 ;
orderObject->updateTime=QDateTime::currentDateTime().toTime_t(); orderObject->updateTime=QDateTime::currentDateTime().toTime_t();
if(OrderObject::RequestRefund==orderObject->orderStatus) { if(OrderObject::RequestRefund==orderObject->orderStatus) {
emit startRemind(REMIND_REQREFUND_ORDER); emit startRemind(REMIND_REQREFUND_ORDER);
...@@ -984,12 +998,13 @@ bool FlowControl::_GetStoreInfo() ...@@ -984,12 +998,13 @@ bool FlowControl::_GetStoreInfo()
} }
void FlowControl::_GetFcMajorInfo(bool &loginResult, bool &openTcpChannel, QString &storeId, QString &posIp, int &posPort){ void FlowControl::_GetFcMajorInfo(bool &loginResult, bool &openTcpChannel, QString &storeId, QString &posIp, QString &posHostName, QString &posWorkStationNum){
loginResult = m_bLoginResult; loginResult = m_bLoginResult;
openTcpChannel = m_openTcpChannel; openTcpChannel = m_openTcpChannel;
storeId = m_storeId; storeId = m_storeId;
posIp = m_ipAddress; posIp = m_ipAddress;
posPort = ConfigManger::GetInstance().GetHttpServerPort(); posHostName = m_posHostName;
posWorkStationNum = m_posWorkstationNum;
} }
...@@ -1033,6 +1048,12 @@ bool FlowControl::_Login() ...@@ -1033,6 +1048,12 @@ bool FlowControl::_Login()
sendJson = DataManger::GetInstance().GetLoginData(ConfigManger::GetInstance().GetPartnerId(),m_storeId, sendJson = DataManger::GetInstance().GetLoginData(ConfigManger::GetInstance().GetPartnerId(),m_storeId,
m_password, m_posId, m_cashierId, m_ipPortAddress, m_puginVersionComments); m_password, m_posId, m_cashierId, m_ipPortAddress, m_puginVersionComments);
// 登录新增Pos相关属性字段;
sendJson.insert(JSON_POS_IP_ADDR, m_ipAddress);
sendJson.insert(JSON_POS_WORKS_NUM, m_posWorkstationNum);
sendJson.insert(JSON_POS_HOST_NAME, m_posHostName);
sendJson.insert(JSON_POS_MAC_ADDRESS, m_posMacAddress);
emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在登录......")); emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在登录......"));
QLOG_INFO() << QString("[<<<<---Login--->>>>][requestData:%1]")<<sendJson; QLOG_INFO() << QString("[<<<<---Login--->>>>][requestData:%1]")<<sendJson;
if(ConfigManger::GetInstance().GetLoginSslConfig()) if(ConfigManger::GetInstance().GetLoginSslConfig())
...@@ -1116,8 +1137,7 @@ bool FlowControl::_Login() ...@@ -1116,8 +1137,7 @@ bool FlowControl::_Login()
if ( m_bLoginResult && m_openTcpChannel ) { if ( m_bLoginResult && m_openTcpChannel ) {
QLOG_INFO() << QString("[<<<<---Login Success, Emit Signal To SocketCommunicate Begin Connect Tcp Socket --->>>>]"); QLOG_INFO() << QString("[<<<<---Login Success, Emit Signal To SocketCommunicate Begin Connect Tcp Socket --->>>>]");
int tmpPosPluginPort = ConfigManger::GetInstance().GetHttpServerPort(); emit doLoginSuccess(true, m_openTcpChannel, m_storeId, m_ipAddress, m_posHostName, m_posWorkstationNum);
emit doLoginSuccess(true, m_openTcpChannel, m_storeId, m_ipAddress, tmpPosPluginPort );
} }
return result; return result;
...@@ -1304,6 +1324,11 @@ bool FlowControl::_SendHeart() ...@@ -1304,6 +1324,11 @@ bool FlowControl::_SendHeart()
m_puginVersionComments = ConfigManger::GetInstance().GetOrderServerUrl(); m_puginVersionComments = ConfigManger::GetInstance().GetOrderServerUrl();
sendJson = DataManger::GetInstance().GetHeartData(m_password,m_posId,m_ipPortAddress,m_puginVersionComments,m_bLastHeartIsError); sendJson = DataManger::GetInstance().GetHeartData(m_password,m_posId,m_ipPortAddress,m_puginVersionComments,m_bLastHeartIsError);
sendJson.insert(JSON_POS_IP_ADDR, m_ipAddress);
sendJson.insert(JSON_POS_WORKS_NUM, m_posWorkstationNum);
sendJson.insert(JSON_POS_HOST_NAME, m_posHostName);
sendJson.insert(JSON_POS_MAC_ADDRESS, m_posMacAddress);
QLOG_INFO() << QString("[<<<<---Send Heart--->>>>][requestData:%1]")<<sendJson; QLOG_INFO() << QString("[<<<<---Send Heart--->>>>][requestData:%1]")<<sendJson;
m_loginSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetLoginServerUrl()+ m_loginSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetLoginServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_HEART))); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_HEART)));
...@@ -1570,7 +1595,10 @@ void FlowControl::_ReportOMSRecordOrderInfo() ...@@ -1570,7 +1595,10 @@ void FlowControl::_ReportOMSRecordOrderInfo()
sendJson.insert("remark", RepOMSRecOrderIn->remark); sendJson.insert("remark", RepOMSRecOrderIn->remark);
sendJson.insert("checkNo", RepOMSRecOrderIn->checkNo); sendJson.insert("checkNo", RepOMSRecOrderIn->checkNo);
sendJson.insert("failCode", RepOMSRecOrderIn->failCode); sendJson.insert("failCode", RepOMSRecOrderIn->failCode);
sendJson.insert("ipAddress",m_ipAddress); sendJson.insert(JSON_IP_ADDRESS, m_ipAddress);
sendJson.insert(JSON_POS_WORKS_NUM, m_posWorkstationNum);
sendJson.insert(JSON_POS_HOST_NAME, m_posHostName);
sendJson.insert(JSON_POS_MAC_ADDRESS, m_posMacAddress);
sendJson.insert(JSON_POS_PLUGIN_VERSION, RepOMSRecOrderIn->posPluginVersion); sendJson.insert(JSON_POS_PLUGIN_VERSION, RepOMSRecOrderIn->posPluginVersion);
QLOG_INFO() << QString("[<<<<---_ReportOMSRecordOrderInfo:Begin--->>>>][requestData:%1]")<<sendJson; QLOG_INFO() << QString("[<<<<---_ReportOMSRecordOrderInfo:Begin--->>>>][requestData:%1]")<<sendJson;
...@@ -2522,7 +2550,9 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er ...@@ -2522,7 +2550,9 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er
} }
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_ResponseSimReqTryLogin: m_storeId=%1 , m_subStoreId=%2 --->>>>>]").arg(m_storeId).arg(m_subStoreId); QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_ResponseSimReqTryLogin: m_storeId=%1 , m_subStoreId=%2 --->>>>>]").arg(m_storeId).arg(m_subStoreId);
m_posId=content["posId"].toString(); //m_deviceNo=content["posId"].toString(); //将来用来扩展新字段值
m_posId= "111111111111111"; // 避免上游出现多条 POS插件登录记录(设备id不一致);
m_posWorkstationNum=content["businessDay"].toString(); // 折中方案,使用营业时间透传 POS WorkStation Num;
m_cashierId=content["operatorId"].toString(); m_cashierId=content["operatorId"].toString();
m_cashierName=content["operatorName"].toString(); m_cashierName=content["operatorName"].toString();
if(m_bFirstRecvInfo) { if(m_bFirstRecvInfo) {
...@@ -2536,7 +2566,9 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso ...@@ -2536,7 +2566,9 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
{ {
QLOG_INFO()<<__FUNCTION__<<error<<orderId; QLOG_INFO()<<__FUNCTION__<<error<<orderId;
m_posId=content["posId"].toString(); // m_deviceNo=content["posId"].toString(); //将来用来扩展新字段值
m_posId= "111111111111111"; // 避免上游出现多条 POS插件登录记录(设备id不一致);
m_posWorkstationNum=content["businessDay"].toString(); // 折中方案,使用营业时间透传 POS WorkStation Num;
m_cashierId=content["operatorId"].toString(); m_cashierId=content["operatorId"].toString();
m_cashierName=content["operatorName"].toString(); m_cashierName=content["operatorName"].toString();
emit setCashierInfo(m_cashierName); //POS上收银员切换账号后,插件上右下角的收银员信息也及时更新; emit setCashierInfo(m_cashierName); //POS上收银员切换账号后,插件上右下角的收银员信息也及时更新;
......
...@@ -30,7 +30,7 @@ public: ...@@ -30,7 +30,7 @@ public:
* 参数: 1. 是否登录成功; 2.门店号; 3.PosPluginIp; 4.PosPlugin Port; * 参数: 1. 是否登录成功; 2.门店号; 3.PosPluginIp; 4.PosPlugin Port;
* 返回: Void; * 返回: Void;
* */ * */
void _GetFcMajorInfo(bool &loginResult, bool &openTcpChannel, QString &storeId, QString &posIp, int &posPort); void _GetFcMajorInfo(bool &loginResult, bool &openTcpChannel, QString &storeId, QString &posIp, QString &posHostName, QString &posWorkStationNum);
/* 功能:获取收银员ID /* 功能:获取收银员ID
* 参数:NULL * 参数:NULL
...@@ -108,6 +108,9 @@ private: ...@@ -108,6 +108,9 @@ private:
QString m_subStoreId; QString m_subStoreId;
QString m_ipAddress; // 门店POS的 IP 地址 QString m_ipAddress; // 门店POS的 IP 地址
QString m_ipPortAddress; // 门店POS的 IP+端口 地址 QString m_ipPortAddress; // 门店POS的 IP+端口 地址
QString m_posHostName; // Pos 主机名;
QString m_posMacAddress; // Pos Mac地址;
QString m_posWorkstationNum; // Pos 工作站编号
QString m_password; QString m_password;
QString m_puginVersionComments; QString m_puginVersionComments;
QString m_posId; QString m_posId;
...@@ -199,7 +202,7 @@ signals: ...@@ -199,7 +202,7 @@ signals:
void doLogin(); void doLogin();
// http门店POS登录成功后 发送信号给 SocketCommunicate; // http门店POS登录成功后 发送信号给 SocketCommunicate;
void doLoginSuccess(bool loginResult,bool openTcpFlag, QString &storeId, QString &posIp, int &posPort); void doLoginSuccess(bool loginResult,bool openTcpFlag, QString &storeId, QString &posIp, QString &posHostName, QString &posWorkStationNum);
/* 功能:隐藏通知窗口 /* 功能:隐藏通知窗口
* 参数:NULL * 参数:NULL
......
...@@ -124,6 +124,9 @@ bool PrintOrderPromotionDB::insertOrderPromotion(OrderObject* orderObj, const QS ...@@ -124,6 +124,9 @@ bool PrintOrderPromotionDB::insertOrderPromotion(OrderObject* orderObj, const QS
return false; return false;
} }
//刷新 存储订单 销售退货状态的内存标识;
orderObj->orderSaleRefundStatus = orderObj->orderStatus == 6 ? 6 : 3 ;
// 开启数据库事务实现原子操作: 保证 tb_order_promotions: 订单促销优惠列表 同时插入成功; // 开启数据库事务实现原子操作: 保证 tb_order_promotions: 订单促销优惠列表 同时插入成功;
// m_sqlDb.transaction(); 驱动不支持; // m_sqlDb.transaction(); 驱动不支持;
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
...@@ -169,7 +172,8 @@ bool PrintOrderPromotionDB::insertCouponPromotion(OrderObject* orderObj, const Q ...@@ -169,7 +172,8 @@ bool PrintOrderPromotionDB::insertCouponPromotion(OrderObject* orderObj, const Q
" prod_seq, coupon_seq, promotion_type, discount_fee, promotion_qty, promotion_sku, promotion_name ) " " prod_seq, coupon_seq, promotion_type, discount_fee, promotion_qty, promotion_sku, promotion_name ) "
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) "); " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ");
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态 // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(posCheckNo.toInt()); // --订单自动生产小票号 query.addBindValue(posCheckNo.toInt()); // --订单自动生产小票号
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue(i+1); // --主商品序号; query.addBindValue(i+1); // --主商品序号;
...@@ -223,7 +227,8 @@ bool PrintOrderPromotionDB::insertNormalPromotion(OrderObject* orderObj, const Q ...@@ -223,7 +227,8 @@ bool PrintOrderPromotionDB::insertNormalPromotion(OrderObject* orderObj, const Q
" prod_seq, coupon_seq, promotion_type, discount_fee, promotion_qty, promotion_sku, promotion_name ) " " prod_seq, coupon_seq, promotion_type, discount_fee, promotion_qty, promotion_sku, promotion_name ) "
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?) "); " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?) ");
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态 // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(posCheckNo.toInt()); // --订单自动生产小票号 query.addBindValue(posCheckNo.toInt()); // --订单自动生产小票号
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue(i+1); // --主商品序号; query.addBindValue(i+1); // --主商品序号;
......
...@@ -146,6 +146,9 @@ bool PrintCupStickPosDB::insertOrderProduct(OrderObject* orderObj,const QString& ...@@ -146,6 +146,9 @@ bool PrintCupStickPosDB::insertOrderProduct(OrderObject* orderObj,const QString&
QLOG_ERROR()<<"[<<<<---PrintCupStickPosDB::insertOrderProduct: Begin transaction Failed--->>>>]"<<m_sqlDb.lastError().text(); QLOG_ERROR()<<"[<<<<---PrintCupStickPosDB::insertOrderProduct: Begin transaction Failed--->>>>]"<<m_sqlDb.lastError().text();
} }
//刷新 存储订单 销售退货状态的内存标识;
orderObj->orderSaleRefundStatus = orderObj->orderStatus == 6 ? 6 : 3 ;
bool retInsCoupProd = false; bool retInsCoupProd = false;
bool retInsNorProd = false; bool retInsNorProd = false;
// WSG-杯贴祝福-商品券号关联数据; // WSG-杯贴祝福-商品券号关联数据;
...@@ -193,7 +196,8 @@ bool PrintCupStickPosDB::insertCouponProd(OrderObject* orderObj, const QString& ...@@ -193,7 +196,8 @@ bool PrintCupStickPosDB::insertCouponProd(OrderObject* orderObj, const QString&
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select @@identity "); " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select @@identity ");
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue(i+1); // --主商品序号; query.addBindValue(i+1); // --主商品序号;
...@@ -292,7 +296,8 @@ bool PrintCupStickPosDB::insertCouponSubProd(OrderObject* orderObj, const int ma ...@@ -292,7 +296,8 @@ bool PrintCupStickPosDB::insertCouponSubProd(OrderObject* orderObj, const int ma
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,? ,? ,?) select @@identity "); " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,? ,? ,?) select @@identity ");
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue(0); // --商品序号; query.addBindValue(0); // --商品序号;
...@@ -425,7 +430,8 @@ bool PrintCupStickPosDB::insertNormalProd(OrderObject* orderObj, const QString& ...@@ -425,7 +430,8 @@ bool PrintCupStickPosDB::insertNormalProd(OrderObject* orderObj, const QString&
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select @@identity "); "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select @@identity ");
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue(i+1); // --主商品序号; query.addBindValue(i+1); // --主商品序号;
query.addBindValue(dish->code); // --主商品SKU query.addBindValue(dish->code); // --主商品SKU
...@@ -515,7 +521,8 @@ bool PrintCupStickPosDB::insertNormalSubProd(OrderObject* orderObj, const int ma ...@@ -515,7 +521,8 @@ bool PrintCupStickPosDB::insertNormalSubProd(OrderObject* orderObj, const int ma
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select @@identity "); "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select @@identity ");
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue(0); // --商品序号; query.addBindValue(0); // --商品序号;
query.addBindValue(subdish->code); // --商品SKU query.addBindValue(subdish->code); // --商品SKU
...@@ -638,7 +645,8 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con ...@@ -638,7 +645,8 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue( orderObj->proList.count() + 1 ); // --商品序号; query.addBindValue( orderObj->proList.count() + 1 ); // --商品序号;
query.addBindValue(orderObj->packageSku); // --商品SKU //不入机模式,无需考虑入机POSkey限制 query.addBindValue(orderObj->packageSku); // --商品SKU //不入机模式,无需考虑入机POSkey限制
...@@ -678,7 +686,8 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con ...@@ -678,7 +686,8 @@ bool PrintCupStickPosDB::insertDeliveryPackageAndPack(OrderObject* orderObj, con
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间 query.addBindValue(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")); // --商品入库时间
query.addBindValue( orderObj->proList.count() +1 + insertPackPlaceHolderSeq ); // --商品序号; query.addBindValue( orderObj->proList.count() +1 + insertPackPlaceHolderSeq ); // --商品序号;
query.addBindValue("6000201"); // --商品SKU //不入机模式,无需考虑入机POSkey限制 query.addBindValue("6000201"); // --商品SKU //不入机模式,无需考虑入机POSkey限制
......
...@@ -79,6 +79,9 @@ bool PrintMsgQueueDB::insertOrderPrtMsg( OrderObject* orderObj, const QString& p ...@@ -79,6 +79,9 @@ bool PrintMsgQueueDB::insertOrderPrtMsg( OrderObject* orderObj, const QString& p
} }
bool result = false; bool result = false;
//刷新 存储订单 销售退货状态的内存标识;
orderObj->orderSaleRefundStatus = orderObj->orderStatus == 6 ? 6 : 3 ;
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
query.prepare("INSERT INTO tb_print_msr_customer(chk_num, print_status, " query.prepare("INSERT INTO tb_print_msr_customer(chk_num, print_status, "
" order_id, order_status, create_datetime ) " " order_id, order_status, create_datetime ) "
...@@ -86,7 +89,8 @@ bool PrintMsgQueueDB::insertOrderPrtMsg( OrderObject* orderObj, const QString& p ...@@ -86,7 +89,8 @@ bool PrintMsgQueueDB::insertOrderPrtMsg( OrderObject* orderObj, const QString& p
query.addBindValue(posCheckNo.toInt()); // --小票号 query.addBindValue(posCheckNo.toInt()); // --小票号
query.addBindValue(0); // --打印状态: 0:未打印 1:已打印; query.addBindValue(0); // --打印状态: 0:未打印 1:已打印;
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
QDateTime qdaTi = QDateTime::currentDateTimeUtc(); QDateTime qdaTi = QDateTime::currentDateTimeUtc();
QString createTime = qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss"); QString createTime = qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss");
query.addBindValue(createTime); // --POS开单时间 query.addBindValue(createTime); // --POS开单时间
......
...@@ -840,6 +840,9 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -840,6 +840,9 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
} }
bool result; bool result;
//刷新 存储订单 销售退货状态的内存标识;
orderObj->orderSaleRefundStatus = orderObj->orderStatus == 6 ? 6 : 3 ;
QSqlQuery query(m_sqlDb); QSqlQuery query(m_sqlDb);
query.prepare("INSERT INTO tb_msr_customer_info(chk_num, last_name, full_name, gender, " query.prepare("INSERT INTO tb_msr_customer_info(chk_num, last_name, full_name, gender, "
" is_birthday, create_datetime, created_by, modify_datetime, modified_by, accept_name, accept_address, accept_phone, order_id, " " is_birthday, create_datetime, created_by, modify_datetime, modified_by, accept_name, accept_address, accept_phone, order_id, "
...@@ -874,7 +877,8 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString& ...@@ -874,7 +877,8 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj, const QString&
query.addBindValue(orderObj->addressDetail); // --收货者 query.addBindValue(orderObj->addressDetail); // --收货者
query.addBindValue(orderObj->consigneePhone); // --收货者-电话 query.addBindValue(orderObj->consigneePhone); // --收货者-电话
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->orderStatus); // --订单状态(int); // query.addBindValue( orderObj->orderStatus ); // --订单状态(int);
query.addBindValue( orderObj->orderSaleRefundStatus ); // --订单 销售退货状态 内存标识(int);
query.addBindValue((orderObj->waybillId).length()?orderObj->waybillId:QString("0") ); // --物流编号 query.addBindValue((orderObj->waybillId).length()?orderObj->waybillId:QString("0") ); // --物流编号
query.addBindValue((orderObj->pickupCode).length()?orderObj->pickupCode.toInt():0 ); // --取餐号; query.addBindValue((orderObj->pickupCode).length()?orderObj->pickupCode.toInt():0 ); // --取餐号;
query.addBindValue(orderObj->riderPhone); // --配送者电话 query.addBindValue(orderObj->riderPhone); // --配送者电话
......
...@@ -237,6 +237,7 @@ public: ...@@ -237,6 +237,7 @@ public:
bool isCancle; bool isCancle;
bool isORSPush; bool isORSPush;
bool isORSCancle; bool isORSCancle;
int orderSaleRefundStatus; // 订单销售退货状态, 防止订单状态3, 4, 5 切换过程中, 石基打印程序 使用订单号和订单状态 关联不到数据库数据;
//获取数据库中订单的标志数据; //获取数据库中订单的标志数据;
int dataBaseIsOrderExistInt; int dataBaseIsOrderExistInt;
int dataBaseIsPushInt; int dataBaseIsPushInt;
......
...@@ -16,14 +16,16 @@ DetailForm::DetailForm(QWidget *parent) : ...@@ -16,14 +16,16 @@ DetailForm::DetailForm(QWidget *parent) :
connect(this, &DetailForm::processRepealOrder, &FlowControl::GetInstance(), &FlowControl::onProcessRepealOrder); connect(this, &DetailForm::processRepealOrder, &FlowControl::GetInstance(), &FlowControl::onProcessRepealOrder);
connect(this, &DetailForm::processReTryInputOrder, &FlowControl::GetInstance(), &FlowControl::onProcessReTryInputOrder); connect(this, &DetailForm::processReTryInputOrder, &FlowControl::GetInstance(), &FlowControl::onProcessReTryInputOrder);
m_rejectForm=NULL;
m_refuseForm=NULL; m_refuseForm=NULL;
_Init(); _Init();
} }
DetailForm::~DetailForm() DetailForm::~DetailForm()
{ {
QLOG_INFO() << QString("[<<<<---DetailForm::~DetailForm: begin--->>>>]");
delete ui; delete ui;
// New 时指定了父类对象指针;
QLOG_INFO() << QString("[<<<<---DetailForm::~DetailForm: end--->>>>]");
} }
void DetailForm::InitData(OrderObject *orderObject) void DetailForm::InitData(OrderObject *orderObject)
...@@ -320,7 +322,7 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -320,7 +322,7 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailBtn2->hide(); ui->detailBtn2->hide();
} }
//星巴克:电商-MOP 需要显示退单按钮(便于 当日退 / 跨日退); //星巴克:电商-MOP 需要显示退单按钮(便于 当日退 / 跨日退);
if( "EC-MOP" == orderObject->channel ){ if ( "EC-MOP" == orderObject->channel && OrderObject::Refunded != orderObject->orderStatus ) {
ui->detailBtn2->show(); ui->detailBtn2->show();
} }
...@@ -337,11 +339,7 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -337,11 +339,7 @@ void DetailForm::InitData(OrderObject *orderObject)
{ {
ui->detailBtn3->hide(); ui->detailBtn3->hide();
} }
if(m_rejectForm==NULL) {
m_rejectForm = new RejectForm(this);
} else {
// 未使用此退单模块;
}
if(m_refuseForm==NULL) { if(m_refuseForm==NULL) {
m_refuseForm = new RefuseForm(this); m_refuseForm = new RefuseForm(this);
} }
...@@ -411,8 +409,13 @@ void DetailForm::onOperaBtnClicked() ...@@ -411,8 +409,13 @@ void DetailForm::onOperaBtnClicked()
<< m_refuseForm->m_reasonStr << m_refuseForm->m_refundDishesListString; << m_refuseForm->m_reasonStr << m_refuseForm->m_refundDishesListString;
emit processRepealOrder( pBtn->property("orderId").toString(),m_refuseForm->m_reasonCode,m_refuseForm->m_reasonStr,m_refuseForm->m_refundDishesListString); emit processRepealOrder( pBtn->property("orderId").toString(),m_refuseForm->m_reasonCode,m_refuseForm->m_reasonStr,m_refuseForm->m_refundDishesListString);
hide(); //为了友好用户的使用体验感,hide() 还是需要在接受完取消订单原因后,再隐藏; hide(); //为了友好用户的使用体验感,hide() 还是需要在接受完取消订单原因后,再隐藏;
} else {
QLOG_INFO() << QString("[<<<<---DetailForm::onOperaBtnClicked: m_refuseForm->exec() != QDialog::Accepted--->>>>]");
} }
m_refuseForm->clearAllRadioBtnCheck();
if ( m_refuseForm )
m_refuseForm->clearAllRadioBtnCheck();
} else { } else {
emit processOrder(pBtn->property("operation").toString(), pBtn->property("orderId").toString()); emit processOrder(pBtn->property("operation").toString(), pBtn->property("orderId").toString());
} }
...@@ -437,16 +440,18 @@ void DetailForm::on_detailBtn0_clicked() ...@@ -437,16 +440,18 @@ void DetailForm::on_detailBtn0_clicked()
void DetailForm::hideDetailAllFrom() void DetailForm::hideDetailAllFrom()
{ {
this->hide(); QLOG_INFO()<<QString("[<<<<---DetailForm::hideDetailAllFrom: begin:--->>>>]");
if ( m_rejectForm ) {
m_rejectForm->hide();
delete m_rejectForm;
m_rejectForm = NULL;
}
if ( m_refuseForm ) { if ( m_refuseForm && m_refuseForm->isVisible() ) {
m_refuseForm->hide(); //delete m_refuseForm;
delete m_refuseForm; //m_refuseForm = NULL;
m_refuseForm = NULL; m_refuseForm->hideSelectProductFrom();
m_refuseForm->reject();
} }
QLOG_INFO()<<QString("[<<<<---DetailForm::hideDetailAllFrom: middle:--->>>>]");
this->hide();
QLOG_INFO()<<QString("[<<<<---DetailForm::hideDetailAllFrom: Finished:--->>>>]");
} }
...@@ -37,7 +37,7 @@ private: ...@@ -37,7 +37,7 @@ private:
* 返回:NULL * 返回:NULL
* */ * */
void _Init(); void _Init();
RejectForm *m_rejectForm;
RefuseForm *m_refuseForm; RefuseForm *m_refuseForm;
QString GetProductName(dishesObject* dish); QString GetProductName(dishesObject* dish);
......
...@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico" ...@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif #endif
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***// //***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 2,2021,9,7 FILEVERSION 2,2021,9,24
PRODUCTVERSION 2,2021,9,7 PRODUCTVERSION 2,2021,9,24
//*************************************************************************// //*************************************************************************//
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
...@@ -31,8 +31,8 @@ VS_VERSION_INFO VERSIONINFO ...@@ -31,8 +31,8 @@ VS_VERSION_INFO VERSIONINFO
VALUE "OriginalFilename", "fmTakeout.exe" VALUE "OriginalFilename", "fmTakeout.exe"
VALUE "ProductName", "Delivery Order Plugin" VALUE "ProductName", "Delivery Order Plugin"
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***// //***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
VALUE "ProductVersion", "2.2021.9.7" VALUE "ProductVersion", "2.2021.9.24"
VALUE "FileVersion", "2.2021.9.7" VALUE "FileVersion", "2.2021.9.24"
//*************************************************************************// //*************************************************************************//
END END
END END
......
...@@ -228,7 +228,8 @@ void MainForm::on_mainBtnHide_clicked() ...@@ -228,7 +228,8 @@ void MainForm::on_mainBtnHide_clicked()
hide(); hide();
ui->mainEdtSearch->clear(); ui->mainEdtSearch->clear();
m_padForm->hide(); m_padForm->hide();
if (m_detailForm) { if (m_detailForm && m_detailForm->isVisible() ) {
QLOG_INFO() << QString("[<<<<---MainForm::on_mainBtnHide_clicked: m_detailForm=--->>>>]")<< m_detailForm;
m_detailForm->hideDetailAllFrom(); m_detailForm->hideDetailAllFrom();
} }
if (m_alertForm) { if (m_alertForm) {
......
...@@ -38,7 +38,8 @@ ...@@ -38,7 +38,8 @@
//#define APP_VERSION "2.2021.4.19" //#define APP_VERSION "2.2021.4.19"
//#define APP_VERSION "2.2021.5.11" //#define APP_VERSION "2.2021.5.11"
//#define APP_VERSION "2.2021.8.12" //#define APP_VERSION "2.2021.8.12"
#define APP_VERSION "2.2021.9.7" //#define APP_VERSION "2.2021.9.7"
#define APP_VERSION "2.2021.9.24"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号 //修正版本号时,切记修正 FmTakeout.rc 中的版本号
...@@ -95,12 +96,17 @@ ...@@ -95,12 +96,17 @@
#define JSON_SKIPRECORDPOS "skipRecord" #define JSON_SKIPRECORDPOS "skipRecord"
#define JSON_PASSWORD "password" #define JSON_PASSWORD "password"
#define JSON_IPADDRESS "iPAddress" #define JSON_IPADDRESS "iPAddress"
#define JSON_IP_ADDRESS "ipAddress"
#define JSON_MACHINECODE "machineCode" #define JSON_MACHINECODE "machineCode"
#define JSON_PARTNERID "partnerId" #define JSON_PARTNERID "partnerId"
#define JSON_ORGCODE "orgCode" #define JSON_ORGCODE "orgCode"
#define JSON_SUBORGCODE "subOrgCode" #define JSON_SUBORGCODE "subOrgCode"
#define JSON_POSNO "posNo" #define JSON_POSNO "posNo"
#define JSON_POS_IP_ADDR "posIp"
#define JSON_POS_WORKS_NUM "decouplePosNo"
#define JSON_POS_HOST_NAME "posHostName"
#define JSON_POS_MAC_ADDRESS "posMacAddress"
#define JSON_STORENAME "StoreName" #define JSON_STORENAME "StoreName"
#define JSON_OPEN_TCP_CHANNEL "openTcpChannel" #define JSON_OPEN_TCP_CHANNEL "openTcpChannel"
#define JSON_USERID "userId" #define JSON_USERID "userId"
...@@ -178,6 +184,8 @@ ...@@ -178,6 +184,8 @@
#define JSON_TCP_STA_RST "ok" #define JSON_TCP_STA_RST "ok"
#define JSON_TCP_STA_CODE "code" #define JSON_TCP_STA_CODE "code"
#define JSON_TCP_DEVICE_ID "deviceId" #define JSON_TCP_DEVICE_ID "deviceId"
#define JSON_TCP_DEVICE_HOST_NAME "deviceHostName"
#define JSON_TCP_DEVICE_WORKS_NUM "deviceWorkStationNum"
#define JSON_TCP_DEVICE_IP "deviceIp" #define JSON_TCP_DEVICE_IP "deviceIp"
#define JSON_TCP_DEVICE_PORT "devicePort" #define JSON_TCP_DEVICE_PORT "devicePort"
#define JSON_TCP_DEVICE_TYPE "deviceType" #define JSON_TCP_DEVICE_TYPE "deviceType"
......
...@@ -14,11 +14,27 @@ refDishesForm::refDishesForm(QWidget *parent) : ...@@ -14,11 +14,27 @@ refDishesForm::refDishesForm(QWidget *parent) :
connect(this, &refDishesForm::updDishes, &FlowControl::GetInstance(), &FlowControl::onUpdDishesForRef); connect(this, &refDishesForm::updDishes, &FlowControl::GetInstance(), &FlowControl::onUpdDishesForRef);
} }
refDishesForm::~refDishesForm() refDishesForm::~refDishesForm()
{ {
QLOG_INFO() << QString("[<<<<---refDishesForm::~refDishesForm: begin--->>>>]");
delete ui; delete ui;
while ( m_btnList.size() ) {
QPushButton * tempBtn = m_btnList.takeFirst();
tempBtn->deleteLater();
}
while ( m_twiList.size() ) {
QTableWidgetItem *tempItem = m_twiList.takeFirst();
delete tempItem;
tempItem = NULL;
}
QLOG_INFO() << QString("[<<<<---refDishesForm::~refDishesForm: end--->>>>]");
} }
void refDishesForm::InitData(OrderObject *obj) void refDishesForm::InitData(OrderObject *obj)
{ {
// 清除之前的菜品按钮信息 // 清除之前的菜品按钮信息
...@@ -76,6 +92,7 @@ void refDishesForm::InitData(OrderObject *obj) ...@@ -76,6 +92,7 @@ void refDishesForm::InitData(OrderObject *obj)
} }
} }
void refDishesForm::_Init() void refDishesForm::_Init()
{ {
ui->refDishesBtnOk->setEnabled(false); ui->refDishesBtnOk->setEnabled(false);
...@@ -103,6 +120,7 @@ void refDishesForm::_Init() ...@@ -103,6 +120,7 @@ void refDishesForm::_Init()
m_dishesMap.clear(); m_dishesMap.clear();
} }
void refDishesForm::on_refDishesBtnOk_clicked() void refDishesForm::on_refDishesBtnOk_clicked()
{ {
//别的客户用来更新菜单用的;目前 starbucks No Need; //别的客户用来更新菜单用的;目前 starbucks No Need;
...@@ -111,11 +129,13 @@ void refDishesForm::on_refDishesBtnOk_clicked() ...@@ -111,11 +129,13 @@ void refDishesForm::on_refDishesBtnOk_clicked()
accept(); accept();
} }
void refDishesForm::on_refDishesBtnCancle_clicked() void refDishesForm::on_refDishesBtnCancle_clicked()
{ {
reject(); reject();
} }
void refDishesForm::onDishesBtnToggled(bool checked) void refDishesForm::onDishesBtnToggled(bool checked)
{ {
QPushButton* btn = (QPushButton*)sender(); QPushButton* btn = (QPushButton*)sender();
......
...@@ -16,8 +16,11 @@ RefuseForm::RefuseForm(QWidget *parent) : ...@@ -16,8 +16,11 @@ RefuseForm::RefuseForm(QWidget *parent) :
} }
RefuseForm::~RefuseForm() RefuseForm::~RefuseForm()
{ {
QLOG_INFO() << QString("[<<<<---RefuseForm::~RefuseForm: begin--->>>>]");
delete ui; delete ui;
// m_refDishesForm->deleteLater(); // New 时指定了父类对象指针;
QLOG_INFO() << QString("[<<<<---RefuseForm::~RefuseForm: end--->>>>]");
} }
void RefuseForm::SetOrderInfo(OrderObject *obj) void RefuseForm::SetOrderInfo(OrderObject *obj)
...@@ -69,7 +72,8 @@ void RefuseForm::on_reason2_toggled(bool checked) ...@@ -69,7 +72,8 @@ void RefuseForm::on_reason2_toggled(bool checked)
QLOG_INFO() << QString("[<<<<---RefuseForm::on_reason2_toggled: m_refundDishesList:%1--->>>>]")<<m_refundDishesList; QLOG_INFO() << QString("[<<<<---RefuseForm::on_reason2_toggled: m_refundDishesList:%1--->>>>]")<<m_refundDishesList;
on_refuseBtnOk_clicked(); on_refuseBtnOk_clicked();
QLOG_INFO() << QString("[<<<<---RefuseForm::on_refuseBtnOk_clicked--->>>>]"); QLOG_INFO() << QString("[<<<<---RefuseForm::on_refuseBtnOk_clicked--->>>>]");
}else{ } else {
QLOG_INFO() << QString("[<<<<---RefuseForm::on_reason2_toggled: QDialog::Accepted != m_refDishesForm->exec()--->>>>]");
_Init(); _Init();
} }
} }
...@@ -172,3 +176,20 @@ void RefuseForm::clearAllRadioBtnCheck(){ ...@@ -172,3 +176,20 @@ void RefuseForm::clearAllRadioBtnCheck(){
ui->reason7->setAutoExclusive(true); ui->reason7->setAutoExclusive(true);
} }
void RefuseForm::hideSelectProductFrom(){
if ( m_refDishesForm && m_refDishesForm->isVisible() ) {
QLOG_INFO() << QString("[<<<<---RefuseForm::hideSelectProductFrom Before m_refDishesForm->reject(); --->>>>]");
m_refDishesForm->reject();
/*
if ( m_refDishesForm ) {
m_refDishesForm->deleteLater();
QLOG_INFO() << QString("[<<<<---RefuseForm::hideSelectProductFrom m_refDishesForm->deleteLater(); --->>>>]");
}
*/
QLOG_INFO() << QString("[<<<<---RefuseForm::hideSelectProductFrom After m_refDishesForm->reject(); --->>>>]");
} else {
QLOG_INFO() << QString("[<<<<---RefuseForm::hideSelectProductFrom Finished --->>>>]");
}
}
...@@ -58,6 +58,8 @@ private slots: ...@@ -58,6 +58,8 @@ private slots:
public slots: public slots:
void clearAllRadioBtnCheck(); void clearAllRadioBtnCheck();
void hideSelectProductFrom();
private: private:
Ui::RefuseForm *ui; Ui::RefuseForm *ui;
......
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