Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmp_takeout
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhenfei.zhang
fmp_takeout
Commits
59a0e60e
Commit
59a0e60e
authored
Jul 24, 2017
by
yunpeng.song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加销售单线程
parent
ac842cff
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
327 additions
and
151 deletions
+327
-151
Control/entryControl.cpp
+114
-0
Control/entryControl.h
+37
-0
Control/flowControl.cpp
+54
-82
Control/flowControl.h
+3
-2
Control/sinfoControl.cpp
+22
-6
Control/sinfoControl.h
+4
-3
DTools/fmPlugin.cpp
+6
-4
DTools/orderstatus.cpp
+2
-0
DTools/util.cpp
+8
-8
detailForm.cpp
+15
-12
floatForm.cpp
+0
-2
fmp_takeout.pro
+4
-2
fmp_takeout_p.cpp
+6
-2
fmpinittask.cpp
+34
-15
fmpinittask.h
+3
-2
mainForm.cpp
+12
-9
preDefine.h
+2
-1
version.h
+1
-1
No files found.
Control/entryControl.cpp
0 → 100644
View file @
59a0e60e
#
include
"entryControl.h"
#include "QsLog.h"
#include "DTools/orderstatus.h"
#include "DTools/fmPlugin.h"
#include <QJsonDocument>
#include <QTimer>
EntryControl
&
EntryControl
::
GetInstance
()
{
static
EntryControl
pc
;
return
pc
;
}
void
EntryControl
::
start
()
{
timer
=
new
QTimer
();
timer
->
start
(
10000
);
connect
(
timer
,
&
QTimer
::
timeout
,
this
,
&
EntryControl
::
EntryOrder
);
}
void
EntryControl
::
stop
()
{
qDebug
()
<<
"entrythread stop"
;
if
(
timer
->
isActive
())
{
timer
->
stop
();
delete
timer
;
timer
=
0
;
}
orderList
.
clear
();
}
void
EntryControl
::
EntryOrder
()
{
while
(
!
orderList
.
isEmpty
())
{
OrderObject
*
orderObject
=
orderList
.
takeFirst
();
QString
error
;
if
(
orderObject
->
status
!=
3
&&
orderObject
->
status
!=
100
)
{
if
(
isPosRecv
(
orderObject
->
records
))
{
if
(
!
Orderstatus
::
getInstance
().
isentry
(
orderObject
->
order_id
))
{
QLOG_INFO
()
<<
QString
(
"[---begin entry order [%1]---]."
).
arg
(
_GetJsonStr
(
FmPlugin
::
GetInstance
().
_GetOrderEntryData
(
orderObject
)));
if
(
!
FmPlugin
::
GetInstance
().
DoOrderEntry
(
orderObject
,
error
))
{
QLOG_ERROR
()
<<
QString
(
"entry order %1 failed[%2]"
).
arg
(
orderObject
->
order_id
).
arg
(
error
);
emit
showEntryResult
(
orderObject
,
0
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
::
fromLocal8Bit
(
"%1写单失败"
).
arg
(
QString
(
orderObject
->
channelName
+
QString
::
number
(
orderObject
->
order_index
)
+
QString
::
fromLocal8Bit
(
"号单"
))));
}
else
{
Orderstatus
::
getInstance
().
entryupdate
(
orderObject
->
order_id
,
1
);
QLOG_INFO
()
<<
QString
(
"[entry order %1 success]."
).
arg
(
orderObject
->
order_id
);
emit
showEntryResult
(
orderObject
,
1
);
}
}
else
{
QLOG_INFO
()
<<
QString
(
"[order is already entry]."
);
}
}
else
{
QLOG_INFO
()
<<
QString
::
fromLocal8Bit
(
"非POS接单"
);
}
}
else
{
if
(
!
Orderstatus
::
getInstance
().
isrefund
(
orderObject
->
order_id
))
{
QString
tmpstr
=
""
;
QLOG_INFO
()
<<
QString
(
"[---begin refund order[%1]---]."
).
arg
(
_GetJsonStr
(
FmPlugin
::
GetInstance
().
_GetRefundOrderData
(
orderObject
->
order_id
)));
if
(
!
FmPlugin
::
GetInstance
().
RefundOrder
(
orderObject
->
fm_id
,
error
))
{
tmpstr
=
QString
::
fromLocal8Bit
(
"
\r\n
[撤回销售单失败]"
);
emit
showEntryResult
(
orderObject
,
0
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
::
fromLocal8Bit
(
"%1撤销单失败"
).
arg
(
QString
(
orderObject
->
channelName
+
QString
::
number
(
orderObject
->
order_index
)
+
QString
::
fromLocal8Bit
(
"号单"
))));
QLOG_INFO
()
<<
QString
::
fromLocal8Bit
(
"refund order %1 failed[%2]"
).
arg
(
orderObject
->
fm_id
).
arg
(
error
);
}
else
{
tmpstr
=
QString
::
fromLocal8Bit
(
"
\r\n
[撤回销售单成功]"
);
QLOG_INFO
()
<<
QString
::
fromLocal8Bit
(
"refund order %1 seccess"
).
arg
(
orderObject
->
order_id
);
Orderstatus
::
getInstance
().
refundupdate
(
orderObject
->
order_id
,
1
);
emit
showEntryResult
(
orderObject
,
1
);
}
}
else
{
QLOG_INFO
()
<<
QString
(
"order is already refund"
);
}
}
}
}
void
EntryControl
::
onAddOrder
(
OrderObject
*
order
)
{
orderList
.
append
(
order
);
}
bool
EntryControl
::
isPosRecv
(
QStringList
records
)
{
QString
record
;
foreach
(
QString
str
,
records
)
{
record
.
append
(
str
);
}
QLOG_INFO
()
<<
record
;
return
record
.
contains
(
QString
::
fromLocal8Bit
(
"[SYS]自动接单"
),
Qt
::
CaseInsensitive
)
||
record
.
contains
(
QString
::
fromLocal8Bit
(
"[POS]确认接单"
),
Qt
::
CaseInsensitive
);
}
QString
EntryControl
::
_GetJsonStr
(
const
QByteArray
&
json
)
{
return
QString
(
json
).
replace
(
"
\"
"
,
""
);
}
Control/entryControl.h
0 → 100644
View file @
59a0e60e
#
ifndef
PLUGINCONTROL_H
#define PLUGINCONTROL_H
#include <QObject>
#include "Model/orderObject.h"
#include <QStringList>
#include "alertForm.h"
#include <QTimer>
class
EntryControl
:
public
QObject
{
Q_OBJECT
public
:
static
EntryControl
&
GetInstance
();
QList
<
OrderObject
*>
orderList
;
QTimer
*
timer
;
void
start
();
void
stop
();
private
:
EntryControl
(){}
EntryControl
(
EntryControl
const
&
);
EntryControl
&
operator
=
(
EntryControl
const
&
);
bool
isPosRecv
(
QStringList
records
);
QString
_GetJsonStr
(
const
QByteArray
&
json
);
void
EntryOrder
();
signals
:
void
showAlert
(
AlertForm
::
Type
type
,
const
QString
&
msg
);
void
showEntryResult
(
OrderObject
*
,
int
);
public
slots
:
void
onAddOrder
(
OrderObject
*
order
);
};
#endif // PLUGINCONTROL_H
Control/flowControl.cpp
View file @
59a0e60e
...
@@ -21,6 +21,7 @@ FlowControl &FlowControl::GetInstance()
...
@@ -21,6 +21,7 @@ FlowControl &FlowControl::GetInstance()
FlowControl
::
FlowControl
()
FlowControl
::
FlowControl
()
{
{
m_available
=
true
;
m_bFirstRecvInfo
=
true
;
m_bFirstRecvInfo
=
true
;
m_timestamp
=
"0"
;
m_timestamp
=
"0"
;
m_loginSocket
=
NULL
;
m_loginSocket
=
NULL
;
...
@@ -75,20 +76,20 @@ bool FlowControl::_Login()
...
@@ -75,20 +76,20 @@ bool FlowControl::_Login()
QJsonObject
recvJson
;
QJsonObject
recvJson
;
sendJson
=
DataManger
::
GetInstance
().
GetLoginData
(
m_storeId
,
SERVER_PASSWORD
,
m_posId
,
m_cashierId
);
sendJson
=
DataManger
::
GetInstance
().
GetLoginData
(
m_storeId
,
SERVER_PASSWORD
,
m_posId
,
m_cashierId
);
emit
showAlert
(
AlertForm
::
LOADING
,
"正在登录......"
);
emit
showAlert
(
AlertForm
::
LOADING
,
QString
::
fromLocal8Bit
(
"正在登录......"
)
);
QLOG_INFO
()
<<
QString
(
"[---login---][requestData:%1]"
).
arg
(
_GetJsonStr
(
sendJson
));
QLOG_INFO
()
<<
QString
(
"[---login---][requestData:%1]"
).
arg
(
_GetJsonStr
(
sendJson
));
result
=
m_loginSocket
->
Request
(
sendJson
,
recvJson
,
error
);
result
=
m_loginSocket
->
Request
(
sendJson
,
recvJson
,
error
);
QLOG_INFO
()
<<
QString
(
"login finsh. [result:%1][msg:%2][recvData:%3]"
)
QLOG_INFO
()
<<
QString
(
"login finsh. [result:%1][msg:%2][recvData:%3]"
)
.
arg
(
result
).
arg
(
error
,
_GetJsonStr
(
recvJson
));
.
arg
(
result
).
arg
(
error
,
_GetJsonStr
(
recvJson
));
if
(
!
result
)
if
(
!
result
)
{
{
emit
showAlert
(
AlertForm
::
ERROR
,
"登录失败![网络错误]"
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
::
fromLocal8Bit
(
"登录失败![网络错误]"
)
);
}
else
}
else
{
{
if
(
JSON_STATUSCODE_OK
!=
recvJson
[
JSON_STATUSCODE
].
toInt
())
if
(
JSON_STATUSCODE_OK
!=
recvJson
[
JSON_STATUSCODE
].
toInt
())
{
{
result
=
false
;
result
=
false
;
emit
showAlert
(
AlertForm
::
ERROR
,
QString
(
"登录失败![%1]"
).
arg
(
recvJson
[
JSON_MESSAGE
].
toString
()));
emit
showAlert
(
AlertForm
::
ERROR
,
QString
::
fromLocal8Bit
(
"登录失败![%1]"
).
arg
(
recvJson
[
JSON_MESSAGE
].
toString
()));
}
else
}
else
{
{
m_timestamp
=
recvJson
[
JSON_TIMESTAMPS
].
toString
();
m_timestamp
=
recvJson
[
JSON_TIMESTAMPS
].
toString
();
...
@@ -99,9 +100,10 @@ bool FlowControl::_Login()
...
@@ -99,9 +100,10 @@ bool FlowControl::_Login()
_PullOrder
();
_PullOrder
();
}
}
}
}
if
(
!
result
)
if
(
!
result
&&
m_available
)
{
{
QLOG_INFO
()
<<
QString
(
"%1 msec after login..."
).
arg
(
VALUE_RELOGINTIME
);
QLOG_INFO
()
<<
QString
(
"%1 msec after login..."
).
arg
(
VALUE_RELOGINTIME
);
QTimer
::
singleShot
(
VALUE_RELOGINTIME
,
this
,
&
FlowControl
::
_Login
);
QTimer
::
singleShot
(
VALUE_RELOGINTIME
,
this
,
&
FlowControl
::
_Login
);
}
}
...
@@ -110,12 +112,13 @@ bool FlowControl::_Login()
...
@@ -110,12 +112,13 @@ bool FlowControl::_Login()
bool
FlowControl
::
_PullOrder
()
bool
FlowControl
::
_PullOrder
()
{
{
if
(
!
m_available
)
return
false
;
QString
error
;
QString
error
;
bool
result
;
bool
result
;
QJsonObject
sendJson
;
QJsonObject
sendJson
;
QJsonObject
recvJson
;
QJsonObject
recvJson
;
int
syncTime
=
VALUE_PULLSYNCTIME
;
int
syncTime
=
VALUE_PULLSYNCTIME
;
sendJson
=
DataManger
::
GetInstance
().
GetPullOrderData
(
m_timestamp
,
autoconfirm
);
sendJson
=
DataManger
::
GetInstance
().
GetPullOrderData
(
m_timestamp
,
autoconfirm
);
QLOG_INFO
()
<<
QString
(
"[---pull order---][requestData:%1]"
).
arg
(
_GetJsonStr
(
sendJson
));
QLOG_INFO
()
<<
QString
(
"[---pull order---][requestData:%1]"
).
arg
(
_GetJsonStr
(
sendJson
));
result
=
m_pullOrderSocket
->
Request
(
sendJson
,
recvJson
,
error
);
result
=
m_pullOrderSocket
->
Request
(
sendJson
,
recvJson
,
error
);
...
@@ -123,26 +126,26 @@ bool FlowControl::_PullOrder()
...
@@ -123,26 +126,26 @@ bool FlowControl::_PullOrder()
.
arg
(
result
).
arg
(
error
);
.
arg
(
result
).
arg
(
error
);
if
(
!
result
)
if
(
!
result
)
{
{
emit
setNetStatus
(
"<font color='#ff0000'>异常</font>"
);
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>异常</font>"
)
);
}
else
}
else
{
{
emit
setNetStatus
(
"正常"
);
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"正常"
)
);
if
(
JSON_STATUSCODE_OK
!=
recvJson
[
JSON_STATUSCODE
].
toInt
())
if
(
JSON_STATUSCODE_OK
!=
recvJson
[
JSON_STATUSCODE
].
toInt
())
{
{
QString
error
=
recvJson
[
JSON_MESSAGE
].
toString
();
QString
error
=
recvJson
[
JSON_MESSAGE
].
toString
();
QLOG_ERROR
()
<<
QString
(
"pull orders error.[msg->%1]"
).
arg
(
error
);
QLOG_ERROR
()
<<
QString
(
"pull orders error.[msg->%1]"
).
arg
(
error
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
(
"获取订单失败![%1]"
).
arg
(
error
));
emit
showAlert
(
AlertForm
::
ERROR
,
QString
::
fromLocal8Bit
(
"获取订单失败![%1]"
).
arg
(
error
));
}
else
}
else
{
{
// 获取门店营业状态
// 获取门店营业状态
QString
strOpeStatus
(
"正常"
);
QString
strOpeStatus
(
QString
::
fromLocal8Bit
(
"正常"
)
);
QJsonArray
opeStatus
=
recvJson
[
JSON_SHOPSTATUS
].
toArray
();
QJsonArray
opeStatus
=
recvJson
[
JSON_SHOPSTATUS
].
toArray
();
foreach
(
QJsonValue
status
,
opeStatus
)
foreach
(
QJsonValue
status
,
opeStatus
)
{
{
QJsonObject
jsonObject
=
status
.
toObject
();
QJsonObject
jsonObject
=
status
.
toObject
();
if
(
jsonObject
[
JSON_SHOPSTATUSDESC
].
toString
().
compare
(
"营业中"
))
if
(
jsonObject
[
JSON_SHOPSTATUSDESC
].
toString
().
compare
(
"营业中"
))
{
{
strOpeStatus
=
QString
(
"<font color='#ff0000'>异常</font>"
);
strOpeStatus
=
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>异常</font>"
);
break
;
break
;
}
}
}
}
...
@@ -196,68 +199,15 @@ bool FlowControl::_PullOrder()
...
@@ -196,68 +199,15 @@ bool FlowControl::_PullOrder()
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
}
}
if
(
orderObject
->
status
!=
3
&&
orderObject
->
status
!=
100
)
emit
addEntryOrder
(
orderObject
);
{
if
(
isPosRecv
(
orderObject
->
records
))
{
if
(
!
Orderstatus
::
getInstance
().
isentry
(
orderObject
->
order_id
))
{
QLOG_INFO
()
<<
QString
(
"[---begin entry order [%1]---]."
).
arg
(
_GetJsonStr
(
FmPlugin
::
GetInstance
().
_GetOrderEntryData
(
orderObject
)));
if
(
!
FmPlugin
::
GetInstance
().
DoOrderEntry
(
orderObject
,
error
))
{
QLOG_ERROR
()
<<
QString
(
"entry order failed[%1]"
).
arg
(
error
);
emit
showEntryResult
(
orderObject
,
0
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
(
"%1写单失败"
).
arg
(
QString
(
orderObject
->
channelName
+
QString
::
number
(
orderObject
->
order_index
)
+
"号单"
)));
}
else
{
Orderstatus
::
getInstance
().
entryupdate
(
orderObject
->
order_id
,
1
);
QLOG_INFO
()
<<
QString
(
"[entry order success]."
);
emit
showEntryResult
(
orderObject
,
1
);
}
}
else
{
QLOG_INFO
()
<<
QString
(
"[order is already entry]."
);
}
}
else
{
QLOG_ERROR
()
<<
QString
(
"非POS接单"
);
}
}
else
{
if
(
!
Orderstatus
::
getInstance
().
isrefund
(
orderObject
->
order_id
))
{
QString
tmpstr
=
""
;
QLOG_INFO
()
<<
QString
(
"[---begin refund order[%1]---]."
).
arg
(
_GetJsonStr
(
FmPlugin
::
GetInstance
().
_GetRefundOrderData
(
orderObject
->
order_id
)));
if
(
!
FmPlugin
::
GetInstance
().
RefundOrder
(
orderObject
->
order_id
,
error
))
{
tmpstr
=
QString
(
"
\r\n
[撤回销售单失败]"
);
emit
showEntryResult
(
orderObject
,
0
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
(
"%1撤销单失败"
).
arg
(
QString
(
orderObject
->
channelName
+
QString
::
number
(
orderObject
->
order_index
)
+
"号单"
)));
QLOG_INFO
()
<<
QString
(
"refund order failed[%1]"
).
arg
(
error
);
}
else
{
tmpstr
=
QString
(
"
\r\n
[撤回销售单成功]"
);
QLOG_INFO
()
<<
QString
(
"refund order seccess"
);
Orderstatus
::
getInstance
().
refundupdate
(
orderObject
->
order_id
,
1
);
emit
showEntryResult
(
orderObject
,
1
);
}
}
else
{
QLOG_INFO
()
<<
QString
(
"order is already refund"
);
}
}
m_timestamp
=
orderObject
->
timestamp
;
m_timestamp
=
orderObject
->
timestamp
;
}
}
syncTime
=
recvJson
[
JSON_SYNCTIME
].
toInt
()
*
1000
;
syncTime
=
recvJson
[
JSON_SYNCTIME
].
toInt
()
*
1000
;
}
}
}
}
QLOG_INFO
()
<<
QString
(
"%1 msec after pull order..."
).
arg
(
syncTime
);
QLOG_INFO
()
<<
QString
(
"%1 msec after pull order..."
).
arg
(
syncTime
);
QTimer
::
singleShot
(
syncTime
,
this
,
&
FlowControl
::
_PullOrder
);
QTimer
::
singleShot
(
syncTime
,
this
,
&
FlowControl
::
_PullOrder
);
return
result
;
return
result
;
}
}
...
@@ -545,21 +495,21 @@ bool FlowControl::_RefundOrder(const QString &orderId,QString reason)
...
@@ -545,21 +495,21 @@ bool FlowControl::_RefundOrder(const QString &orderId,QString reason)
QString
tmpstr
=
""
;
QString
tmpstr
=
""
;
// 撤回销售单
// 撤回销售单
QLOG_INFO
()
<<
QString
(
"[---begin refund order---]."
);
//
QLOG_INFO() << QString("[---begin refund order---].");
if
(
Orderstatus
::
getInstance
().
isentry
(
orderObject
->
order_id
))
//
if(Orderstatus::getInstance().isentry(orderObject->order_id))
{
//
{
if
(
!
FmPlugin
::
GetInstance
().
RefundOrder
(
orderI
d
,
error
))
// if(!FmPlugin::GetInstance().RefundOrder(orderObject->fm_i
d,error))
{
//
{
tmpstr
=
QString
(
"
\r\n
[撤回销售单失败]"
);
//
tmpstr = QString("\r\n[撤回销售单失败]");
QLOG_INFO
()
<<
QString
(
"entry order failed[%1]"
).
arg
(
error
);
//
QLOG_INFO() << QString("entry order failed[%1]").arg(error);
emit
showEntryResult
(
orderObject
,
0
);
//
emit showEntryResult(orderObject,0);
}
else
//
}else
{
//
{
tmpstr
=
QString
(
"
\r\n
[撤回销售单成功]"
);
//
tmpstr = QString("\r\n[撤回销售单成功]");
Orderstatus
::
getInstance
().
refundupdate
(
orderObject
->
order_id
,
1
);
//
Orderstatus::getInstance().refundupdate(orderObject->order_id,1);
emit
showEntryResult
(
orderObject
,
1
);
//
emit showEntryResult(orderObject,1);
}
//
}
}
//
}
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
(
"退单成功!%1"
).
arg
(
tmpstr
));
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
(
"退单成功!%1"
).
arg
(
tmpstr
));
}
}
...
@@ -674,4 +624,26 @@ void FlowControl::onProcessRejectOrder(const QString &orderId, const int &reason
...
@@ -674,4 +624,26 @@ void FlowControl::onProcessRejectOrder(const QString &orderId, const int &reason
}
}
void
FlowControl
::
stopFlow
()
{
qDebug
()
<<
"flowthread stop"
;
m_available
=
false
;
if
(
m_loginSocket
)
{
m_loginSocket
->
deleteLater
();
m_loginSocket
=
NULL
;
}
if
(
m_pullOrderSocket
)
{
m_pullOrderSocket
->
deleteLater
();
m_pullOrderSocket
=
NULL
;
}
if
(
m_procOrderSocket
)
{
m_procOrderSocket
->
deleteLater
();
m_procOrderSocket
=
NULL
;
}
}
Control/flowControl.h
View file @
59a0e60e
...
@@ -44,7 +44,7 @@ private:
...
@@ -44,7 +44,7 @@ private:
// 是否第一次获取到门店信息
// 是否第一次获取到门店信息
bool
m_bFirstRecvInfo
;
bool
m_bFirstRecvInfo
;
bool
isPosRecv
(
QStringList
records
);
bool
isPosRecv
(
QStringList
records
);
bool
m_available
;
signals
:
signals
:
/* 功能:隐藏通知窗口
/* 功能:隐藏通知窗口
* 参数:NULL
* 参数:NULL
...
@@ -97,7 +97,7 @@ signals:
...
@@ -97,7 +97,7 @@ signals:
* */
* */
void
showSearchOrderResult
(
const
QMap
<
QString
,
QString
>&
orderMap
);
void
showSearchOrderResult
(
const
QMap
<
QString
,
QString
>&
orderMap
);
void
startRemind
(
int
);
void
startRemind
(
int
);
void
showEntryResult
(
OrderObject
*
,
in
t
);
void
addEntryOrder
(
OrderObject
*
orderObjec
t
);
private
slots
:
private
slots
:
/* 功能:登录
/* 功能:登录
...
@@ -176,6 +176,7 @@ public slots:
...
@@ -176,6 +176,7 @@ public slots:
* */
* */
void
onSerachOrder
(
const
QString
&
text
);
void
onSerachOrder
(
const
QString
&
text
);
void
onProcessRejectOrder
(
const
QString
&
orderId
,
const
int
&
reason
,
const
int
&
reasontype
);
void
onProcessRejectOrder
(
const
QString
&
orderId
,
const
int
&
reason
,
const
int
&
reasontype
);
void
stopFlow
();
};
};
#endif // FLOWCONTROL_H
#endif // FLOWCONTROL_H
Control/sinfoControl.cpp
View file @
59a0e60e
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
#include <QJsonObject>
#include <QJsonObject>
#include <QJsonDocument>
#include <QJsonDocument>
#include <QDebug>
#include <QDebug>
#include <DTools/configManger.h>
SInfoControl
&
SInfoControl
::
GetInstance
()
SInfoControl
&
SInfoControl
::
GetInstance
()
{
{
...
@@ -15,20 +16,37 @@ void SInfoControl::SetListenPort(int port)
...
@@ -15,20 +16,37 @@ void SInfoControl::SetListenPort(int port)
m_port
=
port
;
m_port
=
port
;
}
}
SInfoControl
::~
SInfoControl
()
SInfoControl
::
SInfoControl
()
{
m_port
=
ConfigManger
::
GetInstance
().
GetTcpServerPort
();
}
void
SInfoControl
::
stopSinfo
()
{
{
qDebug
()
<<
"sinfothread stop"
;
m_bContinue
=
false
;
m_bContinue
=
false
;
m_mutex
.
unlock
();
if
(
m_tcpSocket
==
NULL
)
{
m_tcpSocket
->
deleteLater
();
m_tcpSocket
=
NULL
;
}
if
(
m_tcpServer
==
NULL
)
{
m_tcpServer
->
deleteLater
();
m_tcpServer
=
NULL
;
}
}
SInfoControl
::~
SInfoControl
()
{
}
}
void
SInfoControl
::
run
()
void
SInfoControl
::
run
()
{
{
m_mutex
.
lock
();
m_tcpServer
=
new
QTcpServer
(
this
);
m_tcpServer
=
new
QTcpServer
(
this
);
if
(
!
m_tcpServer
->
listen
(
QHostAddress
::
LocalHost
,
m_port
))
if
(
!
m_tcpServer
->
listen
(
QHostAddress
::
LocalHost
,
m_port
))
{
{
emit
listenFailed
(
QString
(
"绑定端口[%1]失败!"
).
arg
(
m_port
));
emit
listenFailed
(
QString
::
fromLocal8Bit
(
"绑定端口[%1]失败!"
).
arg
(
m_port
));
QLOG_ERROR
()
<<
QString
(
"SInfoControl listen failed on port[%1]"
).
arg
(
m_port
);
QLOG_ERROR
()
<<
QString
(
"SInfoControl listen failed on port[%1]"
).
arg
(
m_port
);
return
;
return
;
}
}
...
@@ -106,7 +124,5 @@ void SInfoControl::run()
...
@@ -106,7 +124,5 @@ void SInfoControl::run()
continue
;
continue
;
}
}
m_tcpServer
->
close
();
m_tcpServer
->
close
();
m_tcpServer
->
deleteLater
();
QLOG_INFO
()
<<
"refundControl exit."
;
QLOG_INFO
()
<<
"refundControl exit."
;
m_mutex
.
unlock
();
}
}
Control/sinfoControl.h
View file @
59a0e60e
...
@@ -15,7 +15,7 @@ public:
...
@@ -15,7 +15,7 @@ public:
void
SetListenPort
(
int
port
);
void
SetListenPort
(
int
port
);
private
:
private
:
SInfoControl
()
{}
SInfoControl
()
;
~
SInfoControl
();
~
SInfoControl
();
SInfoControl
(
SInfoControl
const
&
);
SInfoControl
(
SInfoControl
const
&
);
SInfoControl
&
operator
=
(
SInfoControl
const
&
);
SInfoControl
&
operator
=
(
SInfoControl
const
&
);
...
@@ -23,9 +23,9 @@ private:
...
@@ -23,9 +23,9 @@ private:
QTcpServer
*
m_tcpServer
;
QTcpServer
*
m_tcpServer
;
QTcpSocket
*
m_tcpSocket
;
QTcpSocket
*
m_tcpSocket
;
int
m_port
;
int
m_port
;
QMutex
m_mutex
;
bool
m_bContinue
;
bool
m_bContinue
;
QMutex
m_mutex
;
public
slots
:
public
slots
:
/* 功能:开启控制器
/* 功能:开启控制器
...
@@ -33,6 +33,7 @@ public slots:
...
@@ -33,6 +33,7 @@ public slots:
* 返回:NULL
* 返回:NULL
* */
* */
void
run
();
void
run
();
void
stopSinfo
();
signals
:
signals
:
/* 功能:通知主界面监听失败
/* 功能:通知主界面监听失败
...
...
DTools/fmPlugin.cpp
View file @
59a0e60e
...
@@ -12,9 +12,11 @@
...
@@ -12,9 +12,11 @@
#include <QTimer>
#include <QTimer>
#include <QJsonArray>
#include <QJsonArray>
#include <QDataStream>
#include <QDataStream>
#include <QThread>
FmPlugin
&
FmPlugin
::
GetInstance
()
FmPlugin
&
FmPlugin
::
GetInstance
()
{
{
static
FmPlugin
fmPlugin
;
static
FmPlugin
fmPlugin
;
return
fmPlugin
;
return
fmPlugin
;
}
}
...
@@ -30,7 +32,7 @@ bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, QString &error, bool
...
@@ -30,7 +32,7 @@ bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, QString &error, bool
QTcpSocket
socket
;
QTcpSocket
socket
;
// 连接
// 连接
socket
.
connectToHost
(
m_host
,
m_port
);
socket
.
connectToHost
(
m_host
,
m_port
);
if
(
socket
.
waitForConnected
(
10
000
))
if
(
socket
.
waitForConnected
(
5
000
))
{
{
// 初始化请求数据
// 初始化请求数据
// 发送
// 发送
...
@@ -47,7 +49,7 @@ bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, QString &error, bool
...
@@ -47,7 +49,7 @@ bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, QString &error, bool
return
true
;
return
true
;
}
else
}
else
{
{
error
=
QString
(
"富比达"
).
append
(
recvJson
[
"msg"
].
toString
());
error
=
QString
::
fromLocal8Bit
(
"富比达"
).
append
(
recvJson
[
"msg"
].
toString
());
socket
.
close
();
socket
.
close
();
return
false
;
return
false
;
}
}
...
@@ -64,7 +66,7 @@ bool FmPlugin::RefundOrder(const QString &orderId, QString &error)
...
@@ -64,7 +66,7 @@ bool FmPlugin::RefundOrder(const QString &orderId, QString &error)
QTcpSocket
socket
;
QTcpSocket
socket
;
// 连接
// 连接
socket
.
connectToHost
(
m_host
,
m_port
);
socket
.
connectToHost
(
m_host
,
m_port
);
if
(
socket
.
waitForConnected
(
10
000
))
if
(
socket
.
waitForConnected
(
5
000
))
{
{
// 初始化请求数据
// 初始化请求数据
// 发送
// 发送
...
@@ -81,7 +83,7 @@ bool FmPlugin::RefundOrder(const QString &orderId, QString &error)
...
@@ -81,7 +83,7 @@ bool FmPlugin::RefundOrder(const QString &orderId, QString &error)
return
true
;
return
true
;
}
else
}
else
{
{
error
=
QString
(
"富比达"
).
append
(
recvJson
[
"msg"
].
toString
());
error
=
QString
::
fromLocal8Bit
(
"富比达"
).
append
(
recvJson
[
"msg"
].
toString
());
socket
.
close
();
socket
.
close
();
return
false
;
return
false
;
}
}
...
...
DTools/orderstatus.cpp
View file @
59a0e60e
...
@@ -82,6 +82,7 @@ bool Orderstatus::isentry(const QString &orderId)
...
@@ -82,6 +82,7 @@ bool Orderstatus::isentry(const QString &orderId)
{
{
return
query
.
value
(
0
).
toBool
();
return
query
.
value
(
0
).
toBool
();
}
}
return
false
;
}
}
bool
Orderstatus
::
refundupdate
(
const
QString
&
orderId
,
const
int
&
refundstatus
)
bool
Orderstatus
::
refundupdate
(
const
QString
&
orderId
,
const
int
&
refundstatus
)
...
@@ -112,6 +113,7 @@ bool Orderstatus::isrefund(const QString &orderId)
...
@@ -112,6 +113,7 @@ bool Orderstatus::isrefund(const QString &orderId)
{
{
return
query
.
value
(
0
).
toBool
();
return
query
.
value
(
0
).
toBool
();
}
}
return
false
;
}
}
bool
Orderstatus
::
isorderexit
(
const
QString
&
orderId
)
bool
Orderstatus
::
isorderexit
(
const
QString
&
orderId
)
{
{
...
...
DTools/util.cpp
View file @
59a0e60e
...
@@ -57,24 +57,24 @@ QString GetOperNameByStatus(int status, bool bRefuse)
...
@@ -57,24 +57,24 @@ QString GetOperNameByStatus(int status, bool bRefuse)
case
1
:
case
1
:
if
(
bRefuse
)
if
(
bRefuse
)
{
{
return
OPERATIONNAME_REFUSE
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUSE
)
;
}
}
return
OPERATIONNAME_GETDELIVERS
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_GETDELIVERS
)
;
break
;
break
;
case
2
:
case
2
:
if
(
bRefuse
)
if
(
bRefuse
)
{
{
return
OPERATIONNAME_REFUNDORDER
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
)
;
}
}
return
OPERATIONNAME_SENDOUT
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_SENDOUT
)
;
break
;
break
;
case
5
:
case
5
:
case
4
:
case
4
:
if
(
bRefuse
)
if
(
bRefuse
)
{
{
return
OPERATIONNAME_REFUNDORDER
;
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
)
;
}
}
return
OPERATIONNAME_COMPLETE
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_COMPLETE
)
;
break
;
break
;
case
6
:
case
6
:
case
200
:
case
200
:
...
@@ -83,9 +83,9 @@ QString GetOperNameByStatus(int status, bool bRefuse)
...
@@ -83,9 +83,9 @@ QString GetOperNameByStatus(int status, bool bRefuse)
case
20
:
case
20
:
if
(
bRefuse
)
if
(
bRefuse
)
{
{
return
OPERATIONNAME_REFUSEREFUND
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUSEREFUND
)
;
}
}
return
OPERATIONNAME_REFUNDORDER
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
)
;
break
;
break
;
default
:
default
:
return
"NULL"
;
return
"NULL"
;
...
...
detailForm.cpp
View file @
59a0e60e
...
@@ -36,21 +36,21 @@ void DetailForm::InitData(OrderObject *orderObject)
...
@@ -36,21 +36,21 @@ void DetailForm::InitData(OrderObject *orderObject)
ui
->
detailBtn1
->
hide
();
ui
->
detailBtn1
->
hide
();
// 初始化界面
// 初始化界面
ui
->
detailLab0
->
setText
(
QString
(
"[%1][%2][%3]"
).
arg
(
orderObject
->
channelName
,
ui
->
detailLab0
->
setText
(
QString
::
fromLocal8Bit
(
"[%1][%2][%3]"
).
arg
(
orderObject
->
channelName
,
orderObject
->
status_desc
,
orderObject
->
status_desc
,
orderObject
->
order_id
));
orderObject
->
order_id
));
ui
->
detailLab1
->
setText
(
QString
(
"[%1]%2"
).
arg
(
orderObject
->
pay_type
,
ui
->
detailLab1
->
setText
(
QString
::
fromLocal8Bit
(
"[%1]%2"
).
arg
(
orderObject
->
pay_type
,
orderObject
->
remark
));
orderObject
->
remark
));
ui
->
detailLab2
->
setText
(
QString
(
"[姓名]%1 [电话]%2"
).
arg
(
orderObject
->
customer
,
ui
->
detailLab2
->
setText
(
QString
::
fromLocal8Bit
(
"[姓名]%1 [电话]%2"
).
arg
(
orderObject
->
customer
,
orderObject
->
phone
));
orderObject
->
phone
));
ui
->
detailLab3
->
setText
(
orderObject
->
address
);
ui
->
detailLab3
->
setText
(
orderObject
->
address
);
ui
->
detailLab4
->
setText
(
QString
(
"[配送方式]%1 [配送费]%2"
).
arg
(
orderObject
->
delivery_party
,
ui
->
detailLab4
->
setText
(
QString
::
fromLocal8Bit
(
"[配送方式]%1 [配送费]%2"
).
arg
(
orderObject
->
delivery_party
,
Penny2Dollar
(
orderObject
->
send_fee
)));
Penny2Dollar
(
orderObject
->
send_fee
)));
ui
->
detailLab5
->
setText
(
orderObject
->
delivery_time
==
0
?
"立即送出"
:
QDateTime
::
fromTime_t
(
orderObject
->
delivery_time
).
toString
(
"MM/dd hh:mm"
));
ui
->
detailLab5
->
setText
(
orderObject
->
delivery_time
==
0
?
QString
::
fromLocal8Bit
(
"立即送出"
)
:
QDateTime
::
fromTime_t
(
orderObject
->
delivery_time
).
toString
(
"MM/dd hh:mm"
));
ui
->
detailLab6
->
setText
(
orderObject
->
courier_name
.
isEmpty
()
?
"暂未指定"
:
QString
(
"[姓名]%1 [电话]%2"
)
ui
->
detailLab6
->
setText
(
orderObject
->
courier_name
.
isEmpty
()
?
QString
::
fromLocal8Bit
(
"暂未指定"
)
:
QString
::
fromLocal8Bit
(
"[姓名]%1 [电话]%2"
)
.
arg
(
orderObject
->
courier_name
,
orderObject
->
courier_phone
));
.
arg
(
orderObject
->
courier_name
,
orderObject
->
courier_phone
));
ui
->
detailLab7
->
setText
(
!
orderObject
->
pay_type
.
compare
(
"在线支付"
)
?
"0"
:
Penny2Dollar
(
orderObject
->
shop_fee
));
ui
->
detailLab7
->
setText
(
!
orderObject
->
pay_type
.
compare
(
"在线支付"
)
?
"0"
:
Penny2Dollar
(
orderObject
->
shop_fee
));
ui
->
detailLab8
->
setText
(
orderObject
->
has_invoiced
?
QString
(
"发票抬头:%1"
).
arg
(
orderObject
->
invoice_title
)
:
"不需要发票"
);
ui
->
detailLab8
->
setText
(
orderObject
->
has_invoiced
?
QString
::
fromLocal8Bit
(
"发票抬头:%1"
).
arg
(
orderObject
->
invoice_title
)
:
QString
::
fromLocal8Bit
(
"不需要发票"
)
);
for
(
int
i
=
0
;
i
<
orderObject
->
proList
.
count
();
i
++
)
for
(
int
i
=
0
;
i
<
orderObject
->
proList
.
count
();
i
++
)
{
{
...
@@ -104,7 +104,10 @@ void DetailForm::InitData(OrderObject *orderObject)
...
@@ -104,7 +104,10 @@ void DetailForm::InitData(OrderObject *orderObject)
ui
->
detailBtn0
->
hide
();
ui
->
detailBtn0
->
hide
();
}
}
}
}
m_rejectForm
=
new
RejectForm
(
this
);
if
(
m_rejectForm
==
NULL
)
{
m_rejectForm
=
new
RejectForm
(
this
);
}
}
}
void
DetailForm
::
_Init
()
void
DetailForm
::
_Init
()
...
@@ -154,14 +157,14 @@ void DetailForm::on_detailBtn1_clicked()
...
@@ -154,14 +157,14 @@ void DetailForm::on_detailBtn1_clicked()
{
{
QLOG_INFO
()
<<
QString
(
"reRefund order failed[%1]"
).
arg
(
error
);
QLOG_INFO
()
<<
QString
(
"reRefund order failed[%1]"
).
arg
(
error
);
emit
showEntryResult
(
m_orderObject
,
0
);
emit
showEntryResult
(
m_orderObject
,
0
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
(
"重新撤销销售单失败[%1]"
).
arg
(
error
));
emit
showAlert
(
AlertForm
::
ERROR
,
QString
::
fromLocal8Bit
(
"重新撤销销售单失败[%1]"
).
arg
(
error
));
}
}
else
else
{
{
Orderstatus
::
getInstance
().
refundupdate
(
m_orderObject
->
order_id
,
1
);
Orderstatus
::
getInstance
().
refundupdate
(
m_orderObject
->
order_id
,
1
);
QLOG_INFO
()
<<
QString
(
"[reRefund order success]."
);
QLOG_INFO
()
<<
QString
(
"[reRefund order success]."
);
emit
showEntryResult
(
m_orderObject
,
1
);
emit
showEntryResult
(
m_orderObject
,
1
);
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
(
"[重新撤销销售单成功]."
));
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
::
fromLocal8Bit
(
"[重新撤销销售单成功]."
));
}
}
}
}
...
@@ -172,13 +175,13 @@ void DetailForm::on_detailBtn0_clicked()
...
@@ -172,13 +175,13 @@ void DetailForm::on_detailBtn0_clicked()
{
{
QLOG_INFO
()
<<
QString
(
"reEntry order failed[%1]"
).
arg
(
error
);
QLOG_INFO
()
<<
QString
(
"reEntry order failed[%1]"
).
arg
(
error
);
emit
showEntryResult
(
m_orderObject
,
0
);
emit
showEntryResult
(
m_orderObject
,
0
);
emit
showAlert
(
AlertForm
::
ERROR
,
QString
(
"重新补录销售单失败[%1]"
).
arg
(
error
));
emit
showAlert
(
AlertForm
::
ERROR
,
QString
::
fromLocal8Bit
(
"重新补录销售单失败[%1]"
).
arg
(
error
));
}
}
else
else
{
{
Orderstatus
::
getInstance
().
entryupdate
(
m_orderObject
->
order_id
,
1
);
Orderstatus
::
getInstance
().
entryupdate
(
m_orderObject
->
order_id
,
1
);
QLOG_INFO
()
<<
QString
(
"[reEntry order success]."
);
QLOG_INFO
()
<<
QString
(
"[reEntry order success]."
);
emit
showEntryResult
(
m_orderObject
,
1
);
emit
showEntryResult
(
m_orderObject
,
1
);
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
(
"[重新补录销售单成功]."
));
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
::
fromLocal8Bit
(
"[重新补录销售单成功]."
));
}
}
}
}
floatForm.cpp
View file @
59a0e60e
...
@@ -14,9 +14,7 @@ FloatForm::FloatForm(QWidget *parent) :
...
@@ -14,9 +14,7 @@ FloatForm::FloatForm(QWidget *parent) :
ui
(
new
Ui
::
FloatForm
)
ui
(
new
Ui
::
FloatForm
)
{
{
ui
->
setupUi
(
this
);
ui
->
setupUi
(
this
);
m_bReminding
=
false
;
m_bReminding
=
false
;
QPixmap
imgNormal
(
":image/float_normal.png"
);
QPixmap
imgNormal
(
":image/float_normal.png"
);
m_imgNormalSize
=
imgNormal
.
size
();
m_imgNormalSize
=
imgNormal
.
size
();
QPixmap
imgRemind
(
":image/float_remind.png"
);
QPixmap
imgRemind
(
":image/float_remind.png"
);
...
...
fmp_takeout.pro
View file @
59a0e60e
...
@@ -39,7 +39,8 @@ SOURCES +=fmp_takeout.cpp \
...
@@ -39,7 +39,8 @@ SOURCES +=fmp_takeout.cpp \
Model
/
orderObject
.
cpp
\
Model
/
orderObject
.
cpp
\
Model
/
productObject
.
cpp
\
Model
/
productObject
.
cpp
\
Network
/
billSocket
.
cpp
\
Network
/
billSocket
.
cpp
\
DTools
/
fmPlugin
.
cpp
DTools
/
fmPlugin
.
cpp
\
Control
/
entryControl
.
cpp
HEADERS
+=
fmp_takeout_i
.
h
\
HEADERS
+=
fmp_takeout_i
.
h
\
...
@@ -80,7 +81,8 @@ HEADERS +=fmp_takeout_i.h \
...
@@ -80,7 +81,8 @@ HEADERS +=fmp_takeout_i.h \
QsLog
/
QsLogDestFunctor
.
h
\
QsLog
/
QsLogDestFunctor
.
h
\
QsLog
/
QsLogDisableForThisFile
.
h
\
QsLog
/
QsLogDisableForThisFile
.
h
\
QsLog
/
QsLogLevel
.
h
\
QsLog
/
QsLogLevel
.
h
\
DTools
/
fmPlugin
.
h
DTools
/
fmPlugin
.
h
\
Control
/
entryControl
.
h
...
...
fmp_takeout_p.cpp
View file @
59a0e60e
...
@@ -57,8 +57,12 @@ int FMPTakeoutPrivate::Uninit()
...
@@ -57,8 +57,12 @@ int FMPTakeoutPrivate::Uninit()
{
{
_settings
=
0
;
_settings
=
0
;
}
}
delete
inittask
;
if
(
inittask
)
inittask
=
0
;
{
inittask
->
terminateThread
();
inittask
->
deleteLater
();
inittask
=
NULL
;
}
q
->
_inited
=
false
;
q
->
_inited
=
false
;
return
FMP_SUCCESS
;
return
FMP_SUCCESS
;
}
}
...
...
fmpinittask.cpp
View file @
59a0e60e
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
#include <Control/flowControl.h>
#include <Control/flowControl.h>
#include <Control/sinfoControl.h>
#include <Control/sinfoControl.h>
#include <DTools/configManger.h>
#include <DTools/configManger.h>
#include "Control/entryControl.h"
using
namespace
QsLogging
;
using
namespace
QsLogging
;
FMPInitTask
::
FMPInitTask
(
QObject
*
parent
)
:
QObject
(
parent
)
FMPInitTask
::
FMPInitTask
(
QObject
*
parent
)
:
QObject
(
parent
)
...
@@ -49,7 +50,6 @@ void FMPInitTask::LoadTheme(const QString &theme)
...
@@ -49,7 +50,6 @@ void FMPInitTask::LoadTheme(const QString &theme)
return
;
return
;
}
}
mainForm
->
setStyleSheet
(
qssFile
.
readAll
());
mainForm
->
setStyleSheet
(
qssFile
.
readAll
());
//floatForm->setStyleSheet(qssFile.readAll());
qssFile
.
close
();
qssFile
.
close
();
}
}
...
@@ -61,29 +61,48 @@ void FMPInitTask::Init()
...
@@ -61,29 +61,48 @@ void FMPInitTask::Init()
QLOG_INFO
()
<<
QString
(
"-------- fmTakeaway[%1] Start --------"
).
arg
(
APP_VERSION
);
QLOG_INFO
()
<<
QString
(
"-------- fmTakeaway[%1] Start --------"
).
arg
(
APP_VERSION
);
// 将控制器移到工作线程
// 将控制器移到工作线程
FlowControl
::
GetInstance
().
moveToThread
(
&
workThread
);
//workThread.start();
QObject
::
connect
(
mainForm
,
&
MainForm
::
showFloatForm
,
floatForm
,
&
FloatForm
::
onShow
);
QObject
::
connect
(
mainForm
,
&
MainForm
::
startRemind
,
floatForm
,
&
FloatForm
::
onStartRemind
);
QObject
::
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
startRemind
,
floatForm
,
&
FloatForm
::
onStartRemind
);
QObject
::
connect
(
mainForm
,
&
MainForm
::
stopRemind
,
floatForm
,
&
FloatForm
::
onStopRemind
);
QObject
::
connect
(
floatForm
,
&
FloatForm
::
showMainForm
,
mainForm
,
&
MainForm
::
show
);
mainForm
->
MyShow
();
// 将门店信息获取控制器移到工作线程
// 将门店信息获取控制器移到工作线程
SInfoControl
::
GetInstance
().
SetListenPort
(
ConfigManger
::
GetInstance
().
GetTcpServerPort
());
//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
();
sInfoThread
.
start
();
SInfoControl
::
GetInstance
().
moveToThread
(
&
sInfoThread
);
connect
(
&
sInfoThread
,
&
QThread
::
started
,
&
SInfoControl
::
GetInstance
(),
&
SInfoControl
::
run
,
Qt
::
QueuedConnection
);
connect
(
this
,
&
FMPInitTask
::
stopThread
,
&
SInfoControl
::
GetInstance
(),
&
SInfoControl
::
stopSinfo
,
Qt
::
DirectConnection
);
connect
(
&
SInfoControl
::
GetInstance
(),
&
SInfoControl
::
getNewStoreInfo
,
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
onGetNewStoreInfo
,
Qt
::
QueuedConnection
);
FlowControl
::
GetInstance
().
moveToThread
(
&
workThread
);
EntryControl
::
GetInstance
().
moveToThread
(
&
entryThread
);
workThread
.
start
();
entryThread
.
start
();
connect
(
&
entryThread
,
&
QThread
::
started
,
&
EntryControl
::
GetInstance
(),
&
EntryControl
::
start
);
connect
(
mainForm
,
&
MainForm
::
showFloatForm
,
floatForm
,
&
FloatForm
::
onShow
);
connect
(
mainForm
,
&
MainForm
::
startRemind
,
floatForm
,
&
FloatForm
::
onStartRemind
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
startRemind
,
floatForm
,
&
FloatForm
::
onStartRemind
);
connect
(
this
,
&
FMPInitTask
::
stopThread
,
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
stopFlow
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
addEntryOrder
,
&
EntryControl
::
GetInstance
(),
&
EntryControl
::
onAddOrder
);
connect
(
this
,
&
FMPInitTask
::
stopThread
,
&
EntryControl
::
GetInstance
(),
&
EntryControl
::
stop
);
connect
(
mainForm
,
&
MainForm
::
stopRemind
,
floatForm
,
&
FloatForm
::
onStopRemind
);
connect
(
floatForm
,
&
FloatForm
::
showMainForm
,
mainForm
,
&
MainForm
::
show
);
mainForm
->
MyShow
();
}
}
FMPInitTask
::~
FMPInitTask
()
FMPInitTask
::~
FMPInitTask
()
{
{
workThread
.
quit
();
sInfoThread
.
quit
();
delete
mainForm
;
delete
mainForm
;
mainForm
=
0
;
mainForm
=
0
;
delete
floatForm
;
delete
floatForm
;
floatForm
=
0
;
floatForm
=
0
;
}
}
void
FMPInitTask
::
terminateThread
()
{
emit
stopThread
();
sInfoThread
.
wait
(
10000
);
sInfoThread
.
quit
();
//workThread.wait(10000);
workThread
.
quit
();
entryThread
.
quit
();
}
fmpinittask.h
View file @
59a0e60e
...
@@ -14,12 +14,13 @@ public:
...
@@ -14,12 +14,13 @@ public:
void
Init
();
void
Init
();
~
FMPInitTask
();
~
FMPInitTask
();
void
terminateThread
();
private
:
private
:
QString
g_appDir
;
QString
g_appDir
;
MainForm
*
mainForm
;
MainForm
*
mainForm
;
FloatForm
*
floatForm
;
FloatForm
*
floatForm
;
QThread
workThread
,
sInfoThread
;
QThread
workThread
,
sInfoThread
,
entryThread
;
void
LoadLogger
();
void
LoadLogger
();
...
@@ -27,7 +28,7 @@ private:
...
@@ -27,7 +28,7 @@ private:
signals
:
signals
:
void
stopThread
();
public
slots
:
public
slots
:
};
};
...
...
mainForm.cpp
View file @
59a0e60e
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
#include <QThread>
#include <QThread>
#include "DTools/configManger.h"
#include "DTools/configManger.h"
#include <DTools/orderstatus.h>
#include <DTools/orderstatus.h>
#include <Control/entryControl.h>
extern
QThread
workThread
;
extern
QThread
workThread
;
...
@@ -50,7 +51,9 @@ MainForm::MainForm(QWidget *parent) :
...
@@ -50,7 +51,9 @@ MainForm::MainForm(QWidget *parent) :
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
changeOrderStatus
,
this
,
&
MainForm
::
onChangeOrderStatus
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
changeOrderStatus
,
this
,
&
MainForm
::
onChangeOrderStatus
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
showDeliverPickForm
,
this
,
&
MainForm
::
onShowDeliverPickForm
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
showDeliverPickForm
,
this
,
&
MainForm
::
onShowDeliverPickForm
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
showOrderDetails
,
this
,
&
MainForm
::
onShowOrderDetails
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
showOrderDetails
,
this
,
&
MainForm
::
onShowOrderDetails
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
showEntryResult
,
this
,
&
MainForm
::
onEntryResult
);
connect
(
&
EntryControl
::
GetInstance
(),
&
EntryControl
::
showEntryResult
,
this
,
&
MainForm
::
onEntryResult
);
connect
(
&
EntryControl
::
GetInstance
(),
&
EntryControl
::
showAlert
,
this
,
&
MainForm
::
onShowAlert
);
// 搜索订单的信号槽
// 搜索订单的信号槽
connect
(
ui
->
mainEdtSearch
,
&
ClickedLineEdit
::
textChanged
,
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
onSerachOrder
);
connect
(
ui
->
mainEdtSearch
,
&
ClickedLineEdit
::
textChanged
,
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
onSerachOrder
);
...
@@ -103,7 +106,7 @@ void MainForm::_Init()
...
@@ -103,7 +106,7 @@ void MainForm::_Init()
this
->
showFullScreen
();
this
->
showFullScreen
();
// 初始化文字
// 初始化文字
ui
->
mainLabStoreid
->
setText
(
UI_STOREID
);
ui
->
mainLabStoreid
->
setText
(
QString
::
fromLocal8Bit
(
UI_STOREID
)
);
ui
->
mainLabVersion
->
setText
(
APP_VERSION
);
ui
->
mainLabVersion
->
setText
(
APP_VERSION
);
// 初始化表
// 初始化表
...
@@ -147,7 +150,7 @@ void MainForm::onSetCurrentTime()
...
@@ -147,7 +150,7 @@ void MainForm::onSetCurrentTime()
m_raiseIndex
=
0
;
m_raiseIndex
=
0
;
raise
();
raise
();
}
}
ui
->
mainSlabTime
->
setText
(
QDateTime
::
currentDateTime
().
toString
(
"yyyy年MM月dd日 hh:mm:ss"
));
ui
->
mainSlabTime
->
setText
(
QDateTime
::
currentDateTime
().
toString
(
QString
::
fromLocal8Bit
(
"yyyy年MM月dd日 hh:mm:ss"
)
));
}
}
void
MainForm
::
onMainTabBtnClicked
()
void
MainForm
::
onMainTabBtnClicked
()
...
@@ -232,12 +235,12 @@ void MainForm::onEntryResult(OrderObject *orderObject, int type)
...
@@ -232,12 +235,12 @@ void MainForm::onEntryResult(OrderObject *orderObject, int type)
}
}
if
(
type
==
1
)
if
(
type
==
1
)
{
{
table
->
item
(
i
,
0
)
->
setTextColor
(
QColor
(
0
,
0
,
0
));
table
->
item
(
i
,
0
)
->
setTextColor
(
QColor
(
98
,
98
,
98
));
table
->
item
(
i
,
1
)
->
setTextColor
(
QColor
(
0
,
0
,
0
));
table
->
item
(
i
,
1
)
->
setTextColor
(
QColor
(
98
,
98
,
98
));
table
->
item
(
i
,
2
)
->
setTextColor
(
QColor
(
0
,
0
,
0
));
table
->
item
(
i
,
2
)
->
setTextColor
(
QColor
(
98
,
98
,
98
));
table
->
item
(
i
,
3
)
->
setTextColor
(
QColor
(
0
,
0
,
0
));
table
->
item
(
i
,
3
)
->
setTextColor
(
QColor
(
98
,
98
,
98
));
table
->
item
(
i
,
4
)
->
setTextColor
(
QColor
(
0
,
0
,
0
));
table
->
item
(
i
,
4
)
->
setTextColor
(
QColor
(
98
,
98
,
98
));
table
->
item
(
i
,
5
)
->
setTextColor
(
QColor
(
0
,
0
,
0
));
table
->
item
(
i
,
5
)
->
setTextColor
(
QColor
(
98
,
98
,
98
));
break
;
break
;
}
}
}
}
...
...
preDefine.h
View file @
59a0e60e
...
@@ -6,7 +6,8 @@
...
@@ -6,7 +6,8 @@
#define APP_THEME "deaufult"
#define APP_THEME "deaufult"
#define APP_VERSION "1.20170628.01" //TODO
#define APP_VERSION "1.20170628.01" //TODO
#define SERVER_PASSWORD "posoperator@freemud.cn"
//#define SERVER_PASSWORD "posoperator@freemud.cn"
#define SERVER_PASSWORD "pos@freemud.cn"
#define UI_CASHIER "<font color='#ff0000'>未选择</font>"
#define UI_CASHIER "<font color='#ff0000'>未选择</font>"
#define UI_STOREID "<font color='#ff0000'>未登录</font>"
#define UI_STOREID "<font color='#ff0000'>未登录</font>"
...
...
version.h
View file @
59a0e60e
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
#define VER_MINOR 1
#define VER_MINOR 1
#define VER_REVISION 0
#define VER_REVISION 0
#define VER_BUILD
2
#define VER_BUILD
3
//! Convert version numbers to string
//! Convert version numbers to string
#define _STR(S) #S
#define _STR(S) #S
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment