Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FMDbMonitor_linux
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
guanghui.cui
FMDbMonitor_linux
Commits
90d893ca
Commit
90d893ca
authored
Sep 28, 2017
by
guanghui.cui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
菜单缓存添加字段
parent
12d87215
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
80 additions
and
23 deletions
+80
-23
base/CommonStruct.h
+15
-5
bin/daemon_monitor.sh
+14
-10
bin/monitor.ini
+2
-1
pos_bft/OrderInfo.cpp
+43
-6
src/PayProcess.cpp
+0
-1
src/json.cpp
+6
-0
No files found.
base/CommonStruct.h
View file @
90d893ca
...
@@ -69,15 +69,24 @@ struct TakeawayOrder
...
@@ -69,15 +69,24 @@ struct TakeawayOrder
struct
PrinterMenu
struct
PrinterMenu
{
{
std
::
string
strMenuId
;
std
::
string
strMenuId
;
//菜品ID
int
iPrinterId
;
int
iPrinterId
;
//打印机ID(厨房)
std
::
string
strDevice
;
std
::
string
strDevice
;
//打印机端口(厨房)
int
iBaud
;
//波特率(厨房)
std
::
string
strTitle
;
//打印标题(厨房)
int
iOrderPrinterId
;
//打印机ID(上菜单)
std
::
string
strOrderDevice
;
//打印机端口(上菜单)
int
iOrderBaud
;
//波特率(上菜单)
std
::
string
strOrderTitle
;
//打印标题(上菜单)
};
};
struct
PrintDevice
struct
PrintDevice
{
{
int
id
;
int
id
;
//打印机id
std
::
string
strDevice
;
std
::
string
strDevice
;
//打印端口
int
iBaud
;
//波特率
int
iPrintQ
;
//打印类型(上菜单、厨房等)
std
::
string
strTitle
;
//打印标题
};
};
#endif
#endif
\ No newline at end of file
bin/daemon_monitor.sh
View file @
90d893ca
#!/bin/bash
#!/bin/bash
CMD
Client
=
"/home/fm
/monitor"
CMD
Name
=
"/home/czl/monitor/bin
/monitor"
PID
Client
=
"./pidClient
.txt"
PID
File
=
"/home/czl/monitor/bin/pidMonitor
.txt"
# ---------------------------------------------------
# ---------------------------------------------------
# 启动函数
# 启动函数
function
startClient
{
function
startClient
{
$CMD
Client
2>&1 &
$CMD
Name
2>&1 &
mypgmpid
=
$!
mypgmpid
=
$!
echo
$mypgmpid
>
$PID
Client
echo
$mypgmpid
>
$PID
File
echo
"startClient [ok]"
echo
"startClient [ok]"
}
}
# 停止函数
# 停止函数
function
stopClient
{
function
stopClient
{
kill
`
cat
$PID
Client
`
kill
`
cat
$PID
File
`
rm
$PID
Client
rm
$PID
File
echo
"stopClient [ok]"
echo
"stopClient [ok]"
}
}
# --------------------------------------------------
# --------------------------------------------------
echo
"
$CMD
Client
$1
"
echo
"
$CMD
Name
$1
"
case
"
$1
"
in
case
"
$1
"
in
start
)
start
)
if
[
-f
$PIDFile
]
;
then
stopClient
sleep 4
fi
startClient
startClient
;;
;;
restart
)
restart
)
if
[
-f
$PID
Client
]
;
then
if
[
-f
$PID
File
]
;
then
stopClient
stopClient
sleep 4
sleep 4
fi
fi
...
@@ -35,8 +39,8 @@ stop)
...
@@ -35,8 +39,8 @@ stop)
esac
esac
for
((
c
=
0
;
;
c++
))
for
((
c
=
0
;
;
c++
))
do
do
if
[
-f
$PID
Client
]
;
then
if
[
-f
$PID
File
]
;
then
mypgmpid
=
`
cat
$PID
Client
`
mypgmpid
=
`
cat
$PID
File
`
cmdex
=
"ps uh -p
$mypgmpid
"
cmdex
=
"ps uh -p
$mypgmpid
"
psrtn
=
`
$cmdex
`
psrtn
=
`
$cmdex
`
if
[
-z
"
$psrtn
"
]
;
then
if
[
-z
"
$psrtn
"
]
;
then
...
...
bin/monitor.ini
View file @
90d893ca
...
@@ -17,5 +17,5 @@ serverip=192.168.0.102
...
@@ -17,5 +17,5 @@ serverip=192.168.0.102
#守护进程脚本
#守护进程脚本
[SH]
[SH]
monitor
=
/home/fm/daemon_monitor.sh start &
#
monitor=/home/fm/daemon_monitor.sh start &
takeout
=
/home/fm/daemon_takeout.sh start &
takeout
=
/home/fm/daemon_takeout.sh start &
\ No newline at end of file
pos_bft/OrderInfo.cpp
View file @
90d893ca
...
@@ -452,29 +452,67 @@ bool COrderInfo::GetMenuPrinter()
...
@@ -452,29 +452,67 @@ bool COrderInfo::GetMenuPrinter()
dbDevice
.
interactive_timeout
=
5
;
dbDevice
.
interactive_timeout
=
5
;
MySQLService
*
mysqlDevice
=
new
MySQLService
(
&
dbDevice
);
MySQLService
*
mysqlDevice
=
new
MySQLService
(
&
dbDevice
);
sprintf
(
mysqlDevice
->
sqlStr
,
"%s"
,
"SELECT Printer,Device FROM tbl_PrintDevice;"
);
sprintf
(
mysqlDevice
->
sqlStr
,
"%s"
,
"SELECT PrintQ,Name3,Printer FROM tbl_PrintQueue;"
);
nErrCode
=
mysqlDevice
->
query
();
while
((
mysqlDevice
->
_row
=
mysql_fetch_row
(
mysqlDevice
->
_result
))
!=
NULL
){
PrintDevice
device
;
device
.
iPrintQ
=
atoi
(
mysqlDevice
->
_row
[
0
]);
device
.
strTitle
=
mysqlDevice
->
_row
[
1
];
device
.
id
=
atoi
(
mysqlDevice
->
_row
[
2
]);
vecDevices
.
push_back
(
device
);
}
mysql_free_result
(
mysqlDevice
->
_result
);
LOG
(
INFO
)
<<
"-------------------------------------------------"
;
std
::
vector
<
PrintDevice
>
vecPrinterInfo
;
sprintf
(
mysqlDevice
->
sqlStr
,
"%s"
,
"SELECT Printer,Device,BaudRate FROM tbl_PrintDevice;"
);
nErrCode
=
mysqlDevice
->
query
();
nErrCode
=
mysqlDevice
->
query
();
while
((
mysqlDevice
->
_row
=
mysql_fetch_row
(
mysqlDevice
->
_result
))
!=
NULL
){
while
((
mysqlDevice
->
_row
=
mysql_fetch_row
(
mysqlDevice
->
_result
))
!=
NULL
){
PrintDevice
device
;
PrintDevice
device
;
device
.
id
=
atoi
(
mysqlDevice
->
_row
[
0
]);
device
.
id
=
atoi
(
mysqlDevice
->
_row
[
0
]);
device
.
strDevice
=
mysqlDevice
->
_row
[
1
];
device
.
strDevice
=
mysqlDevice
->
_row
[
1
];
vecDevices
.
push_back
(
device
);
device
.
iBaud
=
atoi
(
mysqlDevice
->
_row
[
2
]);
vecPrinterInfo
.
push_back
(
device
);
}
for
(
auto
&
dev
:
vecDevices
){
for
(
auto
printer
:
vecPrinterInfo
){
if
(
dev
.
id
==
printer
.
id
){
dev
.
strDevice
=
printer
.
strDevice
;
dev
.
iBaud
=
printer
.
iBaud
;
}
}
}
}
mysql_free_result
(
mysqlDevice
->
_result
);
mysql_free_result
(
mysqlDevice
->
_result
);
delete
mysqlDevice
;
delete
mysqlDevice
;
if
(
nErrCode
==-
1
)
if
(
nErrCode
==-
1
)
return
false
;
return
false
;
//查询菜单数据
//查询菜单数据
sprintf
(
mysql
->
sqlStr
,
"%s"
,
"SELECT Item,PrintQ1 FROM tbl_Menu;"
);
//PrintQ1:厨房打印机 PrintQ5:上菜单打印机
sprintf
(
mysql
->
sqlStr
,
"%s"
,
"SELECT Item,PrintQ1,PrintQ5 FROM tbl_Menu;"
);
nErrCode
=
mysql
->
query
();
nErrCode
=
mysql
->
query
();
while
((
mysql
->
_row
=
mysql_fetch_row
(
mysql
->
_result
))
!=
NULL
){
while
((
mysql
->
_row
=
mysql_fetch_row
(
mysql
->
_result
))
!=
NULL
){
PrinterMenu
menu
;
PrinterMenu
menu
;
menu
.
strMenuId
=
mysql
->
_row
[
0
];
menu
.
strMenuId
=
mysql
->
_row
[
0
];
menu
.
iPrinterId
=
atoi
(
mysql
->
_row
[
1
]);
menu
.
iPrinterId
=
atoi
(
mysql
->
_row
[
1
]);
for
(
auto
dev
:
vecDevices
){
for
(
auto
dev
:
vecDevices
){
if
(
menu
.
iPrinterId
==
dev
.
i
d
){
if
(
menu
.
iPrinterId
==
dev
.
i
PrintQ
){
menu
.
strDevice
=
dev
.
strDevice
;
menu
.
strDevice
=
dev
.
strDevice
;
menu
.
iBaud
=
dev
.
iBaud
;
menu
.
strTitle
=
dev
.
strTitle
;
break
;
}
}
menu
.
iOrderPrinterId
=
atoi
(
mysql
->
_row
[
2
]);
for
(
auto
dev
:
vecDevices
){
if
(
menu
.
iOrderPrinterId
==
dev
.
iPrintQ
){
menu
.
strOrderDevice
=
dev
.
strDevice
;
menu
.
iOrderBaud
=
dev
.
iBaud
;
menu
.
strOrderTitle
=
dev
.
strTitle
;
break
;
}
}
}
}
vecPrinterMenus
.
push_back
(
menu
);
vecPrinterMenus
.
push_back
(
menu
);
...
@@ -485,14 +523,13 @@ bool COrderInfo::GetMenuPrinter()
...
@@ -485,14 +523,13 @@ bool COrderInfo::GetMenuPrinter()
// for(auto menu:vecPrinterMenus){
// for(auto menu:vecPrinterMenus){
// LOG(INFO)<<"idMenu"<<menu.idMenu<<" idPrinter:"<<menu.idPrinter<<" device:"<<menu.device;
// LOG(INFO)<<"idMenu"<<menu.idMenu<<" idPrinter:"<<menu.idPrinter<<" device:"<<menu.device;
// }
// }
return
true
;
return
true
;
}
}
std
::
vector
<
PrinterMenu
>&
COrderInfo
::
GetPOSMenu
()
std
::
vector
<
PrinterMenu
>&
COrderInfo
::
GetPOSMenu
()
{
{
if
(
!
GetMenuPrinter
())
if
(
!
GetMenuPrinter
())
LOG
(
INFO
)
<<
"Get menu info failed!"
;
LOG
(
ERROR
)
<<
"Get menu info failed!"
;
return
vecPrinterMenus
;
return
vecPrinterMenus
;
}
}
...
...
src/PayProcess.cpp
View file @
90d893ca
...
@@ -259,7 +259,6 @@ void *FunTakeaway(void* lpParamter)
...
@@ -259,7 +259,6 @@ void *FunTakeaway(void* lpParamter)
else
if
(
order
.
fm_cmd
==
"get_menu"
){
else
if
(
order
.
fm_cmd
==
"get_menu"
){
LOG
(
INFO
)
<<
"------get pos menu------"
;
LOG
(
INFO
)
<<
"------get pos menu------"
;
std
::
vector
<
PrinterMenu
>
&
vecMenu
=
dbOperation
->
GetPOSMenu
();
std
::
vector
<
PrinterMenu
>
&
vecMenu
=
dbOperation
->
GetPOSMenu
();
LOG
(
INFO
)
<<
"------get pos menu------111111"
;
// for(auto menu:vecMenu){
// for(auto menu:vecMenu){
// LOG(INFO)<<"idMenu"<<menu.idMenu<<" idPrinter:"<<menu.idPrinter<<" device:"<<menu.device;
// LOG(INFO)<<"idMenu"<<menu.idMenu<<" idPrinter:"<<menu.idPrinter<<" device:"<<menu.device;
// }
// }
...
...
src/json.cpp
View file @
90d893ca
...
@@ -215,6 +215,12 @@ std::string GetPOSMenuJson(std::vector<PrinterMenu> &vecMenu)
...
@@ -215,6 +215,12 @@ std::string GetPOSMenuJson(std::vector<PrinterMenu> &vecMenu)
obj
.
AddMember
(
"iPrinterId"
,
vecMenu
[
i
].
iPrinterId
,
allocator
);
obj
.
AddMember
(
"iPrinterId"
,
vecMenu
[
i
].
iPrinterId
,
allocator
);
obj
.
AddMember
(
"strMenuId"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strMenuId
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
obj
.
AddMember
(
"strMenuId"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strMenuId
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
obj
.
AddMember
(
"strDevice"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strDevice
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
obj
.
AddMember
(
"strDevice"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strDevice
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
obj
.
AddMember
(
"iBaud"
,
vecMenu
[
i
].
iBaud
,
allocator
);
obj
.
AddMember
(
"strTitle"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strTitle
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
obj
.
AddMember
(
"iOrderPrinterId"
,
vecMenu
[
i
].
iOrderPrinterId
,
allocator
);
obj
.
AddMember
(
"strOrderDevice"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strOrderDevice
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
obj
.
AddMember
(
"iOrderBaud"
,
vecMenu
[
i
].
iOrderBaud
,
allocator
);
obj
.
AddMember
(
"strOrderTitle"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strOrderTitle
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
arrayJson
.
PushBack
(
obj
,
allocator
);
arrayJson
.
PushBack
(
obj
,
allocator
);
}
}
...
...
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