Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FmTakeaway
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
shangshang.dai
FmTakeaway
Commits
1b338b66
Commit
1b338b66
authored
Apr 24, 2017
by
ss.dai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1:自动入账改为完成后两小时 2:新增京东服务费计算(商品额-商家优惠)*0.08 3:入账只录当天的订单 4:修改小票配送方式的显示(骑士转送->自定义数据)
parent
ce44cc42
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
51 additions
and
67 deletions
+51
-67
fmPlugin/fmPlugin.cpp
+12
-42
fmPlugin/fmPlugin.h
+1
-1
fmPrinter/fmPrinter.cpp
+2
-2
fmTakeaway/Control/flowControl.cpp
+32
-21
fmTakeaway/Control/flowControl.h
+2
-0
fmTakeaway/fmTakeaway.pro
+1
-0
takeaway.pro.user
+1
-1
No files found.
fmPlugin/fmPlugin.cpp
View file @
1b338b66
...
...
@@ -50,7 +50,6 @@ bool FmPlugin::ConnectDb(const QString &host, const QString &username, const QSt
bool
FmPlugin
::
GetStoreInfo
(
QString
&
storeId
,
QString
&
posId
,
QString
&
cashierId
,
QDateTime
&
dateTime
,
QString
&
error
)
{
// TODO(用于鲜丰演示)
QString
apppath
=
QCoreApplication
::
applicationDirPath
();
QString
inipath
=
apppath
+
QString
(
"/tmp.ini"
);
qDebug
()
<<
inipath
;
...
...
@@ -62,50 +61,10 @@ bool FmPlugin::GetStoreInfo(QString &storeId, QString &posId, QString &cashierId
qDebug
()
<<
storeId
<<
posId
;
return
true
;
/*if(!m_db.open())
{
error = m_db.lastError().text();
return false;
}
QSqlQuery query = QSqlQuery(m_db);
// 获取门店号
QString queryStoreId("select sys_var_value from sys_t_system where sys_var_id='g_branch_no';");
query.prepare(queryStoreId);
if (!query.exec())
{
error = query.lastError().text();
m_db.close();
return false;
}
query.next();
storeId = query.value(0).toString();
m_storeId = storeId;
// 获取营业日
QString queryDateTime("select sys_var_value from sys_t_system where sys_var_id='dBusiness';");
query.prepare(queryDateTime);
if (!query.exec())
{
error = query.lastError().text();
m_db.close();
return false;
}
query.next();
dateTime = query.value(0).toDateTime();
posId="1";
cashierId="1";
error = QString("success");
m_db.close();
return true;
*/
}
bool
FmPlugin
::
GetOnDutyCashiers
(
QList
<
CashierObject
>
&
cashiersList
,
QString
&
error
)
{
// TODO(用于鲜丰演示)
CashierObject
obj
;
obj
.
id
=
"001"
;
obj
.
name
=
"鲜丰测试"
;
...
...
@@ -390,13 +349,24 @@ QByteArray FmPlugin::_GetOrderEntryData(const OrderObject *orderObject)
QJsonObject
rObj
;
rObj
.
insert
(
"uuid"
,
orderObject
->
order_view_id
.
isEmpty
()
?
orderObject
->
order_id
:
orderObject
->
order_view_id
);
// 京东的服务费由客户端来算出
// 计算规则 (订单商品金额的总和-商家承担优惠)*0.08
QString
serviceFee
;
if
(
orderObject
->
channel
==
"jdwm"
)
{
serviceFee
=
_Penny2Dollar
((
orderObject
->
product_fee
-
orderObject
->
dis_shop_fee
)
*
0.08
);
}
else
{
serviceFee
=
_Penny2Dollar
(
orderObject
->
service_fee
);
}
rObj
.
insert
(
"senderCode"
,
m_storeId
);
rObj
.
insert
(
"senderWrh"
,
"-"
);
rObj
.
insert
(
"receiverCode"
,
m_recCodeMap
.
value
(
orderObject
->
channel
));
rObj
.
insert
(
"contactor"
,
orderObject
->
customer
);
rObj
.
insert
(
"phoneNumber"
,
orderObject
->
phone
);
rObj
.
insert
(
"deliverAddress"
,
orderObject
->
address
);
rObj
.
insert
(
"remark"
,
_Penny2Dollar
(
orderObject
->
service_fee
)
);
rObj
.
insert
(
"remark"
,
serviceFee
);
rObj
.
insert
(
"ocrDate"
,
QDateTime
::
fromTime_t
(
orderObject
->
create_time
).
toString
(
"yyyy-MM-ddThh:mm:ss.zzz+0800"
));
rObj
.
insert
(
"filler"
,
"*"
);
rObj
.
insert
(
"seller"
,
"*"
);
...
...
fmPlugin/fmPlugin.h
View file @
1b338b66
...
...
@@ -12,7 +12,7 @@ class PluginWorker;
class
FMPLUGINSHARED_EXPORT
FmPlugin
{
public
:
public
slots
:
static
FmPlugin
&
GetInstance
();
/* 功能:连接数据库
...
...
fmPrinter/fmPrinter.cpp
View file @
1b338b66
...
...
@@ -141,14 +141,14 @@ QString FmPrinter::_GetPrintData(OrderObject *pData)
QString
print
;
if
(
!
pData
->
channelName
.
compare
(
"饿了么"
))
{
print
=
str_print
.
append
(
QString
(
"(鲜丰水果)"
)
+
storename
).
append
(
"|"
).
append
(
"#"
+
QString
::
number
(
pData
->
order_index
)
+
" 饿了么"
).
append
(
"|"
).
append
(
pData
->
order_view_id
.
isEmpty
()
?
pData
->
order_id
:
pData
->
order_view_id
).
append
(
"|"
).
append
(
QDateTime
::
fromTime_t
(
pData
->
create_time
).
toString
(
"yy-MM-dd hh:mm"
))
print
=
str_print
.
append
(
QString
(
"(鲜丰水果)"
)
+
storename
).
append
(
"|"
).
append
(
"#"
+
QString
::
number
(
pData
->
order_index
)
+
" 饿了么"
).
append
(
"|"
).
append
(
pData
->
delivery_party
).
append
(
"|"
).
append
(
pData
->
order_view_id
.
isEmpty
()
?
pData
->
order_id
:
pData
->
order_view_id
).
append
(
"|"
).
append
(
QDateTime
::
fromTime_t
(
pData
->
create_time
).
toString
(
"yy-MM-dd hh:mm"
))
.
append
(
"|"
).
append
(
QString
(
"备注:"
)
+
pData
->
remark
).
append
(
"|"
).
append
(
invoice
).
append
(
"|"
).
append
(
pData
->
invoice_title
).
append
(
"|"
).
append
(
str_comd_list
).
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
total_fee
-
pData
->
send_fee
)).
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
discount_fee
))
.
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
send_fee
)).
append
(
"|"
).
append
(
QString
::
number
(
pData
->
total_amount
)).
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
total_fee
-
pData
->
discount_fee
)).
append
(
"|"
).
append
(
pData
->
customer
).
append
(
"|"
).
append
(
pData
->
address
).
append
(
"|"
).
append
(
pData
->
phone
);
}
else
{
print
=
str_print
.
append
(
QString
(
"(鲜丰水果)"
)
+
storename
).
append
(
"|"
).
append
(
"#"
+
QString
::
number
(
pData
->
order_index
)).
append
(
pData
->
channelName
).
append
(
"|"
).
append
(
pData
->
order_view_id
.
isEmpty
()
?
pData
->
order_id
:
pData
->
order_view_id
).
append
(
"|"
).
append
(
QDateTime
::
fromTime_t
(
pData
->
create_time
).
toString
(
"yy-MM-dd hh:mm"
))
print
=
str_print
.
append
(
QString
(
"(鲜丰水果)"
)
+
storename
).
append
(
"|"
).
append
(
"#"
+
QString
::
number
(
pData
->
order_index
)).
append
(
pData
->
channelName
).
append
(
"|"
).
append
(
pData
->
delivery_party
).
append
(
"|"
).
append
(
pData
->
order_view_id
.
isEmpty
()
?
pData
->
order_id
:
pData
->
order_view_id
).
append
(
"|"
).
append
(
QDateTime
::
fromTime_t
(
pData
->
create_time
).
toString
(
"yy-MM-dd hh:mm"
))
.
append
(
"|"
).
append
(
QString
(
"备注:"
)
+
pData
->
remark
).
append
(
"|"
).
append
(
invoice
).
append
(
"|"
).
append
(
pData
->
invoice_title
).
append
(
"|"
).
append
(
str_comd_list
).
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
total_fee
-
pData
->
send_fee
)).
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
discount_fee
))
.
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
send_fee
)).
append
(
"|"
).
append
(
QString
::
number
(
pData
->
total_amount
)).
append
(
"|"
).
append
(
_Penny2Dollar
(
pData
->
total_fee
-
pData
->
discount_fee
)).
append
(
"|"
).
append
(
pData
->
customer
).
append
(
"|"
).
append
(
pData
->
address
).
append
(
"|"
).
append
(
pData
->
phone
);
...
...
fmTakeaway/Control/flowControl.cpp
View file @
1b338b66
...
...
@@ -24,6 +24,7 @@ FlowControl::FlowControl()
m_loginSocket
=
NULL
;
m_pullOrderSocket
=
NULL
;
m_procOrderSocket
=
NULL
;
netErrorIndex
=
0
;
}
bool
FlowControl
::
_GetStoreInfo
()
...
...
@@ -111,14 +112,19 @@ bool FlowControl::_PullOrder()
.
arg
(
result
).
arg
(
error
);
if
(
!
result
)
{
netErrorIndex
++
;
emit
setNetStatus
(
"<font color='#ff0000'>异常</font>"
);
if
(
net
error
)
//如果之前网络正常,则开始语音提示网络错误
if
(
net
ErrorIndex
>
50
)
{
emit
startNetErrorRemind
();
if
(
neterror
)
//如果之前网络正常,则开始语音提示网络错误
{
emit
startNetErrorRemind
();
}
neterror
=
false
;
}
neterror
=
false
;
}
else
{
netErrorIndex
=
0
;
emit
setNetStatus
(
"正常"
);
if
(
!
neterror
)
//如果之前网络异常,现在正常,则停止语音提示
{
...
...
@@ -198,7 +204,6 @@ bool FlowControl::_PullOrder()
}
else
{
//旧数据有更新
//int oldDeliveryStatus = orderObject->delivery_status;
int
oldStatus
=
orderObject
->
status
;
orderObject
->
FromJson
(
jsonObject
);
QLOG_INFO
()
<<
QString
(
"
\r\n\r\n
old order[%1:%2].[data:%3]"
)
...
...
@@ -215,11 +220,11 @@ bool FlowControl::_PullOrder()
}
}
if
(
orderObject
->
status
==
4
||
orderObject
->
status
==
5
||
orderObject
->
status
==
6
||
orderObject
->
status
==
200
)
// 订单完成后两小时写销售单
if
(
orderObject
->
status
==
6
||
orderObject
->
status
==
200
)
{
bool
bWrite
=
true
;
// 检查转换信息是否正常、不正常则不写销售单(防止数据出问题影响门店正常数据)
foreach
(
ProductObject
*
pro
,
orderObject
->
proList
)
{
if
(
pro
->
sub_products
.
isEmpty
())
...
...
@@ -242,25 +247,31 @@ bool FlowControl::_PullOrder()
}
}
if
(
!
orderObject
->
channel
.
compare
(
"jdwm"
))
QDateTime
ctime
(
QDateTime
::
currentDateTime
());
ctime
.
setTime
(
QTime
(
0
,
0
));
if
(
QDateTime
::
fromTime_t
(
orderObject
->
create_time
)
<
ctime
)
{
if
(
orderObject
->
service_fee
<=
0
)
{
bWrite
=
false
;
}
bWrite
=
false
;
}
QString
error
;
if
(
bWrite
)
{
if
(
FmPlugin
::
GetInstance
().
DoOrderEntry
(
orderObject
,
""
,
""
,
""
,
""
,
error
))
{
QLOG_INFO
()
<<
QString
(
"_PullOrder DoOrderEntry successful"
)
<<
error
;
}
else
{
QLOG_INFO
()
<<
QString
(
"_PullOrder DoOrderEntry failed %1"
).
arg
(
error
);
}
QLOG_INFO
()
<<
QString
(
"will entry %1"
).
arg
(
orderObject
->
order_id
);
QTimer
::
singleShot
(
1000
*
60
*
120
,
[
orderObject
](){
QString
error
;
if
(
FmPlugin
::
GetInstance
().
DoOrderEntry
(
orderObject
,
""
,
""
,
""
,
""
,
error
))
{
QLOG_INFO
()
<<
QString
(
"_PullOrder DoOrderEntry successful %1"
).
arg
(
orderObject
->
order_id
);
}
else
{
QLOG_INFO
()
<<
QString
(
"_PullOrder DoOrderEntry failed %1 %2"
).
arg
(
orderObject
->
order_id
,
error
);
}
});
}
else
{
QLOG_INFO
()
<<
QString
(
"销售单数据有误 %1"
).
arg
(
orderObject
->
order_id
);
}
}
m_timestamp
=
orderObject
->
timestamp
;
...
...
fmTakeaway/Control/flowControl.h
View file @
1b338b66
...
...
@@ -49,6 +49,8 @@ private:
// viewId _ orderId
QMap
<
QString
,
QString
>
m_view2Id
;
int
netErrorIndex
;
signals
:
/* 功能:连接数据库完成
* 参数:[1]是否成功[2]错误信息
...
...
fmTakeaway/fmTakeaway.pro
View file @
1b338b66
...
...
@@ -12,6 +12,7 @@ include("./QsLog/QsLog.pri")
TARGET
=
fmTakeaway
TEMPLATE
=
app
CONFIG
+=
c
++
11
INCLUDEPATH
+=
..
/
fmPlugin
INCLUDEPATH
+=
..
/
fmPrinter
...
...
takeaway.pro.user
View file @
1b338b66
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.0.0, 2017-04-
14T09:39:05
. -->
<!-- Written by QtCreator 4.0.0, 2017-04-
21T16:05:36
. -->
<qtcreator>
<data>
<variable>
EnvironmentId
</variable>
...
...
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