|
@@ -664,23 +664,33 @@ std::string CPosPrinterData::PrintWaimaiOrderBiaoqian(CWaimaiOrder& order)
|
|
|
nRow++;
|
|
nRow++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //如果是自取订单,打印取餐号m_take_food_code
|
|
|
|
|
+ if (order.m_is_selftake == "1")
|
|
|
|
|
+ {
|
|
|
|
|
+ int nQucanmaY = 42 + 30 * nRow + 10;
|
|
|
|
|
+
|
|
|
|
|
+ //打印取餐码
|
|
|
|
|
+ std::string order_num_info = CLewaimaiString::UnicodeToGBK(L"取餐码:") + CLewaimaiString::UTF8ToGBK(order.m_take_food_code);
|
|
|
|
|
+ BIAOQIAN_BARCODEOUT(CLewaimaiString::UTF8ToGBK(order.m_take_food_code), 12, nQucanmaY);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
int nHeightNow;
|
|
int nHeightNow;
|
|
|
if (biaoqian_height <= 30)
|
|
if (biaoqian_height <= 30)
|
|
|
{
|
|
{
|
|
|
- nHeightNow = (biaoqian_height - 8) * 8;
|
|
|
|
|
|
|
+ nHeightNow = (biaoqian_height - 4) * 8;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- nHeightNow = (30 - 8) * 8;
|
|
|
|
|
|
|
+ nHeightNow = (30 - 4) * 8;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//打印价格
|
|
//打印价格
|
|
|
- std::string priceInfo = CLewaimaiString::UnicodeToGBK(L"单价:") + CLewaimaiString::UTF8ToGBK(food_price) + CLewaimaiString::UnicodeToGBK(L"元");
|
|
|
|
|
|
|
+ std::string priceInfo = CLewaimaiString::UTF8ToGBK(food_price) + CLewaimaiString::UnicodeToGBK(L"元");
|
|
|
textData += BIAOQIAN_TEXTGet(priceInfo, 12, nHeightNow, 1, 1);
|
|
textData += BIAOQIAN_TEXTGet(priceInfo, 12, nHeightNow, 1, 1);
|
|
|
|
|
|
|
|
- //打印订单号
|
|
|
|
|
- std::string order_num = CLewaimaiString::UnicodeToGBK(L"订单号:") + CLewaimaiString::UTF8ToGBK(order.m_order_num);
|
|
|
|
|
- textData += BIAOQIAN_TEXTGet(order_num, 12, nHeightNow + 30, 1, 1);
|
|
|
|
|
|
|
+ //打印订单号
|
|
|
|
|
+ //std::string order_num = CLewaimaiString::UnicodeToGBK(L"订单号:") + CLewaimaiString::UTF8ToGBK(order.m_order_num);
|
|
|
|
|
+ //textData += BIAOQIAN_TEXTGet(order_num, 172, nHeightNow, 1, 1);
|
|
|
|
|
|
|
|
//这种是比较大的纸,可以打印更多的订单信息
|
|
//这种是比较大的纸,可以打印更多的订单信息
|
|
|
if (biaoqian_height >= 60)
|
|
if (biaoqian_height >= 60)
|
|
@@ -2345,17 +2355,35 @@ std::string CPosPrinterData::PrintDiandanOrderBiaoqian(CDiandanOrder& order)
|
|
|
{
|
|
{
|
|
|
std::string textData = "";
|
|
std::string textData = "";
|
|
|
|
|
|
|
|
- curFoodNum++;
|
|
|
|
|
-
|
|
|
|
|
- std::string order_num_info = CLewaimaiString::UnicodeToGBK(L"取餐码:") + CLewaimaiString::UTF8ToGBK(order.take_food_code);
|
|
|
|
|
-
|
|
|
|
|
//纸张宽度40mm的,是 320个点位(每mm8个),刚好可以放13个汉字,每个汉字宽度差不多是24,商品换行显示的时候,
|
|
//纸张宽度40mm的,是 320个点位(每mm8个),刚好可以放13个汉字,每个汉字宽度差不多是24,商品换行显示的时候,
|
|
|
//每行最多12个汉字,也就是空24个,因此这里设置12,刚好左右各空一半
|
|
//每行最多12个汉字,也就是空24个,因此这里设置12,刚好左右各空一半
|
|
|
- textData += BIAOQIAN_TEXTGet(order_num_info, 12, 6, 1, 1);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ //打印订单号
|
|
|
|
|
+ std::string order_num = CLewaimaiString::UnicodeToGBK(L"订单号:") + CLewaimaiString::UTF8ToGBK(order.show_trade_no);
|
|
|
|
|
+ textData += BIAOQIAN_TEXTGet(order_num, 12, 6, 1, 1);
|
|
|
|
|
|
|
|
//打印份数
|
|
//打印份数
|
|
|
|
|
+ int nNumX;
|
|
|
|
|
+ if (biaoqian_width == 30)
|
|
|
|
|
+ {
|
|
|
|
|
+ nNumX = 170;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (biaoqian_width == 35)
|
|
|
|
|
+ {
|
|
|
|
|
+ nNumX = 210;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (biaoqian_width == 40)
|
|
|
|
|
+ {
|
|
|
|
|
+ nNumX = 250;
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ nNumX = 250;
|
|
|
|
|
+ }
|
|
|
|
|
+ curFoodNum++;
|
|
|
|
|
+
|
|
|
std::string numInfo = std::to_string(curFoodNum) + "/" + std::to_string(foodNum);
|
|
std::string numInfo = std::to_string(curFoodNum) + "/" + std::to_string(foodNum);
|
|
|
- textData += BIAOQIAN_TEXTGet(numInfo, 180, 6, 1, 1);
|
|
|
|
|
|
|
+ textData += BIAOQIAN_TEXTGet(numInfo, nNumX, 6, 1, 1);
|
|
|
|
|
|
|
|
//每行最多显示12个汉字,这里要计算一下换行(要先转成ANSI格式)
|
|
//每行最多显示12个汉字,这里要计算一下换行(要先转成ANSI格式)
|
|
|
std::string handle_food_name = CLewaimaiString::UTF8ToGBK(food_name);
|
|
std::string handle_food_name = CLewaimaiString::UTF8ToGBK(food_name);
|
|
@@ -2391,27 +2419,27 @@ std::string CPosPrinterData::PrintDiandanOrderBiaoqian(CDiandanOrder& order)
|
|
|
nRow++;
|
|
nRow++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- int nPriceY;
|
|
|
|
|
- if (biaoqian_height == 30)
|
|
|
|
|
- {
|
|
|
|
|
- nPriceY = 180;
|
|
|
|
|
- }
|
|
|
|
|
- else if (biaoqian_height == 25)
|
|
|
|
|
|
|
+ int nQucanmaY = 42 + 30 * nRow + 10;
|
|
|
|
|
+
|
|
|
|
|
+ //打印取餐码
|
|
|
|
|
+ BIAOQIAN_BARCODEOUT(CLewaimaiString::UTF8ToGBK(order.take_food_code), 12, nQucanmaY);
|
|
|
|
|
+
|
|
|
|
|
+ int nHeightNow;
|
|
|
|
|
+ if (biaoqian_height <= 30)
|
|
|
{
|
|
{
|
|
|
- nPriceY = 140;
|
|
|
|
|
|
|
+ nHeightNow = (biaoqian_height - 4) * 8;
|
|
|
}
|
|
}
|
|
|
- else if (biaoqian_height == 20)
|
|
|
|
|
|
|
+ else
|
|
|
{
|
|
{
|
|
|
- nPriceY = 100;
|
|
|
|
|
|
|
+ nHeightNow = (30 - 4) * 8;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //std::string order_num_info = CLewaimaiString::UnicodeToGBK(L"取餐码:") + CLewaimaiString::UTF8ToGBK(order.take_food_code);
|
|
|
|
|
+ //textData += BIAOQIAN_TEXTGet(order_num_info, 132, nQucanmaY + 15, 1, 1);
|
|
|
|
|
+
|
|
|
//打印价格
|
|
//打印价格
|
|
|
std::string priceInfo = CLewaimaiString::UTF8ToGBK(food_price) + CLewaimaiString::UnicodeToGBK(L"元");
|
|
std::string priceInfo = CLewaimaiString::UTF8ToGBK(food_price) + CLewaimaiString::UnicodeToGBK(L"元");
|
|
|
- textData += BIAOQIAN_TEXTGet(priceInfo, 12, nPriceY, 1, 1);
|
|
|
|
|
-
|
|
|
|
|
- //打印订单号
|
|
|
|
|
- std::string order_num = CLewaimaiString::UnicodeToGBK(L"订单号:") + CLewaimaiString::UTF8ToGBK(order.show_trade_no);
|
|
|
|
|
- textData += BIAOQIAN_TEXTGet(order_num, 12, nPriceY + 30, 1, 1);
|
|
|
|
|
|
|
+ textData += BIAOQIAN_TEXTGet(priceInfo, 12, nHeightNow, 1, 1);
|
|
|
|
|
|
|
|
WriteData(textData);
|
|
WriteData(textData);
|
|
|
|
|
|