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
4448d716
Commit
4448d716
authored
May 27, 2019
by
xiaoqing.gu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、根据商户号定制不同的杯贴打印样式 2、匹配书亦两种系统的数据库 3、修改订单详情界面的自动换行问题 4、退单界面新增退单中状态
parent
c52b1661
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
100 additions
and
25 deletions
+100
-25
takeout/base/Print/newprintlib.cpp
+38
-4
takeout/base/Print/newprintlib.h
+8
-0
takeout/control/orderentrywork.cpp
+29
-14
takeout/model/posorderpool.h
+1
-1
takeout/preDefine.h
+4
-0
takeout/view/newdetailform.cpp
+13
-4
takeout/view/newmainform.cpp
+3
-1
takeout/view/ordertypeform.cpp
+4
-1
No files found.
takeout/base/Print/newprintlib.cpp
View file @
4448d716
...
...
@@ -14,6 +14,7 @@
#include "model/posorderpool.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QSettings>
NewPrintLib
::
NewPrintLib
()
{
...
...
@@ -550,9 +551,22 @@ bool NewPrintLib::PrintLabel(const QString &config, OrderObject *order)
qDebug
()
<<
"input9:"
<<
prodname
;
QString
configfile
=
qApp
->
applicationDirPath
()
+
"/"
+
CONFIG_NAME
;
QString
partnerid
=
QSettings
(
configfile
,
QSettings
::
IniFormat
).
value
(
INI_BASE_PARNETID
).
toString
();
if
(
partnerid
==
SHUYI
)
{
f_labprtlinewithsizeandratio
(
0
,
50
,
24
,
0.0266665
,
0
,
tmptitle
.
toLocal8Bit
().
data
());
f_labprtlinewithsizeandratio
(
0
,
0
,
24
,
0.0266665
,
0
,
"-----------------------------------"
);
f_labprtlinewithsizeandratio
(
0
,
0
,
24
,
0.0266665
,
1
,
prodname
.
append
(
QString
(
"
\x20\xC2\xA5
"
)).
append
(
QString
::
number
(
dish
->
price
/
100.0
,
'f'
,
2
)).
toLocal8Bit
().
data
());
}
else
if
(
partnerid
==
YIHETANG
)
{
f_labprtlinewithsizeandstyle
(
10
,
50
,
24
,
0
,
0
,
tmptitle
.
toLocal8Bit
().
data
());
f_labprtlinewithsizeandstyle
(
10
,
0
,
24
,
0
,
0
,
"-----------------------------------"
);
f_labprtlinewithsizeandstyle
(
10
,
0
,
32
,
2
,
1
,
prodname
/*.append(QString("\x20\xC2\xA5")).append(QString::number(dish->price/100.0, 'f', 2))*/
.
toLocal8Bit
().
data
());
}
else
{
f_labprtline
(
0
,
10
,
0
,
tmptitle
.
toLocal8Bit
().
data
());
f_labprtline
(
0
,
0
,
0
,
"-----------------------------------"
);
f_labprtline
(
10
,
0
,
1
,
prodname
.
append
(
QString
(
"
\x20\xC2\xA5
"
)).
append
(
QString
::
number
(
dish
->
price
/
100.0
,
'f'
,
2
)).
toLocal8Bit
().
data
());
}
QString
property_tags
;
if
(
!
dish
->
property_tags
.
isEmpty
())
{
...
...
@@ -568,17 +582,37 @@ bool NewPrintLib::PrintLabel(const QString &config, OrderObject *order)
}
}
property_tags
.
remove
(
property_tags
.
length
()
-
1
,
1
);
if
(
partnerid
==
SHUYI
)
{
f_labprtlinewithsizeandratio
(
0
,
0
,
24
,
0.0266665
,
1
,
property_tags
.
toLocal8Bit
().
data
());
}
else
if
(
partnerid
==
YIHETANG
)
{
f_labprtlinewithsizeandstyle
(
10
,
0
,
32
,
2
,
1
,
property_tags
.
toLocal8Bit
().
data
());
}
else
{
f_labprtline
(
10
,
0
,
1
,
property_tags
.
toLocal8Bit
().
data
());
}
QString
sendtimes
=
QString
(
""
);
if
(
tmpdelitime
!=
0
/*&& (order->order_type == 1 || order->order_type == 2)*/
)
{
sendtimes
.
append
(
QDateTime
::
fromTime_t
(
order
->
delivery_time
).
toString
(
"yyyy-MM-dd hh:mm:ss"
));
sendtimes
.
append
(
QDateTime
::
fromTime_t
(
order
->
delivery_time
).
toString
(
"yyyy-MM-dd hh:mm"
));
if
(
partnerid
==
SHUYI
)
{
f_labprtlinewithsizeandratio
(
0
,
140
,
24
,
0.0266665
,
1
,
sendtimes
.
toLocal8Bit
().
data
());
}
else
if
(
partnerid
==
YIHETANG
)
{
f_labprtlinewithsizeandstyle
(
10
,
140
,
24
,
0
,
1
,
sendtimes
.
toLocal8Bit
().
data
());
}
else
{
f_labprtline
(
10
,
140
,
1
,
sendtimes
.
toLocal8Bit
().
data
());
}
}
if
(
partnerid
==
SHUYI
)
{
f_labprtlinewithsizeandratio
(
0
,
170
,
24
,
0.0266665
,
1
,
order
->
store_name
.
toLocal8Bit
().
data
());
}
else
if
(
partnerid
==
YIHETANG
)
{
f_labprtlinewithsizeandstyle
(
10
,
180
,
24
,
0
,
1
,
order
->
store_name
.
toLocal8Bit
().
data
());
}
else
{
f_labprtline
(
10
,
180
,
1
,
order
->
store_name
.
toLocal8Bit
().
data
());
}
f_labprtclose
();
...
...
@@ -819,8 +853,6 @@ bool NewPrintLib::DoLabelModelPrint(const QString &config, const QString &contex
CONSTCHARTOCHAR
(
prtconfigdata
,
prtconfig
);
char
*
xml
=
NULL
;
QByteArray
xmldata
=
context
.
toLocal8Bit
();
...
...
@@ -1066,6 +1098,8 @@ bool NewPrintLib::LoadFunction()
f_loadaddress
=
(
LoadAddress
)
lib
.
resolve
(
"LoadAddress"
);
f_labprtiopen
=
(
LabPrtOpen
)
lib
.
resolve
(
"LabPrtOpen"
);
f_labprtline
=
(
LabPrtLine
)
lib
.
resolve
(
"LabPrtLine"
);
f_labprtlinewithsizeandratio
=
(
LabPrtLineWithSizeAndRatio
)
lib
.
resolve
(
"LabPrtLineWithSizeAndRatio"
);
f_labprtlinewithsizeandstyle
=
(
LabPrtLineWithSizeAndStyle
)
lib
.
resolve
(
"LabPrtLineWithSizeAndStyle"
);
f_labprtclose
=
(
LabPrtClose
)
lib
.
resolve
(
"LabPrtClose"
);
f_prtopen
=
(
PrtOpen
)
lib
.
resolve
(
"PrtOpen"
);
f_prtclose
=
(
PrtClose
)
lib
.
resolve
(
"PrtClose"
);
...
...
@@ -1076,7 +1110,7 @@ bool NewPrintLib::LoadFunction()
f_DoPrintWithXml
=
(
DoPrintWithXml
)
lib
.
resolve
(
"DoPrintWithXml"
);
f_DoLabPrintWithXml
=
(
DoLabPrintWithXml
)
lib
.
resolve
(
"DoLabPrintWithXml"
);
if
(
!
(
f_unloaddll
&&
f_loadaddress
&&
f_labprtiopen
&&
f_labprtline
if
(
!
(
f_unloaddll
&&
f_loadaddress
&&
f_labprtiopen
&&
f_labprtline
&&
f_labprtlinewithsizeandratio
&&
f_labprtlinewithsizeandstyle
&&
f_labprtclose
&&
f_prtopen
&&
f_prtclose
&&
f_freeline
&&
f_printdataline
&&
f_printBarcode
&&
f_printqrcode
&&
f_DoPrintWithXml
))
{
...
...
takeout/base/Print/newprintlib.h
View file @
4448d716
...
...
@@ -13,6 +13,10 @@ typedef int (*LabPrtOpen)(char data[]);
typedef
int
(
*
LabPrtLine
)(
int
x
,
int
y
,
int
line
,
const
char
*
data
);
typedef
int
(
*
LabPrtLineWithSizeAndRatio
)(
int
x
,
int
y
,
int
size
,
double
ratio
,
int
line
,
const
char
*
data
);
typedef
int
(
*
LabPrtLineWithSizeAndStyle
)(
int
x
,
int
y
,
int
size
,
int
style
,
int
line
,
const
char
*
data
);
typedef
int
(
*
LabPrtClose
)();
typedef
int
(
*
PrtOpen
)(
char
data
[]);
...
...
@@ -106,6 +110,10 @@ private:
LabPrtLine
f_labprtline
;
LabPrtLineWithSizeAndRatio
f_labprtlinewithsizeandratio
;
LabPrtLineWithSizeAndStyle
f_labprtlinewithsizeandstyle
;
LabPrtClose
f_labprtclose
;
PrtOpen
f_prtopen
;
...
...
takeout/control/orderentrywork.cpp
View file @
4448d716
...
...
@@ -159,10 +159,10 @@ void OrderEntryWork::orderInput(QString orderid)
"UID=%3;"
//登录名
"PWD=%4;"
//密码
)
.
arg
(
"
SH-FM
"
)
.
arg
(
"
127.0.0.1
"
)
.
arg
(
"GSCYDB"
)
.
arg
(
"sa"
)
.
arg
(
"
Sy0592
"
)
.
arg
(
"
dream0592way
"
)
);
// QString dsn = QString::fromLocal8Bit("GSCYDB");
// m_db.setHostName("SH-FM");
...
...
@@ -172,18 +172,33 @@ void OrderEntryWork::orderInput(QString orderid)
if
(
!
m_db
.
open
())
{
//重试密码,两次都不正确退出,并报错
m_db
=
QSqlDatabase
::
addDatabase
(
"QODBC"
);
m_db
.
setDatabaseName
(
QString
(
"DRIVER={SQL SERVER};"
"SERVER=%1;"
//服务器名称
"DATABASE=%2;"
//数据库名
"UID=%3;"
//登录名
"PWD=%4;"
//密码
)
.
arg
(
"127.0.0.1"
)
.
arg
(
"GSCYDB"
)
.
arg
(
"sa"
)
.
arg
(
"peggy032"
)
);
if
(
!
m_db
.
open
())
{
QLOG_ERROR
()
<<
"connect sql server failed!"
<<
m_db
.
lastError
().
databaseText
();
return
;
}
}
//插入新增平台,如果存在,数据库报错不会重新插入
insertYHJBQKtable
(
QString
(
"BD"
),
QString
::
fromLocal8Bit
(
XSJBXX_DDYBH_BD
));
insertYHJBQKtable
(
QString
(
"JDDJ"
),
QString
::
fromLocal8Bit
(
XSJBXX_DDYBH_JDDJ
));
insertYHJBQKtable
(
QString
(
"SAAS"
),
QString
::
fromLocal8Bit
(
XSJBXX_DDYBH_SAAS
));
if
(
isInserted
(
order
.
fm
_id
))
if
(
isInserted
(
order
.
order
_id
))
{
QLOG_DEBUG
()
<<
order
.
fm
_id
<<
"is inserted!"
;
QLOG_DEBUG
()
<<
order
.
order
_id
<<
"is inserted!"
;
return
;
}
m_db
.
transaction
();
...
...
@@ -297,10 +312,10 @@ QString OrderEntryWork::getDW(QString XMBH)
}
}
bool
OrderEntryWork
::
isInserted
(
QString
fm
_id
)
bool
OrderEntryWork
::
isInserted
(
QString
order
_id
)
{
QSqlQuery
query
;
QString
str
=
QString
(
"SELECT * FROM XSJBXX WHERE XSDH = '%1'"
).
arg
(
fm
_id
);
QString
str
=
QString
(
"SELECT * FROM XSJBXX WHERE XSDH = '%1'"
).
arg
(
order
_id
);
QLOG_DEBUG
()
<<
"OrderEntryWork::isInserted sql str:"
<<
str
;
bool
res
=
query
.
exec
(
str
);
QLOG_DEBUG
()
<<
res
;
...
...
@@ -343,7 +358,7 @@ bool OrderEntryWork::insertYHJBQKtable(QString pl,QString platform)
bool
OrderEntryWork
::
insertXSJBXXtable
(
OrderObject
order
,
QString
&
error
)
{
QString
BZ
=
"POS"
;
QString
XSDH
=
order
.
fm
_id
;
QString
XSDH
=
order
.
order
_id
;
QString
channel
=
order
.
channel
;
QString
XH
;
QString
DDYBH
;
...
...
@@ -411,8 +426,8 @@ bool OrderEntryWork::insertXSMXXXtable(OrderObject order,QString &error)
ProductObject
*
product
=
products
.
at
(
i
);
QLOG_DEBUG
()
<<
"OrderEntryWork::insertXSMXXXtable"
<<
product
->
pid
;
QString
XH
=
order
.
fm
_id
+
QString
(
"_"
)
+
QString
::
number
(
m_index
);
QString
XSDH
=
order
.
fm
_id
;
QString
XH
=
order
.
order
_id
+
QString
(
"_"
)
+
QString
::
number
(
m_index
);
QString
XSDH
=
order
.
order
_id
;
QString
XMBH
=
product
->
stock_barcode
;
QString
XMMC
=
product
->
name
;
QString
TM
=
product
->
stock_barcode
;
...
...
@@ -462,8 +477,8 @@ bool OrderEntryWork::insertXSMXXXtable(OrderObject order,QString &error)
//餐盒费以单品入机
if
(
order
.
package_fee
!=
0
)
{
QString
XH
=
order
.
fm
_id
+
QString
(
"_"
)
+
QString
::
number
(
m_index
);
QString
XSDH
=
order
.
fm
_id
;
QString
XH
=
order
.
order
_id
+
QString
(
"_"
)
+
QString
::
number
(
m_index
);
QString
XSDH
=
order
.
order
_id
;
QString
XMBH
=
"JH002"
;
QString
XMMC
=
QString
::
fromLocal8Bit
(
XSMXXX_JH002
);
QString
TM
=
"JH002"
;
...
...
@@ -512,8 +527,8 @@ bool OrderEntryWork::insertXSMXXXtable(OrderObject order,QString &error)
//如果配送费不为空,则将配送费入机
if
(
order
.
send_fee
!=
0
)
{
QString
XH
=
order
.
fm
_id
+
QString
(
"_"
)
+
QString
::
number
(
m_index
);
QString
XSDH
=
order
.
fm
_id
;
QString
XH
=
order
.
order
_id
+
QString
(
"_"
)
+
QString
::
number
(
m_index
);
QString
XSDH
=
order
.
order
_id
;
QString
XMBH
=
"JH001"
;
QString
XMMC
=
QString
::
fromLocal8Bit
(
XSMXXX_JH001
);
QString
TM
=
"JH001"
;
...
...
@@ -565,7 +580,7 @@ bool OrderEntryWork::insertXSMXXXtable(OrderObject order,QString &error)
bool
OrderEntryWork
::
insertXSFKFStable
(
OrderObject
order
,
QString
&
error
)
{
QString
XSDH
=
order
.
fm
_id
;
QString
XSDH
=
order
.
order
_id
;
QString
BM
;
QString
NR
;
QString
channel
=
order
.
channel
;
...
...
takeout/model/posorderpool.h
View file @
4448d716
...
...
@@ -125,7 +125,7 @@ typedef enum
ApplicationRefundOrder
=
20
,
//申请部分退款
ApplicationPartialRefundOrder
=
22
,
//同意退款
//同意退款
(!!!现在是退款中状态)
ApprovalRefundOrder
=
30
,
//不同意退款
RefusingRefundOrder
=
40
,
...
...
takeout/preDefine.h
View file @
4448d716
...
...
@@ -10,6 +10,10 @@
#define MAX_JSON_KEY_LEN 128
#define MAX_SIGN_LEN 256
#define SHUYI "2055"
#define TEST "1864"
#define YIHETANG "2095"
#define DEFAULT_CONNECTNAME "posinfo"
#define DEFAULT_DBNAME "order.db"
#define DEFAULT_PRTDBNAME "prt.db"
...
...
takeout/view/newdetailform.cpp
View file @
4448d716
...
...
@@ -82,10 +82,13 @@ void NewDetailForm::InitData(OrderObject *orderObject, bool flag)
if
(
type
==
AppointmentTakeout
||
type
==
AppointmentDining
||
type
==
AppointmentInvite
)
{
if
(
type
==
AppointmentTakeout
)
if
(
type
==
AppointmentTakeout
)
{
ui
->
deliveryInfoLb_dec
->
setText
(
QString
::
fromLocal8Bit
(
"【外卖】【<font color=red>预约</font>】【%1】"
).
arg
(
timeStr
));
else
ui
->
deliveryInfoLb_dec
->
setWordWrap
(
true
);
}
else
{
ui
->
deliveryInfoLb_dec
->
setText
(
QString
::
fromLocal8Bit
(
"【自提】【<font color=red>预约</font>】【%1】"
).
arg
(
timeStr
));
ui
->
deliveryInfoLb_dec
->
setWordWrap
(
true
);
}
}
else
{
...
...
@@ -101,14 +104,18 @@ void NewDetailForm::InitData(OrderObject *orderObject, bool flag)
if
(
type
==
AppointmentTakeout
||
type
==
AppointmentDining
||
type
==
AppointmentInvite
)
{
if
(
type
==
AppointmentTakeout
)
if
(
type
==
AppointmentTakeout
)
{
ui
->
deliveryInfoLb_dec
->
setText
(
QString
::
fromLocal8Bit
(
"【%1】【<font color=red>预约</font>】【%2】"
).
arg
(
orderObject
->
delivery_party
,
timeStr
));
else
ui
->
deliveryInfoLb_dec
->
setWordWrap
(
true
);
}
else
{
ui
->
deliveryInfoLb_dec
->
setText
(
QString
::
fromLocal8Bit
(
"【%1】【<font color=red>预约</font>】【%2】"
).
arg
(
orderObject
->
delivery_party
,
timeStr
));
ui
->
deliveryInfoLb_dec
->
setWordWrap
(
true
);
}
}
else
{
ui
->
deliveryInfoLb_dec
->
setText
(
QString
::
fromLocal8Bit
(
"【%1】【%2】"
).
arg
(
orderObject
->
delivery_party
,
timeStr
));
ui
->
deliveryInfoLb_dec
->
setWordWrap
(
true
);
}
}
//ui->deliveryInfoLb_dec->setText(QString::fromLocal8Bit("【%1】【%2】").arg(orderObject->delivery_party,timeStr));
...
...
@@ -137,6 +144,7 @@ void NewDetailForm::InitData(OrderObject *orderObject, bool flag)
}
ui
->
promotionInfoLb_dec
->
setText
(
QString
(
disStr
));
ui
->
promotionInfoLb_dec
->
setWordWrap
(
true
);
QString
checkStr
;
if
(
orderObject
->
has_invoiced
)
{
...
...
@@ -146,6 +154,7 @@ void NewDetailForm::InitData(OrderObject *orderObject, bool flag)
}
ui
->
checkInfoLb_dec
->
setText
(
QString
(
checkStr
));
ui
->
checkInfoLb_dec
->
setWordWrap
(
true
);
/*
ui->orderInfoLb_dec->setText(QString::fromLocal8Bit("[%1][%2][%3]").arg(orderObject->channel_name,
...
...
takeout/view/newmainform.cpp
View file @
4448d716
...
...
@@ -1021,6 +1021,8 @@ void NewMainForm::InsertTableWidget(OrderObject &orderObject)
ClassifyOrder
(
_curr_check_btn
->
property
(
"type"
).
toString
());
ui
->
newmaintablewidget_order
->
setSortingEnabled
(
true
);
//自动触发点击序号表头排序的动作
ui
->
newmaintablewidget_order
->
sortItems
(
0
,
Qt
::
DescendingOrder
);
table
->
setRowHeight
(
0
,
36
);
}
...
...
@@ -1772,7 +1774,7 @@ void NewMainForm::on_newmainbtn_prttest_clicked()
ProductObject
*
prod
=
new
ProductObject
(
&
order
);
prod
->
pid
=
"00001"
;
prod
->
name
=
QString
::
fromUtf8
(
"
\xE6\x96\xB9\xE4\xBE\xBF\xE9\x9D\xA2
"
);
prod
->
name
=
QString
::
fromUtf8
(
"
\xE6\x96\xB9\xE4\xBE\xBF\xE9\x9D\xA2
\xE6\x96\xB9\xE4\xBE\xBF\xE9\x9D\xA2\xE6\x96\xB9\xE4\xBE\xBF\xE9\x9D\xA2
"
);
prod
->
price
=
3000
;
prod
->
product_amount
=
2
;
prod
->
property_tags
=
QString
::
fromUtf8
(
"
\xE5\x8A\xA0\xE7\x81\xAB\xE8\x85\xBF
"
);
...
...
takeout/view/ordertypeform.cpp
View file @
4448d716
...
...
@@ -103,10 +103,13 @@ void OrderTypeForm::SetNameStyle(int status)
break
;
case
CancelOrder
:
case
CompleteRefundOrder
:
case
ApprovalRefundOrder
:
ui
->
ordertypelabel_name
->
setText
(
QString
::
fromUtf8
(
"
\xE5\xB7\xB2\xE9\x80\x80\xE5\x8D\x95
"
));
ui
->
ordertypelabel_name
->
setStyleSheet
(
"#ordertypelabel_name{border:1px solid rgba(170,170,170,1);border-radius:4px;color:rgba(170,170,170,1);}"
);
break
;
case
ApprovalRefundOrder
:
ui
->
ordertypelabel_name
->
setText
(
QString
::
fromUtf8
(
"
\xE9\x80\x80\xE6\xAC\xBE\xE4\xB8\xAD
"
));
ui
->
ordertypelabel_name
->
setStyleSheet
(
"#ordertypelabel_name{border:1px solid rgba(25,108,166,1);border-radius:4px;color:rgba(25,108,166,1);}"
);
break
;
case
DispatchingOrder
:
ui
->
ordertypelabel_name
->
setText
(
QString
::
fromUtf8
(
"
\xE9\x85\x8D\xE9\x80\x81\xE4\xB8\xAD
"
));
ui
->
ordertypelabel_name
->
setStyleSheet
(
"#ordertypelabel_name{border:1px solid rgba(25,108,166,1);border-radius:4px;color:rgba(25,108,166,1);}"
);
...
...
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