Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmtakeout
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
李定达
fmtakeout
Commits
4b517863
Commit
4b517863
authored
Sep 25, 2018
by
李定达
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.model层剔除上一次订单状态退单状态;2.新旧数据库兼容;3.调整界面逻辑订单和tabel页面绑定
parent
c6986cae
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
121 additions
and
216 deletions
+121
-216
takeout/base/Arithmetic/util.cpp
+2
-0
takeout/base/Print/printlib.cpp
+0
-2
takeout/control/orderprintwork.cpp
+1
-4
takeout/model/posorderpool.cpp
+21
-102
takeout/model/posorderpool.h
+12
-12
takeout/preDefine.h
+3
-1
takeout/view/detailForm.cpp
+14
-7
takeout/view/floatForm.cpp
+6
-5
takeout/view/mainForm.cpp
+52
-80
takeout/view/mainForm.h
+10
-3
No files found.
takeout/base/Arithmetic/util.cpp
View file @
4b517863
...
...
@@ -44,6 +44,7 @@ QString GetOperByStatus(int status, bool bRefuse)
return
"NULL"
;
break
;
case
20
:
case
22
:
if
(
bRefuse
)
{
return
QString
::
fromLocal8Bit
(
OPERATION_REFUSEREFUND
);
...
...
@@ -94,6 +95,7 @@ QString GetOperNameByStatus(int status, bool bRefuse)
return
"NULL"
;
break
;
case
20
:
case
22
:
if
(
bRefuse
)
{
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUSEREFUND
);
...
...
takeout/base/Print/printlib.cpp
View file @
4b517863
...
...
@@ -125,7 +125,6 @@ bool PrintLib::DoPrint(const QString &content, OrderObject *orderObject, QString
QByteArray
iniData
=
_GetPrintIni
().
toLocal8Bit
();
char
inichar
[
2048
]
=
{
0x0
};
strcpy
(
inichar
,
iniData
.
data
());
QLOG_INFO
()
<<
"4444444444444444444"
<<
m_b_load_sucfl
;
if
(
m_b_load_sucfl
)
{
if
(
!
f_LaodAddress
())
...
...
@@ -139,7 +138,6 @@ bool PrintLib::DoPrint(const QString &content, OrderObject *orderObject, QString
return
false
;
}
_order
=
orderObject
;
QLOG_INFO
()
<<
"55555555555555555555"
<<
_order
->
delivery_time
;
bool
result
;
PrintDocument
doc
=
PrintDocument
::
ParseToDocument
(
content
,
result
,
error
);
if
(
!
result
)
...
...
takeout/control/orderprintwork.cpp
View file @
4b517863
...
...
@@ -41,10 +41,7 @@ bool orderprintwork::event(QEvent *e)
OrderObject
order
;
PrintLib
print
;
int
last_status
;
PosOrderPool
::
GetOrderObject
(
map
[
EVENT_KEY_ORDERID
].
toString
(),
order
,
last_status
);
PosOrderPool
::
GetOrderObject
(
map
[
EVENT_KEY_ORDERID
].
toString
(),
order
);
QLOG_INFO
()
<<
"begin print ..."
;
...
...
takeout/model/posorderpool.cpp
View file @
4b517863
...
...
@@ -14,10 +14,13 @@
#include "QsLog.h"
#include "base/DB/fm_database.h"
//互斥读写
QMap
<
QString
,
Order_Info
>
PosOrderPool
::
s_order_pool
;
//写互斥锁
QMutex
PosOrderPool
::
s_mutex
;
//已有订单
QStringList
PosOrderPool
::
s_order_list
;
PosOrderPool
::
PosOrderPool
(
QObject
*
parent
)
:
QObject
(
parent
)
{
...
...
@@ -40,11 +43,6 @@ PosOrderPool::PosOrderPool(QObject *parent) : QObject(parent)
unsigned
int
nowtimer
=
QDateTime
::
currentDateTime
().
toTime_t
();
for
(
auto
it
=
s_order_pool
.
begin
();
it
!=
s_order_pool
.
end
();
)
{
// QLOG_INFO() << QThread::currentThreadId() << it.key();
// Order_Info info = it.value();
// QLOG_INFO() << QThread::currentThreadId() << info.order_id << info.order_change_time
// << info.order_last_status << info.order_refund_status <<
// info.order_status << info.order_write_status;
if
(
it
.
value
().
order_change_time
>
nowtimer
&&
(
it
.
value
().
order_status
==
CompleteRefundOrder
||
it
.
value
().
order_status
==
CompleteOrder
))
{
...
...
@@ -56,7 +54,7 @@ PosOrderPool::PosOrderPool(QObject *parent) : QObject(parent)
continue
;
}
if
(
it
.
value
().
order_change_time
<
nowtimer
&&
nowtimer
-
it
.
value
().
order_change_time
>
86400
)
if
(
it
.
value
().
order_change_time
<
nowtimer
&&
nowtimer
-
it
.
value
().
order_change_time
>
ORDER_SAVE_DATE
)
{
QVariantMap
map
;
map
.
insert
(
EVENT_KEY_ORDERID
,
it
.
key
());
...
...
@@ -72,7 +70,7 @@ PosOrderPool::PosOrderPool(QObject *parent) : QObject(parent)
s_mutex
.
unlock
();
}
_timer
.
stop
();
_timer
.
start
(
600000
);
_timer
.
start
(
DEFALUE_CHECK_TIME
);
});
_timer
.
start
(
10000
);
...
...
@@ -89,11 +87,6 @@ void PosOrderPool::loadOrders()
list
.
append
(
DB_KEY_ORDERWRITETIMR
);
list
.
append
(
DB_KEY_ORDERREFUNDSATUS
);
list
.
append
(
DB_KEY_ORDERPRINTFSTATUS
);
// list.append(DB_KEY_RESERVED1);
// list.append(DB_KEY_RESERVED2);
// list.append(DB_KEY_RESERVED3);
// list.append(DB_KEY_RESERVED4);
// list.append(DB_KEY_RESERVED5);
QSqlQuery
query
;
...
...
@@ -108,80 +101,15 @@ void PosOrderPool::loadOrders()
info
.
order_write_status
=
query
.
value
(
2
).
toInt
();
info
.
order_refund_status
=
query
.
value
(
3
).
toInt
();
info
.
order_print_status
=
query
.
value
(
4
).
toInt
();
info
.
order_last_status
=
DefaultOrder
;
info
.
order_status
=
DefaultOrder
;
info
.
order_refund
=
DefaultOrder
;
info
.
order_last_refund
=
DefaultOrder
;
// info.reserved1 = query.value(5).toInt();
// info.reserved2 = query.value(6).toInt();
// info.reserved3 = query.value(7).toInt();
// info.reserved4 = query.value(8).toInt();
// info.reserved5 = query.value(9).toInt();
s_mutex
.
lock
();
s_order_pool
.
insert
(
info
.
order_id
,
info
);
s_order_list
.
append
(
info
.
order_id
);
s_mutex
.
unlock
();
}
}
void
PosOrderPool
::
GetOrderStatusAndLastStatus
(
Order_Info
orderinfo
,
int
&
status
,
int
&
laststatus
)
{
if
(
orderinfo
.
order_last_refund
!=
orderinfo
.
order_refund
)
{
if
((
orderinfo
.
order_status
==
ServiceOrder
||
orderinfo
.
order_status
==
CompleteOrder
||
orderinfo
.
order_status
==
CancelOrder
)
&&
orderinfo
.
order_last_status
==
DefaultOrder
)
{
status
=
orderinfo
.
order_status
;
laststatus
=
orderinfo
.
order_last_status
;
return
;
}
if
((
orderinfo
.
order_refund
==
ApplicationRefundOrder
||
orderinfo
.
order_refund
==
ApplicationPartialRefundOrder
))
{
status
=
orderinfo
.
order_refund
;
laststatus
=
orderinfo
.
order_status
;
return
;
}
if
(
orderinfo
.
order_last_refund
==
ApplicationPartialRefundOrder
&&
orderinfo
.
order_refund
==
CompleteRefundOrder
)
{
status
=
orderinfo
.
order_status
;
laststatus
=
orderinfo
.
order_last_refund
;
return
;
}
if
(
orderinfo
.
order_last_refund
==
ApplicationRefundOrder
&&
orderinfo
.
order_refund
==
CompleteRefundOrder
)
{
status
=
orderinfo
.
order_refund
;
laststatus
=
orderinfo
.
order_last_refund
;
return
;
}
if
(
orderinfo
.
order_last_refund
==
ApplicationPartialRefundOrder
&&
orderinfo
.
order_refund
==
RefusingRefundOrder
)
{
status
=
orderinfo
.
order_status
;
laststatus
=
orderinfo
.
order_last_refund
;
return
;
}
if
(
orderinfo
.
order_last_refund
==
ApplicationRefundOrder
&&
orderinfo
.
order_refund
==
RefusingRefundOrder
)
{
status
=
orderinfo
.
order_status
;
laststatus
=
orderinfo
.
order_last_refund
;
return
;
}
}
status
=
orderinfo
.
order_status
;
laststatus
=
orderinfo
.
order_last_status
;
return
;
}
void
PosOrderPool
::
removeOrderInfo
(
QString
key
)
{
s_order_pool
.
remove
(
key
);
...
...
@@ -207,9 +135,6 @@ bool PosOrderPool::TryInsertOrder(OrderObject order)
INITORDERINFO
(
order
,
info
);
QLOG_DEBUG
()
<<
"%%%%%%%%%%%%%%%%%%%%%%%%%%%"
<<
info
.
order_id
<<
info
.
order_refund
<<
info
.
order_last_refund
;
QLOG_DEBUG
()
<<
"%%%%%%%%%%%%%%%%%%%%%%%%%%%"
<<
info
.
order_id
<<
info
.
order_status
<<
info
.
order_last_status
;
s_order_pool
.
insert
(
order
.
order_id
,
info
);
DEFAULTPOSTEVENT
(
PosEvent
::
s_change_order
,
order
.
order_id
);
...
...
@@ -232,14 +157,14 @@ bool PosOrderPool::TryInsertOrder(OrderObject order)
Order_Info
info
;
QLOG_DEBUG
()
<<
"$$$$$$$$$$$$$$$$$$$$$$$$$$$"
<<
info
.
order_id
<<
info
.
order_refund
<<
info
.
order_last_refund
;
QLOG_DEBUG
()
<<
"$$$$$$$$$$$$$$$$$$$$$$$$$$$"
<<
info
.
order_id
<<
info
.
order_status
<<
info
.
order_last_status
;
QLOG_DEBUG
()
<<
"$$$$$$$$$$$$$$$$$$$$$$$$$$$"
<<
info
.
order_id
<<
info
.
order_refund
;
QLOG_DEBUG
()
<<
"$$$$$$$$$$$$$$$$$$$$$$$$$$$"
<<
info
.
order_id
<<
info
.
order_status
;
UPDATEORDERINFO
(
oldinfo
,
order
,
info
);
QLOG_DEBUG
()
<<
"@@@@@@@@@@@@@@@@@@@@@@@@@@@"
<<
info
.
order_id
<<
info
.
order_refund
<<
info
.
order_last_refund
;
QLOG_DEBUG
()
<<
"@@@@@@@@@@@@@@@@@@@@@@@@@@@"
<<
info
.
order_id
<<
info
.
order_status
<<
info
.
order_last_status
;
QLOG_DEBUG
()
<<
"@@@@@@@@@@@@@@@@@@@@@@@@@@@"
<<
info
.
order_id
<<
info
.
order_refund
;
QLOG_DEBUG
()
<<
"@@@@@@@@@@@@@@@@@@@@@@@@@@@"
<<
info
.
order_id
<<
info
.
order_status
;
if
(
oldinfo
.
order_status
!=
order
.
status
||
oldinfo
.
order_refund
!=
order
.
refund_status
)
...
...
@@ -275,25 +200,22 @@ bool PosOrderPool::TryChangeOrderStatus(QString key, int order_status, int refun
Order_Info
info
=
s_order_pool
[
key
];
if
((
info
.
order_last_status
!=
info
.
order_status
&&
info
.
order_status
!=
order_status
)
||
(
refundstatus
!=
DefaultOrder
&&
info
.
order_last_refund
!=
info
.
order_refund
&&
info
.
order_refund
!=
refundstatus
))
if
(
info
.
order_status
!=
order_status
||
info
.
order_refund
!=
refundstatus
)
{
if
(
info
.
order_status
!=
order_status
)
{
info
.
order_last_status
=
info
.
order_status
;
info
.
order_status
=
(
Order_Status
)
order_status
;
info
.
order_data
.
status
=
order_status
;
}
if
(
info
.
order_refund
!=
refundstatus
)
{
info
.
order_last_refund
=
info
.
order_refund
;
info
.
order_refund
=
(
Order_Status
)
refundstatus
;
info
.
order_data
.
refund_status
=
refundstatus
;
}
QLOG_DEBUG
()
<<
"+++++++++++++++++++++++++++"
<<
info
.
order_refund
<<
info
.
order_last_refund
;
QLOG_DEBUG
()
<<
"+++++++++++++++++++++++++++"
<<
info
.
order_status
<<
info
.
order_last_status
;
QLOG_DEBUG
()
<<
"+++++++++++++++++++++++++++"
<<
info
.
order_refund
;
QLOG_DEBUG
()
<<
"+++++++++++++++++++++++++++"
<<
info
.
order_status
;
QLOG_DEBUG
()
<<
"+++++++++++++++++++++++++++"
<<
order_status
<<
refundstatus
;
...
...
@@ -360,7 +282,7 @@ bool PosOrderPool::TryChangeOrderRefundStatus(QString key, int order_refund_stat
return
false
;
}
bool
PosOrderPool
::
GetOrderObject
(
QString
key
,
OrderObject
&
order
,
int
&
last_status
)
bool
PosOrderPool
::
GetOrderObject
(
QString
key
,
OrderObject
&
order
)
{
QMutexLocker
loker
(
&
s_mutex
);
...
...
@@ -369,19 +291,12 @@ bool PosOrderPool::GetOrderObject(QString key, OrderObject &order, int &last_sta
Order_Info
info
=
s_order_pool
[
key
];
int
status
=
DefaultOrder
;
GetOrderStatusAndLastStatus
(
info
,
status
,
last_status
);
QLOG_DEBUG
()
<<
"####################"
<<
info
.
order_id
<<
"order status : "
<<
status
<<
"; last status : "
<<
last_status
;
order
=
info
.
order_data
;
order
.
status
=
status
;
return
true
;
}
bool
PosOrderPool
::
GetOrderStatus
(
QString
key
,
int
&
status
,
int
&
last_status
)
bool
PosOrderPool
::
GetOrderStatus
(
QString
key
,
int
&
status
,
int
&
refund_status
,
bool
&
oldorder
)
{
QMutexLocker
loker
(
&
s_mutex
);
...
...
@@ -390,9 +305,13 @@ bool PosOrderPool::GetOrderStatus(QString key, int &status, int &last_status)
Order_Info
info
=
s_order_pool
[
key
];
GetOrderStatusAndLastStatus
(
info
,
status
,
last_status
);
status
=
info
.
order_status
;
refund_status
=
info
.
order_refund_status
;
QLOG_DEBUG
()
<<
"###############order status : "
<<
status
<<
"; last status : "
<<
last_status
;
if
(
s_order_list
.
contains
(
info
.
order_id
,
Qt
::
CaseInsensitive
))
oldorder
=
true
;
else
oldorder
=
false
;
return
true
;
}
...
...
takeout/model/posorderpool.h
View file @
4b517863
...
...
@@ -17,21 +17,21 @@
if(oldorder.order_refund != neworder.refund_status) \
{ \
info.order_refund = (Order_Status)neworder.refund_status; \
info.order_last_refund = oldorder.order_refund;
\
/*info.order_last_refund = oldorder.order_refund;*/
\
} \
else \
{ \
info.order_refund = (Order_Status)oldorder.order_refund; \
info.order_last_refund = oldorder.order_last_refund;
\
/*info.order_last_refund = oldorder.order_last_refund;*/
\
} \
if(oldorder.order_status != neworder.status) \
{ \
info.order_last_status = oldorder.order_status;
\
/*info.order_last_status = oldorder.order_status;*/
\
info.order_status = (Order_Status)neworder.status; \
} \
else \
{ \
info.order_last_status = oldorder.order_last_status;
\
/*info.order_last_status = oldorder.order_last_status;*/
\
info.order_status = oldorder.order_status; \
} \
info.order_write_status = oldorder.order_write_status; \
...
...
@@ -44,8 +44,8 @@
info.order_id = neworder.order_id; \
info.order_data = neworder; \
info.order_refund = (Order_Status)neworder.refund_status; \
info.order_last_refund = DefaultOrder;
\
info.order_last_status = DefaultOrder;
\
/*info.order_last_refund = DefaultOrder;*/
\
/*info.order_last_status = DefaultOrder;*/
\
info.order_status = (Order_Status)neworder.status; \
info.order_write_status = 0; \
info.order_refund_status = 0; \
...
...
@@ -95,9 +95,9 @@ typedef struct
//订单状态
Order_Status
order_status
;
//订单上一次状态
Order_Status
order_last_status
;
//
Order_Status order_last_status;
//退单状态
Order_Status
order_last_refund
;
//
Order_Status order_last_refund;
//退单状态
Order_Status
order_refund
;
//本地写单状态
...
...
@@ -129,9 +129,9 @@ public:
static
QMap
<
QString
,
Order_Info
>
getS_order_pool
();
static
bool
GetOrderObject
(
QString
key
,
OrderObject
&
order
,
int
&
last_status
);
static
bool
GetOrderObject
(
QString
key
,
OrderObject
&
order
);
static
bool
GetOrderStatus
(
QString
key
,
int
&
status
,
int
&
last_status
);
static
bool
GetOrderStatus
(
QString
key
,
int
&
status
,
int
&
refund_status
,
bool
&
oldorder
);
static
bool
GetOrderBaseInfo
(
QString
key
,
QVariantHash
&
hash
);
...
...
@@ -152,8 +152,6 @@ private:
explicit
PosOrderPool
(
QObject
*
parent
=
0
);
static
void
GetOrderStatusAndLastStatus
(
Order_Info
orderinfo
,
int
&
status
,
int
&
laststatus
);
void
loadOrders
();
private
:
//互斥读写
...
...
@@ -162,6 +160,8 @@ private:
static
QMutex
s_mutex
;
//定时清理订单池
QTimer
_timer
;
//本地已有订单;
static
QStringList
s_order_list
;
};
#endif // POSORDERPOOL_H
takeout/preDefine.h
View file @
4b517863
...
...
@@ -217,7 +217,9 @@
#define REFUNDREPORT 1
#define ENTRYREPORT 0
//订单保存时间
#define ORDER_SAVE_DATE (24*60*60)
#define DEFALUE_CHECK_TIME (10*60*1000)
//缺省值
#define DEFAULT_APP_VER "1.0"
#define DEFAULT_SYSTEM_VER "1.0"
...
...
takeout/view/detailForm.cpp
View file @
4b517863
...
...
@@ -111,8 +111,15 @@ void DetailForm::InitData(OrderObject *orderObject)
// ui->detailBtn0->hide();
// }
ui
->
detailBtn2
->
setText
(
GetOperNameByStatus
(
orderObject
->
status
,
true
));
ui
->
detailBtn2
->
setProperty
(
"operation"
,
GetOperByStatus
(
orderObject
->
status
,
true
));
int
tmpstatus
=
0
;
if
(
orderObject
->
refund_status
==
20
||
orderObject
->
refund_status
==
100
||
orderObject
->
refund_status
==
22
)
tmpstatus
=
orderObject
->
refund_status
;
else
tmpstatus
=
orderObject
->
status
;
ui
->
detailBtn2
->
setText
(
GetOperNameByStatus
(
tmpstatus
,
true
));
ui
->
detailBtn2
->
setProperty
(
"operation"
,
GetOperByStatus
(
tmpstatus
,
true
));
ui
->
detailBtn2
->
setProperty
(
"orderId"
,
orderObject
->
order_id
);
if
(
ui
->
detailBtn2
->
text
().
compare
(
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
))
==
0
)
...
...
@@ -137,19 +144,19 @@ void DetailForm::InitData(OrderObject *orderObject)
// else
// ui->detailBtn3->show();
ui
->
detailBtn3
->
setText
(
GetOperNameByStatus
(
orderObject
->
status
));
ui
->
detailBtn3
->
setProperty
(
"operation"
,
GetOperByStatus
(
orderObject
->
status
));
ui
->
detailBtn3
->
setText
(
GetOperNameByStatus
(
tmp
status
));
ui
->
detailBtn3
->
setProperty
(
"operation"
,
GetOperByStatus
(
tmp
status
));
ui
->
detailBtn3
->
setProperty
(
"orderId"
,
orderObject
->
order_id
);
ui
->
detailBtn3
->
setProperty
(
"ordertype"
,
orderObject
->
order_type
);
QLOG_DEBUG
()
<<
"----------------------------------------"
<<
orderObject
->
order_id
<<
";"
<<
orderObject
->
refund_status
<<
orderObject
->
status
;
QLOG_DEBUG
()
<<
"----------------------------------------"
<<
orderObject
->
order_id
<<
";"
<<
orderObject
->
refund_status
<<
tmp
status
;
if
((
orderObject
->
order_type
==
1
||
orderObject
->
order_type
==
2
)
&&
ui
->
detailBtn3
->
text
().
compare
(
QString
::
fromLocal8Bit
(
OPERATIONNAME_MAKEOVER
))
==
0
&&
orderObject
->
status
==
2
&&
orderObject
->
refund_status
!=
20
)
{
QLOG_DEBUG
()
<<
"++++++++++++++++++++++++++++++++++"
<<
orderObject
->
order_id
<<
";"
<<
orderObject
->
refund_status
<<
orderObject
->
status
;
QLOG_DEBUG
()
<<
"++++++++++++++++++++++++++++++++++"
<<
orderObject
->
order_id
<<
";"
<<
orderObject
->
refund_status
<<
tmp
status
;
ui
->
detailBtn3
->
setText
(
QString
::
fromLocal8Bit
(
OPERATIONNAME_SENDOUT
));
ui
->
detailBtn3
->
setProperty
(
"operation"
,
OPERATION_SENDOUT
);
...
...
@@ -161,7 +168,7 @@ void DetailForm::InitData(OrderObject *orderObject)
ui
->
detailBtn3
->
setProperty
(
"operation"
,
OPERATION_COMPLETE
);
}
if
(
!
GetOperByStatus
(
orderObject
->
status
).
compare
(
"NULL"
))
if
(
!
GetOperByStatus
(
tmp
status
).
compare
(
"NULL"
))
{
ui
->
detailBtn3
->
hide
();
}
...
...
takeout/view/floatForm.cpp
View file @
4b517863
...
...
@@ -56,19 +56,20 @@ bool FloatForm::event(QEvent *e)
GETEVENTINFO
(
orderid
,
e
,
QString
);
int
lastorderstatus
,
orderstatus
;
int
refundstatus
,
orderstatus
;
bool
neworder
;
if
(
!
PosOrderPool
::
GetOrderStatus
(
orderid
,
orderstatus
,
lastorderstatus
))
if
(
!
PosOrderPool
::
GetOrderStatus
(
orderid
,
orderstatus
,
refundstatus
,
neworder
))
return
true
;
if
(
(
orderstatus
==
NewOrder
&&
lastorderstatus
==
DefaultOrder
)
||
(
orderstatus
==
FirmOrder
&&
lastorderstatus
==
DefaultOrder
)
)
if
(
neworder
&&
(
orderstatus
==
NewOrder
||
orderstatus
==
FirmOrder
)
&&
refundstatus
!=
ApplicationRefundOrder
)
{
onStartRemind
(
0
);
return
true
;
}
if
(
orderstatus
==
ApplicationRefundOrder
||
orderstatus
==
ApplicationPartialRefundOrder
)
if
(
neworder
&&
(
refundstatus
==
ApplicationRefundOrder
||
refundstatus
==
ApplicationPartialRefundOrder
)
)
{
onStartRemind
(
1
);
return
true
;
...
...
takeout/view/mainForm.cpp
View file @
4b517863
...
...
@@ -144,12 +144,11 @@ bool MainForm::event(QEvent *e)
GETEVENTINFO
(
orderid
,
e
,
QString
);
OrderObject
order
;
int
lastorderstatus
;
if
(
!
PosOrderPool
::
GetOrderObject
(
orderid
,
order
,
lastorderstatus
))
if
(
!
PosOrderPool
::
GetOrderObject
(
orderid
,
order
))
return
true
;
onChangeOrderStatus
(
&
order
,
lastorderstatus
);
onChangeOrderStatus
(
&
order
);
return
true
;
}
...
...
@@ -172,8 +171,7 @@ bool MainForm::event(QEvent *e)
GETEVENTINFO
(
value
,
e
,
QVariantMap
);
if
(
value
.
contains
(
EVENT_KEY_ORDERID
)
&&
value
.
contains
(
EVENT_KEY_ORDERSTATUS
))
onOrderClear
(
value
[
EVENT_KEY_ORDERID
].
toString
(),
value
[
EVENT_KEY_ORDERSTATUS
].
toInt
());
deleteOrderItem
(
value
[
EVENT_KEY_ORDERID
].
toString
());
return
true
;
}
...
...
@@ -451,6 +449,7 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus)
return
ui
->
mainBtnFinsh
;
break
;
case
20
:
case
22
:
return
ui
->
mainBtnRefund
;
break
;
default
:
...
...
@@ -459,6 +458,26 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus)
}
}
QPushButton
*
MainForm
::
_GetTabBtn
(
QTableWidget
*
view
)
{
if
(
view
==
ui
->
mainTableNew
)
return
ui
->
mainBtnNew
;
if
(
view
==
ui
->
mainTableMake
)
return
ui
->
mainBtnMake
;
if
(
view
==
ui
->
mainTableSend
)
return
ui
->
mainBtnSend
;
if
(
view
==
ui
->
mainTableFinsh
)
return
ui
->
mainBtnFinsh
;
if
(
view
==
ui
->
mainTableRefund
)
return
ui
->
mainBtnRefund
;
return
ui
->
mainBtnOther
;
}
void
MainForm
::
onHideAlert
()
{
m_alertForm
->
hide
();
...
...
@@ -498,32 +517,17 @@ void MainForm::onSetNetStatus(const QString &status)
ui
->
mainLabNetStatus
->
setText
(
status
);
}
void
MainForm
::
onChangeOrderStatus
(
OrderObject
*
orderObject
,
int
oldStatus
)
void
MainForm
::
deleteOrderItem
(
QString
orderid
)
{
_SetTablesSortEnable
(
false
);
QTableWidget
*
table
;
QPushButton
*
tabBtn
;
// 非首次收到的订单需要现在原先表中删除
if
(
oldStatus
!=
-
100
)
{
tabBtn
=
_GetTabBtnByOrderStatus
(
1
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
order_id
))
if
(
m_order_table_map
.
contains
(
orderid
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
QTableWidget
*
table
=
m_order_table_map
[
orderid
];
QPushButton
*
tabBtn
=
_GetTabBtn
(
table
);
tabBtn
=
_GetTabBtnByOrderStatus
(
6
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
order
Object
->
order_
id
))
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderid
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
...
...
@@ -531,48 +535,20 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
2
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
order_id
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
_SetTablesSortEnable
(
true
);
}
tabBtn
=
_GetTabBtnByOrderStatus
(
5
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
order_id
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
void
MainForm
::
onChangeOrderStatus
(
OrderObject
*
orderObject
)
{
_SetTablesSortEnable
(
false
);
QString
orderid
=
orderObject
->
order_id
;
tabBtn
=
_GetTabBtnByOrderStatus
(
200
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
order_id
))
if
(
m_order_table_map
.
contains
(
orderid
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
QTableWidget
*
table
=
m_order_table_map
[
orderid
];
QPushButton
*
tabBtn
=
_GetTabBtn
(
table
);
tabBtn
=
_GetTabBtnByOrderStatus
(
20
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
order_id
))
...
...
@@ -583,24 +559,22 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
3
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
order_id
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
}
int
tmpstatus
;
if
(
orderObject
->
refund_status
==
20
||
orderObject
->
refund_status
==
22
||
orderObject
->
refund_status
==
100
)
tmpstatus
=
orderObject
->
refund_status
;
else
tmpstatus
=
orderObject
->
status
;
// 将数据插入到表中
tabBtn
=
_GetTabBtnByOrderStatus
(
orderObject
->
status
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
QPushButton
*
tabBtn
=
_GetTabBtnByOrderStatus
(
tmpstatus
);
QTableWidget
*
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
m_order_table_map
.
insert
(
orderObject
->
order_id
,
table
);
table
->
insertRow
(
0
);
QTableWidgetItem
*
item0
=
new
QTableWidgetItem
(
QString
::
number
(
orderObject
->
order_index
)
+
"#"
+
orderObject
->
channel_name
);
item0
->
setTextAlignment
(
Qt
::
AlignCenter
);
...
...
@@ -688,9 +662,7 @@ void MainForm::onMainTableItemClicked(QTableWidgetItem *item)
OrderObject
order
;
int
lastStatus
;
if
(
!
PosOrderPool
::
GetOrderObject
(
orderId
,
order
,
lastStatus
))
if
(
!
PosOrderPool
::
GetOrderObject
(
orderId
,
order
))
return
;
onHideAlert
();
...
...
takeout/view/mainForm.h
View file @
4b517863
...
...
@@ -36,7 +36,6 @@ public:
virtual
bool
event
(
QEvent
*
e
);
void
setStoreinfo
(
const
QVariantMap
&
storeinfo
);
private
:
Ui
::
MainForm
*
ui
;
// 时间定时器
...
...
@@ -49,7 +48,8 @@ private:
QVariantMap
m_storeinfo
;
// 所有的表
QList
<
QTableWidget
*>
m_tableList
;
// 订单对应的表
QMap
<
QString
,
QTableWidget
*>
m_order_table_map
;
// 通知窗口
AlertForm
*
m_alertForm
;
// 人员选择窗口
...
...
@@ -95,6 +95,13 @@ private:
* */
QPushButton
*
_GetTabBtnByOrderStatus
(
int
orderStatus
);
QPushButton
*
_GetTabBtn
(
QTableWidget
*
view
);
/* 功能:删除订单数据
* 参数:[1]订单编号
* 返回:
* */
void
deleteOrderItem
(
QString
orderid
);
signals
:
/* 功能:处理订单
* 参数:[1]操作动作名[2]订单编号[3]配送员信息
...
...
@@ -242,7 +249,7 @@ public slots:
* 参数:[1]订单对象[2]旧订单的状态
* 返回:NULL
* */
void
onChangeOrderStatus
(
OrderObject
*
orderObject
,
int
oldStatus
);
void
onChangeOrderStatus
(
OrderObject
*
orderObject
);
/* 功能:显示配送员选择窗口
* 参数:[1]订单编号[2]配送员信息
* 返回:NULL
...
...
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