Przeglądaj źródła

修复乱码的bug
派工单增加流水号

zhangyang 6 lat temu
rodzic
commit
096510e529
1 zmienionych plików z 50 dodań i 8 usunięć
  1. 50 8
      lewaimai_pos_windows/tool/CPosPrinter.cpp

+ 50 - 8
lewaimai_pos_windows/tool/CPosPrinter.cpp

@@ -737,6 +737,22 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
 
             POS_FeedLine();
 
+			string order_type = "#" + order.m_restaurant_number + "  ";
+			if (order.m_is_selftake == "1")
+			{
+				POS_TextOut(order_type + "到店自取订单", false, false, 1);
+				POS_FeedLine();
+
+				POS_FeedLine();
+			}
+			else
+			{
+				POS_TextOut(order_type + "外卖订单", false, false, 1);
+				POS_FeedLine();
+
+				POS_FeedLine();
+			}
+
             //预设选项
             if(order.m_order_field.size() > 1)
             {
@@ -859,6 +875,22 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
 
                 POS_FeedLine();
 
+				string order_type = "#" + order.m_restaurant_number + "  ";
+				if (order.m_is_selftake == "1")
+				{
+					POS_TextOut(order_type + "到店自取订单", false, false, 1);
+					POS_FeedLine();
+
+					POS_FeedLine();
+				}
+				else
+				{
+					POS_TextOut(order_type + "外卖订单", false, false, 1);
+					POS_FeedLine();
+
+					POS_FeedLine();
+				}
+
                 //预设选项
                 if(order.m_order_field.size() > 1)
                 {
@@ -1218,17 +1250,19 @@ void CPosPrinter::CalWord(string s, int& nHanzi, int& nZimu)
     nZimu = 0;
     const char* buffer = s.c_str();
 
-    while(*buffer++ != '\0')
+    while(*buffer != '\0')
     {
         if(!(*buffer >= 0 && *buffer <= 127))
         {
             //汉字
             buffer++;
+			buffer++;
             nHanzi++;
         }
         else
         {
             //字母
+			buffer++;
             nZimu++;
         }
     }
@@ -1245,7 +1279,7 @@ std::vector<std::string>CPosPrinter::HandleFoodname(std::string oldname, int gui
     int nWidth = nHanzi * 2 + nZimu;
     int maxWidth;
 
-    if(guige == 1)
+	if(guige == 1)
     {
         maxWidth = 15;
     }
@@ -1271,18 +1305,26 @@ std::vector<std::string>CPosPrinter::HandleFoodname(std::string oldname, int gui
     int nTmp = 0;
     int nTotal = 0;
 
-    while(*s++ != '\0')
+    while(*s != '\0')
     {
-        nTmp++;
-        nTotal++;
-
-        if(!(*(s) >= 0 && *(s) <= 127))
+        if(!(*s >= 0 && *s <= 127))
         {
             //汉字的情况
-            s++;
+			s++;
+			nTmp++;
+			nTotal++;
+
+			s++;
             nTmp++;
             nTotal++;
         }
+		else
+		{
+			//字母的情况
+			s++;
+			nTmp++;
+			nTotal++;
+		}
 
         if(nTmp == maxWidth)
         {