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
24732623
Commit
24732623
authored
Feb 27, 2017
by
ss.dai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交
parent
992c53b2
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
121 additions
and
56 deletions
+121
-56
fmPlugin/fmPlugin.cpp
+83
-33
fmPlugin/fmPlugin.h
+5
-0
fmPlugin/fmPlugin.pro
+1
-1
fmTakeaway/Control/flowControl.cpp
+13
-6
fmTakeaway/detailForm.ui
+1
-1
run/config.ini
+5
-2
run/skin/deaufult.qss
+11
-11
run/skin/deaufult.rcc
+0
-0
takeaway.pro.user
+2
-2
No files found.
fmPlugin/fmPlugin.cpp
View file @
24732623
...
...
@@ -5,6 +5,15 @@
#include <QDebug>
#include <QSettings>
#include <QCoreApplication>
#include <QFile>
#include <QUrl>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QTimer>
#include <QJsonDocument>
#include <QDir>
#include <QJsonArray>
#include "DTools/configManger.h"
FmPlugin
&
FmPlugin
::
GetInstance
()
{
...
...
@@ -47,6 +56,7 @@ bool FmPlugin::GetStoreInfo(QString &storeId, QString &posId, QString &cashierId
qDebug
()
<<
inipath
;
QSettings
set
(
inipath
,
QSettings
::
IniFormat
);
storeId
=
set
.
value
(
"info/storeId"
).
toString
();
m_storeId
=
storeId
;
posId
=
set
.
value
(
"info/posId"
).
toString
();
cashierId
=
QString
(
"001"
);
qDebug
()
<<
storeId
<<
posId
;
...
...
@@ -135,49 +145,60 @@ bool FmPlugin::GetOnDutyCashiers(QList<CashierObject> &cashiersList, QString &er
bool
FmPlugin
::
DoOrderEntry
(
const
OrderObject
*
orderObject
,
const
QString
&
cashierId
,
const
QString
&
cashierName
,
const
QString
&
shiftId
,
const
QString
&
shiftName
,
QString
&
error
)
{
// TODO(用于鲜丰演示)
return
true
;
QString
apppath
=
QCoreApplication
::
applicationDirPath
();
// 检查这单之前是否写过
QString
remark_file_path
=
QString
(
"%1/orders/%2/%3_%4"
).
arg
(
apppath
,
QDateTime
::
fromTime_t
(
orderObject
->
create_time
).
toString
(
"yyyy-MM-dd"
),
orderObject
->
channel
,
orderObject
->
order_id
);
QFile
file
(
remark_file_path
);
if
(
file
.
exists
())
{
error
=
"aready writed to haiding"
;
return
true
;
}
m_orderObject
=
orderObject
;
if
(
!
m_db
.
open
())
QString
inipath
=
apppath
+
QString
(
"/config.ini"
);
QSettings
set
(
inipath
,
QSettings
::
IniFormat
);
QUrl
url
;
url
=
set
.
value
(
"HdServer/url"
).
toUrl
();
qDebug
()
<<
"url"
<<
url
;
QNetworkAccessManager
manger
;
QNetworkRequest
qRequset
;
qRequset
.
setUrl
(
url
);
qRequset
.
setRawHeader
(
"Content-Type"
,
"application/json;charset=utf-8"
);
qRequset
.
setRawHeader
(
"Accept"
,
"application/json;charset=utf-8"
);
QNetworkReply
*
reply
=
manger
.
post
(
qRequset
,
_GetOrderEntryData
(
orderObject
));
QEventLoop
eventLoop
;
QObject
::
connect
(
&
manger
,
SIGNAL
(
networkAccessibleChanged
(
QNetworkAccessManager
::
NetworkAccessibility
)),
&
eventLoop
,
SLOT
(
quit
()));
QObject
::
connect
(
reply
,
SIGNAL
(
finished
()),
&
eventLoop
,
SLOT
(
quit
()));
QObject
::
connect
(
reply
,
SIGNAL
(
error
(
QNetworkReply
::
NetworkError
)),
&
eventLoop
,
SLOT
(
quit
()));
// 加用定时器防止网络出现异常长时间不返回导致的阻塞
QTimer
::
singleShot
(
10000
,
&
eventLoop
,
&
QEventLoop
::
quit
);
eventLoop
.
exec
();
reply
->
deleteLater
();
if
(
reply
->
error
()
!=
QNetworkReply
::
NoError
)
{
error
=
m_db
.
lastError
().
text
();
error
=
reply
->
errorString
();
return
false
;
}
// 先插入顾客信息不管成功与否不影响后续操作
int
custid
=
-
1
;
_InsertInto_p_t_fmwm_custinfo
(
custid
);
// 开启事务
if
(
!
m_db
.
transaction
())
QByteArray
recvArray
=
reply
->
readAll
();
error
=
QString
(
recvArray
);
if
(
recvArray
.
size
()
==
0
)
{
error
=
m_db
.
lastError
().
text
();
m_db
.
close
();
error
=
"nothing recved"
;
return
false
;
}
// 插入三张临时表后执行存储过程有一个失败则回滚
if
(
_InsertInto_d_t_food_fmbill0
(
cashierId
,
cashierName
,
shiftId
,
shiftName
,
custid
))
QJsonObject
recvJson
;
recvJson
=
QJsonDocument
::
fromJson
(
recvArray
).
object
();
qDebug
()
<<
recvJson
;
if
(
recvJson
[
"echoCode"
].
toString
()
!=
"0"
)
{
if
(
_InsertInto_d_t_food_fmbills0
())
{
if
(
_InsertInto_d_t_bill_fmpay0
())
{
if
(
_Exec_pr_fmwm
())
{
// 都成功则提交
m_db
.
commit
();
error
=
QString
(
"success"
);
m_db
.
close
();
return
true
;
}
}
}
error
=
recvJson
[
"echoMessage"
].
toString
();
return
false
;
}
// 回滚
error
=
m_lastError
;
m_db
.
rollback
();
m_db
.
close
();
return
false
;
QDir
().
mkpath
(
remark_file_path
.
mid
(
0
,
remark_file_path
.
lastIndexOf
(
"/"
)));
file
.
open
(
QFile
::
WriteOnly
);
file
.
close
();
return
true
;
}
bool
FmPlugin
::
GetStockInfo
(
QList
<
StockObject
>
&
stockList
,
QString
&
error
)
...
...
@@ -364,3 +385,32 @@ QString FmPlugin::_Penny2Dollar(int penny)
double
dollar
=
(
double
)
penny
/
100
;
return
QString
::
number
(
dollar
,
'f'
,
2
);
}
QByteArray
FmPlugin
::
_GetOrderEntryData
(
const
OrderObject
*
orderObject
)
{
QJsonObject
rObj
;
rObj
.
insert
(
"uuid"
,
orderObject
->
order_id
);
rObj
.
insert
(
"senderCode"
,
m_storeId
);
rObj
.
insert
(
"sendWrh"
,
"-"
);
rObj
.
insert
(
"receiverCode"
,
"95560000001"
);
rObj
.
insert
(
"contactor"
,
orderObject
->
customer
);
rObj
.
insert
(
"phoneNumber"
,
orderObject
->
phone
);
rObj
.
insert
(
"deliverAddress"
,
orderObject
->
address
);
rObj
.
insert
(
"remark"
,
"非码外卖"
);
rObj
.
insert
(
"ocrDate"
,
QDateTime
::
fromTime_t
(
orderObject
->
create_time
).
toString
(
"yyyy-MM-ddThh:mm:ss.zzz+0800"
));
rObj
.
insert
(
"filler"
,
"*"
);
rObj
.
insert
(
"seller"
,
"*"
);
QJsonArray
products
;
for
(
int
i
=
0
;
i
<
orderObject
->
proList
.
count
();
i
++
)
{
QJsonObject
cObj
;
cObj
.
insert
(
"skuId"
,
"01001"
);
cObj
.
insert
(
"qty"
,
orderObject
->
proList
.
at
(
i
)
->
productAmount
);
cObj
.
insert
(
"price"
,
orderObject
->
proList
.
at
(
i
)
->
price
);
products
.
insert
(
i
,
cObj
);
}
rObj
.
insert
(
"products"
,
products
);
qDebug
()
<<
rObj
;
return
QJsonDocument
(
rObj
).
toJson
(
QJsonDocument
::
Compact
);
}
fmPlugin/fmPlugin.h
View file @
24732623
...
...
@@ -89,6 +89,11 @@ private:
* 返回:元
* */
QString
_Penny2Dollar
(
int
penny
);
/* 功能:获取写销售单的数据
* 参数:[1]订单对象
* 返回:销售单数据
* */
QByteArray
_GetOrderEntryData
(
const
OrderObject
*
);
};
#endif // FMPLUGIN_H
fmPlugin/fmPlugin.pro
View file @
24732623
...
...
@@ -6,7 +6,7 @@
QT
-=
gui
QT
+=
sql
QT
+=
sql
network
TARGET
=
fmPlugin
TEMPLATE
=
lib
...
...
fmTakeaway/Control/flowControl.cpp
View file @
24732623
...
...
@@ -190,9 +190,19 @@ bool FlowControl::_PullOrder()
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
m_timestamp
=
orderObject
->
timestamp
;
}
// if(orderObject->status != 1 && orderObject->status != 2)
// {
// QString error;
// if(FmPlugin::GetInstance().DoOrderEntry(orderObject,"","","","",error))
// {
// QLOG_INFO() << QString("_PullOrder DoOrderEntry successful") << error;
// }else
// {
// QLOG_INFO() << QString("_PullOrder DoOrderEntry failed %1").arg(error);
// }
// }
// m_timestamp = orderObject->timestamp;
}
syncTime
=
recvJson
[
JSON_SYNCTIME
].
toInt
()
*
1000
;
}
}
...
...
@@ -283,10 +293,7 @@ bool FlowControl::_ConfirmOrder(const QString &orderId, const DeliverObject &del
emit
showAlert
(
AlertForm
::
LOADING
,
"正在录入天天饮食......"
);
QLOG_INFO
()
<<
QString
(
"[---order entry begin---]"
);
// 写入销售单
// TODO(用于鲜丰演示)
// QString orderEntryError("[此单录入天天饮食成功]");
QString
orderEntryError
(
""
);
if
(
!
FmPlugin
::
GetInstance
().
DoOrderEntry
(
orderObject
,
m_cashierObject
.
id
,
m_cashierObject
.
name
,
m_cashierObject
.
shiftId
,
m_cashierObject
.
shiftName
,
error
))
...
...
fmTakeaway/detailForm.ui
View file @
24732623
...
...
@@ -382,7 +382,7 @@
</size>
</property>
<property
name=
"frameShape"
>
<enum>
QFrame::
StyledPanel
</enum>
<enum>
QFrame::
NoFrame
</enum>
</property>
<property
name=
"frameShadow"
>
<enum>
QFrame::Raised
</enum>
...
...
run/config.ini
View file @
24732623
...
...
@@ -2,4 +2,7 @@
url
=
http://waimaiapi.freemudorder.com/api
[RefundListener]
port
=
34953
\ No newline at end of file
port
=
34953
[HdServer]
url
=
http://122.224.171.126:8980/h4rest-server/rest/h5rest-server/core/wholesaleservice/wholesale
\ No newline at end of file
run/skin/deaufult.qss
View file @
24732623
...
...
@@ -70,13 +70,13 @@ QWidget
{
border-image: url(:logo_1.png);
}
#mainBtnNew,#mainBtnMake,#mainBtnSend,#mainBtnFinsh,#mainBtnRefund,#mainBtnOther
#mainBtnNew,#mainBtnMake,#mainBtnSend,#mainBtnFinsh,#mainBtnRefund,#mainBtnOther
,#mainBtnOur
{
font: bold 11pt "微软雅黑";
color: rgb(98, 98, 98);
border-image: url(:tabBtn_normal.png);
}
#mainBtnNew:checked,#mainBtnMake:checked,#mainBtnSend:checked,#mainBtnFinsh:checked,#mainBtnRefund:checked,#mainBtnOther:checked
#mainBtnNew:checked,#mainBtnMake:checked,#mainBtnSend:checked,#mainBtnFinsh:checked,#mainBtnRefund:checked,#mainBtnO
ur:checked,#mainBtnO
ther:checked
{
color: rgb(255, 255, 255);
border-image: url(:tabBtn_checked.png);
...
...
@@ -171,7 +171,7 @@ QWidget
{
color: rgb(172, 219, 169);
}
#mainTableNew,#mainTableMake,#mainTableSend,#mainTableFinsh,#mainTableRefund,#mainTableOther
#mainTableNew,#mainTableMake,#mainTableSend,#mainTableFinsh,#mainTableRefund,#mainTableOther
,#mainTableOur
{
font: 11pt "微软雅黑";
color: rgb(98, 98, 98);
...
...
@@ -179,7 +179,7 @@ QWidget
}
#mainTableNew QHeaderView::section,#mainTableMake QHeaderView::section,
#mainTableSend QHeaderView::section,#mainTableFinsh QHeaderView::section,
#mainTableRefund QHeaderView::section,#mainTableOther QHeaderView::section
#mainTableRefund QHeaderView::section,#mainTableOther QHeaderView::section
,#mainTableOur QHeaderView::section
{
border: 0px;
background: rgb(255, 255, 255);
...
...
@@ -188,26 +188,26 @@ QWidget
}
#mainTableNew QHeaderView::down-arrow,#mainTableMake QHeaderView::down-arrow,
#mainTableSend QHeaderView::down-arrow,#mainTableFinsh QHeaderView::down-arrow,
#mainTableRefund QHeaderView::down-arrow,#mainTableOther QHeaderView::down-arrow
#mainTableRefund QHeaderView::down-arrow,#mainTableOther QHeaderView::down-arrow
,#mainTableOur QHeaderView::down-arrow
{
border: 0px;
}
#mainTableNew QHeaderView::up-arrow,#mainTableMake QHeaderView::up-arrow,
#mainTableSend QHeaderView::up-arrow,#mainTableFinsh QHeaderView::up-arrow,
#mainTableRefund QHeaderView::up-arrow,#mainTableOther QHeaderView::up-arrow
#mainTableRefund QHeaderView::up-arrow,#mainTableOther QHeaderView::up-arrow
,#mainTableOur QHeaderView::up-arrow
{
border: 0px;
}
#mainTableNew QScrollBar:vertical,#mainTableMake QScrollBar:vertical,
#mainTableSend QScrollBar:vertical,#mainTableFinsh QScrollBar:vertical,
#mainTableRefund QScrollBar:vertical,#mainTableOther QScrollBar:vertical
#mainTableRefund QScrollBar:vertical,#mainTableOther QScrollBar:vertical
,#mainTableOur QScrollBar:vertical
{
background: transparent;
width: 8px;
}
#mainTableNew QScrollBar::handle:vertical,#mainTableMake QScrollBar::handle:vertical,
#mainTableSend QScrollBar::handle:vertical,#mainTableFinsh QScrollBar::handle:vertical,
#mainTableRefund QScrollBar::handle:vertical,#mainTableOther QScrollBar::handle:vertical
#mainTableRefund QScrollBar::handle:vertical,#mainTableOther QScrollBar::handle:vertical
,#mainTableOur QScrollBar::handle:vertical
{
border-radius: 6px;
background: rgb(64, 119, 61);
...
...
@@ -215,13 +215,13 @@ QWidget
}
#mainTableNew QScrollBar::add-line:vertical,#mainTableMake QScrollBar::add-line:vertical,
#mainTableSend QScrollBar::add-line:vertical,#mainTableFinsh QScrollBar::add-line:vertical,
#mainTableRefund QScrollBar::add-line:vertical,#mainTableOther QScrollBar::add-line:vertical
#mainTableRefund QScrollBar::add-line:vertical,#mainTableOther QScrollBar::add-line:vertical
,#mainTableOur QScrollBar::add-line:vertical
{
height: 0px;
}
#mainTableNew QScrollBar::sub-line:vertical,#mainTableMake QScrollBar::sub-line:vertical,
#mainTableSend QScrollBar::sub-line:vertical,#mainTableFinsh QScrollBar::sub-line:vertical,
#mainTableRefund QScrollBar::sub-line:vertical,#mainTableOther QScrollBar::sub-line:vertical
#mainTableRefund QScrollBar::sub-line:vertical,#mainTableOther QScrollBar::sub-line:vertical
,#mainTableOur QScrollBar::sub-line:vertical
{
height: 0px;
}
...
...
@@ -405,7 +405,7 @@ QWidget
#detailFrm3,#detailFrm4
{
margin-left: 1px;
margin-bottom: -
1
px;
margin-bottom: -
3
px;
border-image: url(:detailFrm_bg1.png);
}
#detailSlab9,#detailSlab10
...
...
run/skin/deaufult.rcc
View file @
24732623
No preview for this file type
takeaway.pro.user
View file @
24732623
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.0.0, 2017-02-
16T14:09:22
. -->
<!-- Written by QtCreator 4.0.0, 2017-02-
23T18:02:33
. -->
<qtcreator>
<data>
<variable>
EnvironmentId
</variable>
...
...
@@ -238,7 +238,7 @@
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.ProFile"
>
fmTakeaway/fmTakeaway.pro
</value>
<value
type=
"bool"
key=
"Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix"
>
false
</value>
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"
></value>
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default"
></value>
<value
type=
"QString"
key=
"Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default"
>
C:/Users/Alan/Work/build/takeaway-Release/fmTakeaway
</value>
<value
type=
"uint"
key=
"RunConfiguration.QmlDebugServerPort"
>
3768
</value>
<value
type=
"bool"
key=
"RunConfiguration.UseCppDebugger"
>
false
</value>
<value
type=
"bool"
key=
"RunConfiguration.UseCppDebuggerAuto"
>
true
</value>
...
...
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