Commit 591ea38f by jackalone

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

parent 06c80830
...@@ -230,8 +230,11 @@ bool flowControll::_PullOrder() ...@@ -230,8 +230,11 @@ bool flowControll::_PullOrder()
if(!SelectOrderId(orderObject)) if(!SelectOrderId(orderObject))
{ {
saveSqlite(orderObject); saveSqlite(orderObject);
if(orderObject->status != 1)
{
DoSalesSlip(orderObject,0); //写销售单 DoSalesSlip(orderObject,0); //写销售单
emit sgnNewIdPrint(orderObject,new_orderid); }
// emit sgnNewIdPrint(orderObject,new_orderid); //新订单打印
} }
} }
else else
...@@ -244,6 +247,15 @@ bool flowControll::_PullOrder() ...@@ -244,6 +247,15 @@ bool flowControll::_PullOrder()
.arg(_GetJsonStr(jsonObject)); .arg(_GetJsonStr(jsonObject));
if(oldStatus != orderObject->status) if(oldStatus != orderObject->status)
{ {
if(orderObject->status == 2)
{
DoSalesSlip(orderObject,0); //写销售单
}
if(orderObject->status == 3 || orderObject->status ==30)
{
RefuseSalesSlip(orderObject);
}
emit changeOrderStatus(orderObject,oldStatus); emit changeOrderStatus(orderObject,oldStatus);
} }
} }
...@@ -260,6 +272,18 @@ bool flowControll::_PullOrder() ...@@ -260,6 +272,18 @@ bool flowControll::_PullOrder()
return result; 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) QByteArray flowControll::_GetOrderEntryData(const OrderObject *orderObject, bool bVerify)
{ {
QJsonObject rObj, cObj; QJsonObject rObj, cObj;
...@@ -346,6 +370,47 @@ bool flowControll::DoSalesSlip(const OrderObject *orderObject, bool bVerify)// ...@@ -346,6 +370,47 @@ bool flowControll::DoSalesSlip(const OrderObject *orderObject, bool bVerify)//
socket.close(); socket.close();
return false; 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 flowControll::_GetTableVID(OrderObject *orderObject)
{ {
int table_id = TABLE_VID_UNKNOWN; int table_id = TABLE_VID_UNKNOWN;
......
...@@ -44,6 +44,8 @@ public: ...@@ -44,6 +44,8 @@ public:
void Total_Num(); void Total_Num();
void SelectTime(); void SelectTime();
bool DoSalesSlip(const OrderObject *orderObject, bool bVerify);//写销售单 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数据 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