Commit 591ea38f by jackalone

添加退单和修改接单后写销售单的逻辑

parent 06c80830
......@@ -230,8 +230,11 @@ bool flowControll::_PullOrder()
if(!SelectOrderId(orderObject))
{
saveSqlite(orderObject);
if(orderObject->status != 1)
{
DoSalesSlip(orderObject,0); //写销售单
emit sgnNewIdPrint(orderObject,new_orderid);
}
// emit sgnNewIdPrint(orderObject,new_orderid); //新订单打印
}
}
else
......@@ -244,6 +247,15 @@ bool flowControll::_PullOrder()
.arg(_GetJsonStr(jsonObject));
if(oldStatus != orderObject->status)
{
if(orderObject->status == 2)
{
DoSalesSlip(orderObject,0); //写销售单
}
if(orderObject->status == 3 || orderObject->status ==30)
{
RefuseSalesSlip(orderObject);
}
emit changeOrderStatus(orderObject,oldStatus);
}
}
......@@ -260,6 +272,18 @@ bool flowControll::_PullOrder()
return result;
}
QByteArray flowControll::_GetOrderRefuseData(const OrderObject *orderObject)
{
QJsonObject rObj, cObj;
rObj.insert("fm_cmd", "refund_order");
rObj.insert("fm_ver", "1.0");
rObj.insert("fm_id", orderObject->fm_id);
QJsonDocument doc(rObj);
return doc.toJson(QJsonDocument::Compact);
}
QByteArray flowControll::_GetOrderEntryData(const OrderObject *orderObject, bool bVerify)
{
QJsonObject rObj, cObj;
......@@ -346,6 +370,47 @@ bool flowControll::DoSalesSlip(const OrderObject *orderObject, bool bVerify)//
socket.close();
return false;
}
bool flowControll::RefuseSalesSlip(const OrderObject *orderObject)//退单
{
QTcpSocket socket;
// 连接
QLOG_INFO() << InitClass::GetInstance().GB2312ToUnicode("开始退单");
QByteArray byteSlip= _GetOrderRefuseData(orderObject);
QLOG_INFO() << "this is comming refund slip"<<byteSlip.data();
socket.connectToHost(ConfigManger::GetInstance().GetSlipIp(), ConfigManger::GetInstance().GetSlipPort());
if (socket.waitForConnected())
{
// 发送
socket.write(_GetOrderRefuseData(orderObject));
if (socket.waitForBytesWritten())
{
// 接收返回
if (socket.waitForReadyRead())
{
QJsonObject recvJson = QJsonDocument::fromJson(socket.readAll()).object();
QLOG_INFO() << QString("refund slip order[%1:%2].[data:%3]")
.arg(orderObject->order_id, orderObject->status_desc)
.arg(_GetJsonStr(recvJson));
if(recvJson["statusCode"].toInt()==100)
{
socket.close();
return true;
}else
{
error = recvJson["msg"].toString();
socket.close();
return false;
}
}
}
}
error = socket.errorString();
socket.close();
return false;
}
int flowControll::_GetTableVID(OrderObject *orderObject)
{
int table_id = TABLE_VID_UNKNOWN;
......
......@@ -44,6 +44,8 @@ public:
void Total_Num();
void SelectTime();
bool DoSalesSlip(const OrderObject *orderObject, bool bVerify);//写销售单
bool RefuseSalesSlip(const OrderObject *orderObject);//退单
QByteArray _GetOrderRefuseData(const OrderObject *orderObject);//拼接json数据
QByteArray _GetOrderEntryData(const OrderObject *orderObject, bool bVerify);//拼接json数据
//自定义网络
......
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