Commit 26bc1646 by wuyang.zou

New Feature: 解耦POS, 支持解耦2.0的功能: 销售单/退货单 商品表+促销表+汇总表+打印表 各存储一条记录

             兼容 解耦前 + 解耦后两种模式
             考虑到打印程序部署的过度阶段: 入机模式下,会将真实的小票号同步 商品表+促销表

Version: 2.2021.4.19
parent 59ea8f13
Pipeline #32130 failed with stage
in 0 seconds
......@@ -107,7 +107,7 @@ private:
bool m_bLastHeartIsError;
int m_orderCount;
int m_clickPosCount;
int m_skipRecordPos;
// int m_skipRecordPos; //使用订单级别: OrderObject->decouplePosVersion 标识;
//订单清除定时器
QTimer *m_clearTimer;
QTimer *m_heartTimer;
......@@ -350,12 +350,22 @@ private slots:
* */
void _ReportOMSRecordOrderInfo();
/* 功能:向OMS汇报订单落库情况队列添加 子项;
* 参数:
* 1: OrderObject Point [ 订单对象指针 ];
* 2:入机落库消息类别 [ 1:落库存储; 2:模拟入机 ];
* 3:入机或落库结果 [ 1: 成功 2:失败;];
* 4: 入机落库消息描述;
* 返回:NULL
* */
void _AddItemToReportOmsList(const OrderObject* orderPoint, const int& msgType, const int& msgRet, const QString& chkNum, const QString& msgDesc);
/* 功能:往 向OMS汇报POS订单入机状态的队列 添加新项 或 更新队列中数据;
* 参数:NULL
* 返回:NULL
* */
void _AddOrUpdateReportOmsList(const QString &orderId, const QString &channel, const QString &repType, const QString &status, const QString &error);
void _AddOrUpdateReportOmsList(const QString &orderId, const QString &channel, const QString &repType, const QString &status, const QString &chkNum, const QString &error);
/* 功能:获取Json对象的字符
......
......@@ -39,14 +39,14 @@ public:
*参数:[1]订单对象指针
*返回:true操作成功,false失败
**/
bool insertOrderPromotion(OrderObject* orderObj);
bool insertOrderPromotion(OrderObject* orderObj, const QString& posCheckNo);
/**
*功能:插入订单 券 优惠列表到pos本地数据库中;
*参数:[1]订单对象指针
*返回:true操作成功,false失败
**/
bool insertCouponPromotion(OrderObject* orderObj);
bool insertCouponPromotion(OrderObject* orderObj, const QString& posCheckNo);
/**
......@@ -54,14 +54,23 @@ public:
*参数:[1]订单对象指针
*返回:true操作成功,false失败
**/
bool insertNormalPromotion(OrderObject* orderObj);
bool insertNormalPromotion(OrderObject* orderObj, const QString& posCheckNo);
/**
*功能:更新 订单商品促销优惠表 订单状态和小票号;
*参数:[1]订单对象指针 [2]小票号
*返回:true操作成功,false失败
**/
bool updateOrderPromotionCheckNum(OrderObject* orderObj,const QString& posCheckNo);
/**
*功能:查询 订单的优惠数据是否存在本地的POS系统中;
*参数:[1]订单号
*返回:true是,false否
**/
bool isOrderPromotionExist(const QString& orderId);
bool isOrderPromotionExist(OrderObject* orderObj);
/**
*功能:删除本地数据库中的 订单优惠数据;
......
#include "gethascashboxandrefundauth.h"
GetHasCashboxAndRefundAuth::GetHasCashboxAndRefundAuth()
{
}
......@@ -70,6 +70,13 @@ public:
**/
bool insertNormalSubProd(OrderObject* orderObj, const int mainProdIndex, QList<dishesObject*> &subProdList, const QString& posCheckNo);
/**
*功能:插入订单 配送费+打包费+打包属性到pos本地数据库中;
*参数:[1] [2]
*返回:true操作成功,false失败
**/
bool insertDeliveryPackageAndPack(OrderObject* orderObj, const QString& posCheckNo);
/**
*功能:更新 订单商品列表 订单状态和小票号;
......@@ -84,7 +91,7 @@ public:
*参数:[1]订单号
*返回:true是,false否
**/
bool isOrderProductExist(const QString& orderId);
bool isOrderProductExist(OrderObject* orderObj);
/**
*功能:删除本地数据库中的 订单商品数据;
......
......@@ -77,13 +77,6 @@ bool PrintMsgQueueDB::insertOrderPrtMsg( OrderObject* orderObj, const QString& p
QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text();
return false;
}
if ( isOrderSaleRefoundPrtMsgExist(orderObj->id, orderObj->orderStatus) ) {
QLOG_INFO()<<QString("[<<<--PrintMsgQueueDB::insertOrderPrtMsg Print Msg Had Exist , orderId:%1 orderStatus:%2-->>>>]").arg(orderObj->id).arg(orderObj->orderStatus);
m_sqlDb.close();
return true;
}
bool result = false;
QSqlQuery query(m_sqlDb);
......@@ -109,13 +102,26 @@ bool PrintMsgQueueDB::insertOrderPrtMsg( OrderObject* orderObj, const QString& p
if ( query.first() ) {
printTabIndex = query.value(0).toInt();
query.clear();
query.prepare(QString("update tb_msr_customer_info set reserve1=%1 where order_id='%2' and chk_num=%3 ")
.arg(printTabIndex).arg(orderObj->id).arg(posCheckNo.toInt()) );
if ( orderObj->orderStatus == OrderObject::Refunded ) {
query.prepare(QString("update tb_msr_customer_info set reserve1=%1 where order_id='%2' and order_status = 6 ")
.arg(printTabIndex).arg( orderObj->id) );
} else {
query.prepare(QString("update tb_msr_customer_info set reserve1=%1 where order_id='%2' and order_status <> 6 ")
.arg(printTabIndex).arg( orderObj->id) );
}
if ( !query.exec() ) {
QLOG_INFO()<<QString("Update tb_msr_customer_info Failed, orderId:%1, chk_num:%2 , prtTabIndex:%3, Then Rollback tb_print_msr_customer ")
QLOG_ERROR()<<QString("Update tb_msr_customer_info Failed, orderId:%1, chk_num:%2 , prtTabIndex:%3, Then Rollback tb_print_msr_customer ")
.arg(orderObj->id).arg( posCheckNo.toInt() ).arg( printTabIndex );
query.clear();
query.prepare(QString("delete from tb_print_msr_customer where id=%1 ").arg(printTabIndex) );
query.prepare(QString("delete from tb_print_msr_customer where id=%1 ").arg(printTabIndex) ); // 根据插表自增ID进行删除,无需使用订单状态。
if ( !query.exec() ) {
QLOG_INFO()<<QString("Rollback tb_print_msr_customer Failed, orderId:%1, prtTabIndex:%2 ").arg(orderObj->id).arg( printTabIndex );
}else {
QLOG_INFO()<<QString("Rollback tb_print_msr_customer Success, orderId:%1, prtTabIndex:%2 ").arg(orderObj->id).arg( printTabIndex );
}
} else {
result = true;
QLOG_INFO()<<QString("Update tb_msr_customer_info Success, orderId:%1, chk_num:%2 , prtTabIndex:%3 ")
......@@ -164,35 +170,24 @@ bool PrintMsgQueueDB::updatePrintMsgStatus(OrderObject* orderObj, const int &pri
}
bool PrintMsgQueueDB::isOrderSaleRefoundPrtMsgExist(const QString& orderId, const int& orderStatus){
bool result;
QSqlQuery query(m_sqlDb);
if ( orderStatus == OrderObject::Refunded) {
query.prepare(QString("select order_id from tb_print_msr_customer where order_id='%1' and order_status = '%2' ").arg(orderId).arg(orderStatus));
} else {
query.prepare(QString("select order_id from tb_print_msr_customer where order_id='%1' and order_status != '%2' ").arg(orderId).arg(orderStatus));
bool PrintMsgQueueDB::isOrderPrtMsgExist(OrderObject* orderObj){
QMutexLocker mutex(&m_mutex);
if(!m_sqlDb.open()) {
QLOG_ERROR()<<"[<<<<---SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text();
return false;
}
bool result;
if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---SqlServer Database:isOrderSaleRefoundPrtMsgExist--->>>>]"<<orderId<<query.lastError().text();
result= false;
}
if(query.first()) {
result= true;
QSqlQuery query(m_sqlDb);
if ( orderObj->orderStatus == OrderObject::Refunded ) {
query.prepare(QString("select order_id from tb_print_msr_customer where order_id='%1' and order_status = 6 ").arg(orderObj->id) );
} else {
result = false;
query.prepare(QString("select order_id from tb_print_msr_customer where order_id='%1' and order_status <> 6 ").arg(orderObj->id) );
}
return result;
}
bool PrintMsgQueueDB::isOrderPrtMsgExist(const QString& orderId){
bool result;
QSqlQuery query(m_sqlDb);
query.prepare(QString("select order_id from tb_print_msr_customer where order_id='%1'").arg(orderId));
if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---SqlServer Database:isOrderPrtMsgExist--->>>>]"<<orderId<<query.lastError().text();
QLOG_ERROR()<<"[<<<<---SqlServer Database:isOrderPrtMsgExist--->>>>] order_id: "<<orderObj->id
<< " order_status: "<<orderObj->orderStatus <<query.lastError().text();
result= false;
}
if(query.first()) {
......
......@@ -42,18 +42,11 @@ public:
bool updatePrintMsgStatus(OrderObject* orderObj, const int &printStatus);
/**
*功能:查询 订单号和小票号 的打印消息队列记录 是否存在本地的POS系统中;
*参数:[1]订单号 [2]小票号
*返回:true是,false否
**/
bool isOrderSaleRefoundPrtMsgExist(const QString& orderId, const int& orderStatus );
/**
*功能:查询订单的打印消息记录是否存在本地的POS系统中;
*参数:[1]订单号
*返回:true是,false否
**/
bool isOrderPrtMsgExist(const QString& orderId);
bool isOrderPrtMsgExist(OrderObject* orderObj);
/**
*功能:删除本地数据库中的 订单打印消息队列;
......
......@@ -60,12 +60,19 @@ public:
/**
*功能:插入一条汇总单信息到pos本地数据库中;
*参数:[1]订单号 [2]小票号
*参数:[1]订单对象指针 [2]小票号 [3]Pos机实际开单时间
*返回:true操作成功,false失败
**/
bool insertOrderSumBill(OrderObject* orderObj, const QString& posCheckNo, const QString& posCheckTime);
/**
*功能:为了解耦POS, 需要提前将汇总单信息插入到pos本地数据库中,小票号+开单时间等信息需要真实入机后进行更新;
*参数:[1]订单对象指针 [2]小票号 [3]Pos机实际开单时间
*返回:true操作成功,false失败
**/
bool updateSumBillCknoAndCktime(OrderObject* orderObj, const QString& posCheckNo, const QString& posCheckTime);
/**
*功能: 根据订单对象指针 同步pos本地数据库中数据;
*参数:[1]订单对象指针
*返回: 0: 同步失败;1: 无需同步;2: 同步成功;
......@@ -112,7 +119,7 @@ public:
*参数:[1]订单号
*返回:true是,false否
**/
bool isOrderSumBillExist(const QString& orderId);
bool isOrderSumBillExist(OrderObject* orderObj);
bool queryValue(const QString& orderId, const QString& key, QString& error, QVariant &value);
bool queryIsNull(const QString &orderId, const QString& key,QString &error, bool &result);
......
......@@ -194,6 +194,38 @@ bool SimProcOrderDB::updatePushOrderStatus(const QString &orderId, const int &pu
}
bool SimProcOrderDB::updatePushOrderStatusAndChkNum(const QString &orderId, const int &pushOrderStatus, const QString &chkNum)
{
//QMutexLocker mutex(&m_mutex);
bool retTryLock = m_mutex.tryLock(VALUE_TRYLOCKNETTIMEOUT);
if(!retTryLock){
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updatePushOrderStatus Try Lock Failed--->>>>]";
return false;
}
if(!m_sqlDb.open()) {
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updatePushOrderStatus Open Failed--->>>>]"<<m_sqlDb.lastError().text();
m_mutex.unlock();
return false;
}
bool result;
QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set isPushed=%1, posCheckNo='%2' where orderId='%3'")
.arg(QString::number(pushOrderStatus)).arg(chkNum).arg(orderId));
if(!query.exec())
{
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updatePushOrderStatus Failed--->>>>] OrderId: " << orderId << " " << query.lastError().text();
result= false;
} else {
QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::Update OrderId: %1 pushOrderStatus: %2 CheckNum: %3 Success--->>>>]")
.arg(orderId).arg(pushOrderStatus).arg(chkNum);
result = true;
}
m_sqlDb.close();
m_mutex.unlock();
return result;
}
bool SimProcOrderDB::getDbOrderAllFlag(const QString& id, int& dataBaseIsOrderExistInt, int& dataBaseIsPushInt, int& dataBaseIsCancleInt,
int& dataBaseIsORSPushInt, int& dataBaseIsORSCancleInt, QString& dataBasePosOrderCheckNo){
//QMutexLocker mutex(&m_mutex);
......@@ -292,6 +324,36 @@ bool SimProcOrderDB::updateRefundOrderStatus(const QString &orderId, const int &
return result;
}
bool SimProcOrderDB::updateRefundOrderStatusAndChkNum(const QString &orderId, const int &refundOrderStatus, const QString &chkNum)
{
//QMutexLocker mutex(&m_mutex);
bool retTryLock = m_mutex.tryLock(VALUE_TRYLOCKNETTIMEOUT);
if(!retTryLock){
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateRefundOrderStatus Try Lock Failed--->>>>]";
return false;
}
if(!m_sqlDb.open()) {
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateRefundOrderStatus Open Failed--->>>>]"<<m_sqlDb.lastError().text();
m_mutex.unlock();
return false;
}
bool result;
QSqlQuery query(m_sqlDb);
query.prepare(QString("update SimProcOrderTable set isRefund=%1, posCheckNo='%2' where orderId='%3'")
.arg(QString::number(refundOrderStatus)).arg(chkNum).arg(orderId));
if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---SimProcOrderDB::updateRefundOrderStatus Failed--->>>>] OrderId: " << orderId << " " <<query.lastError().text();
result= false;
} else {
QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::Update OrderId: %1 refundOrderStatus: %2 CheckNum: %3 Successd --->>>>]")
.arg(orderId).arg(refundOrderStatus).arg(chkNum);
result = true;
}
m_sqlDb.close();
m_mutex.unlock();
return result;
}
bool SimProcOrderDB::isRefundOrder(const QString &orderId)
{
//QMutexLocker mutex(&m_mutex);
......
......@@ -45,6 +45,14 @@ public:
bool updatePushOrderStatus(const QString& orderId, const int &pushOrderStatus);
/**
*功能:更新推单的入账状态[POS录单状态:订单录销售单的意思;同时也用来标记POS是否打印过录单小票]
*专供解耦版本的订单使用;
*参数: [1]订单号 [2]入账状态(目前情况都是"1") [3] 解耦Pos自定义(订单号后5位)生成的小票号;
*返回: true操作成功; false失败
**/
bool updatePushOrderStatusAndChkNum(const QString &orderId, const int &pushOrderStatus, const QString &chkNum);
/**
*功能:查订单在数据库中的标志性数据;
*参数:[1]订单号 [2]订单是否存在 [3]是否销售单 [4]是否退货单 [5]是否ORS销售单 [6]是否ORS退货单 [7]订单对应小票号;
*返回:true:获取成功,false:获取失败;
......@@ -67,6 +75,15 @@ public:
bool updateRefundOrderStatus(const QString& orderId, const int &refundOrderStatus);
/**
*功能:更新退款入账状态[POS退款录单状态:订单录退款单的意思;同时也用来标记POS是否打印过退款单小票]
*专供解耦版本的订单使用;
*参数:[1]订单号 [2]退款入账状态 [3] 解耦Pos自定义(订单号后5位)生成的小票号;
*返回:true操作成功,false失败
**/
bool updateRefundOrderStatusAndChkNum(const QString& orderId, const int &refundOrderStatus, const QString &chkNum);
/**
*功能:查询是否退款入账[POS退款录单:即模拟Simphony退单是否成功:成功:TRUE;未成功:FALSE]
*参数:[1]订单号
*返回:true是,false否
......
......@@ -29,6 +29,7 @@ class OrderObject : public QObject
Q_PROPERTY (QString storeId READ getStoreId WRITE setStoreId)
Q_PROPERTY (QString storeName READ getStoreName WRITE setStoreName)
Q_PROPERTY (QString storeAddress READ getStoreAddress WRITE setStoreAddress)
Q_PROPERTY (int storeType READ getStoreType WRITE setStoreType)
Q_PROPERTY (QString channel READ getChannel WRITE setChannel)
Q_PROPERTY (int payWay READ getPayWay WRITE setPayWay)
Q_PROPERTY (QString deliveryTime READ getDeliveryTime WRITE setDeliveryTime)
......@@ -94,6 +95,8 @@ class OrderObject : public QObject
Q_PROPERTY (int tenderDeliveryDiscountB READ getTenderDeliveryDiscountB WRITE setTenderDeliveryDiscountB)
Q_PROPERTY (QString tenderDeliveryDiscountBSku READ getTenderDeliveryDiscountBSku WRITE setTenderDeliveryDiscountBSku)
Q_PROPERTY (int decouplePosVersion READ getDecouplePosVersion WRITE setDecouplePosVersion)
Q_PROPERTY (int globalServiceType READ getGlobalServiceType WRITE setGlobalServiceType)
Q_PROPERTY (int globalOrderType READ getGlobalOrderType WRITE setGlobalOrderType)
......@@ -146,6 +149,7 @@ public:
QString storeId;
QString storeName;
QString storeAddress;
int storeType ;
QString channel; //订单渠道: 1 星巴克APP 2饿了么APP 3 客诉单;
int payWay;
QString deliveryTime; //配送时间
......@@ -204,6 +208,7 @@ public:
int tenderDeliveryDiscountB; // 配送费 B账户优惠金额
QString tenderDeliveryDiscountBSku; // 配送费 B账户优惠SKU;
int decouplePosVersion; // 解耦POS版本
int globalServiceType; // 全链路服务类型: globalServiceType【新增字段:int】
int globalOrderType; // 全链路订单类型: globalOrderType 【新增字段:int】
......@@ -289,6 +294,9 @@ public:
inline QString getStoreAddress()const{return storeAddress;}
inline void setStoreAddress(const QString& v){storeAddress = v;}
inline int getStoreType()const{return storeType;}
inline void setStoreType(const int& v){storeType = v;}
inline QString getChannel()const{return channel;}
inline void setChannel(const QString& v){channel = v;}
......@@ -469,6 +477,9 @@ public:
inline int getTenderDeliveryDiscountB()const{return tenderDeliveryDiscountB;}
inline void setTenderDeliveryDiscountB(const int& v){tenderDeliveryDiscountB = v;}
inline int getDecouplePosVersion()const{return decouplePosVersion;}
inline void setDecouplePosVersion(const int& v){decouplePosVersion = v;}
inline QString getTenderDeliveryDiscountBSku()const{return tenderDeliveryDiscountBSku;}
inline void setTenderDeliveryDiscountBSku(const QString& v){tenderDeliveryDiscountBSku = v;}
......
......@@ -73,7 +73,13 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailLab7->setText(orderObject->msr_no.length()? orderObject->msr_no : orderObject->customerId); // MSR_NO
ui->detailLab5->setText( QString("[%1 | %2 ]").arg( orderObject->memo).arg(orderObject->consumerRemark) );
//订单在 POS 上最新开单号:红色属性设置;
if (orderObject->decouplePosVersion < 20 ) {
// 需入机模式-订单;
ui->detailLab8->setText(QString("[ %1 ]").arg(orderObject->dataBasePosOrderCheckNo));
} else {
// 不入机模式-订单;
ui->detailLab8->setText(QString("[ %1 ]").arg( orderObject->dataBasePosOrderCheckNo.left(5) ) );
}
int i = 0, pNum = 0, coupNum = 0, orderCoupNum = 0;
/*********************************** 遍历 商品列表:商品信息展示 begin ***************************************************/
......
......@@ -33,7 +33,6 @@ SOURCES += main.cpp\
DTools/configManger.cpp \
DTools/dataManger.cpp \
DTools/getCaboxAReAuth.cpp \
DTools/gethascashboxandrefundauth.cpp \
DTools/headframe.cpp \
DTools/printCupStickPosDB.cpp \
DTools/printMsgQueueDB.cpp \
......@@ -146,6 +145,7 @@ FORMS += mainForm.ui \
floatForm.ui \
detailForm.ui \
padForm.ui \
pickForm.ui \
RejectForm.ui \
bstatusForm.ui \
bstatusItem.ui \
......
......@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif
VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 2,2021,2,26
PRODUCTVERSION 2,2021,2,26
FILEVERSION 2,2021,4,19
PRODUCTVERSION 2,2021,4,19
//*************************************************************************//
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
......@@ -31,8 +31,8 @@ VS_VERSION_INFO VERSIONINFO
VALUE "OriginalFilename", "fmTakeout.exe"
VALUE "ProductName", "Delivery Order Plugin"
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
VALUE "ProductVersion", "2.2021.2.26"
VALUE "FileVersion", "2.2021.2.26"
VALUE "ProductVersion", "2.2021.4.19"
VALUE "FileVersion", "2.2021.4.19"
//*************************************************************************//
END
END
......
......@@ -237,13 +237,6 @@ void MainForm::on_mainBtnHide_clicked()
emit showFloatForm();
}
/*
void MainForm::on_mainBtnHideAndLockForm()
{
on_mainBtnHide_clicked();
emit lockFloatForm();
}
*/
void MainForm::onShowOrderDetails(OrderObject *orderObject)
{
......@@ -278,8 +271,12 @@ void MainForm::onOrderClear(const QString &orderId, const int &oldstatus)
table = findChild<QTableWidget*>(tabBtn->property("tableName").toString());
for(int i=0; i<table->rowCount(); i++)
{
if(!table->item(i, 1)->text().compare(orderId))
// 过期订单数据,主界面需要清除界面上订单记录 [订单号添加换行符用于比对查找];
int tempOrderIdLen = orderId.length();
QString tempOrderId = orderId.left( tempOrderIdLen -5 ).append( "\r\n" ).append( orderId.right(5) );
if(!table->item(i, 1)->text().compare(tempOrderId))
{
QLOG_INFO() << QString("[<<<<---MainForm::onOrderClear: Find orderId:%1, tempOrderId:%2 Then Clear Ui Item --->>>>]").arg(orderId).arg(tempOrderId);
table->removeRow(i);
QString btnText(tabBtn->property("name").toString());
btnText = QString("%1\n%2").arg(table->rowCount()).arg(btnText);
......@@ -396,8 +393,12 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
table = findChild<QTableWidget*>(tabBtn->property("tableName").toString());
for(int i=0; i<table->rowCount(); i++)
{
if(!table->item(i, 1)->text().compare(orderObject->id))
// 订单状态改变,主界面需要先移除Old Item后, 再添加New Item; [订单号添加换行符用于比对查找];
int tempOrderIdLen = orderObject->id.length();
QString tempOrderId = orderObject->id.left( tempOrderIdLen -5 ).append( "\r\n" ).append( orderObject->id.right(5) );
if(!table->item(i, 1)->text().compare(tempOrderId))
{
QLOG_INFO() << QString("[<<<<---MainForm::onChangeOrderStatus:Find/RemoveItem: orderId:%1, tempOrderId:%2 --->>>>]").arg(orderObject->id).arg(tempOrderId);
table->removeRow(i);
QString btnText(tabBtn->property("name").toString());
btnText = QString("%1\n%2").arg(table->rowCount()).arg(btnText);
......@@ -414,7 +415,11 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
item0->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 0, item0); // 渠道
QTableWidgetItem *item1 = new QTableWidgetItem(orderObject->id);
// 订单状态变更,插件主界面刷新主界面显示 [订单号添加换行符];
int tempOrderIdLen = orderObject->id.length();
QString tempOrderId = orderObject->id.left( tempOrderIdLen -5 ).append( "\r\n" ).append( orderObject->id.right(5) );
// QLOG_INFO() << QString("[<<<<---MainForm::onChangeOrderStatus:AddItem orderId:%1, tempOrderId:%2 --->>>>]").arg(orderObject->id).arg(tempOrderId);
QTableWidgetItem *item1 = new QTableWidgetItem(tempOrderId);
item1->setTextAlignment(Qt::AlignCenter);
table->setItem(0, 1, item1); // 订单ID
......@@ -627,7 +632,13 @@ void MainForm::on_mainBtnDown_clicked()
void MainForm::onMainTableItemClicked(QTableWidgetItem *item)
{
emit getOrderDetails(((QTableWidget*)sender())->item(item->row(), 1)->text());
// 插件主界面点击 Item行,进入订单详情界面展示 [订单号摘除换行符];
QString uiItemOrderId = ((QTableWidget*)sender())->item(item->row(), 1)->text();
QString originOrderId = uiItemOrderId;
int bpos = originOrderId.indexOf("\r");
originOrderId = originOrderId.mid(0,bpos) + originOrderId.mid( bpos + 2 );
QLOG_INFO() << QString("[<<<<---MainForm::onMainTableItemClicked: uiItemOrderId:%1, OrderId:%2 Then Entry Detail Ui--->>>>]").arg(uiItemOrderId).arg(originOrderId);
emit getOrderDetails(originOrderId);
}
void MainForm::on_mainEdtSearch_clicked()
......
......@@ -35,7 +35,7 @@
//#define APP_VERSION "2.2021.1.11"
//#define APP_VERSION "2.2021.2.22"
//#define APP_VERSION "2.2021.2.26"
#define APP_VERSION "2.2021.4.12"
#define APP_VERSION "2.2021.4.19"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号
......
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