张洋 4 yıl önce
ebeveyn
işleme
fa5d2ca56e

+ 50 - 2
zhipuzi_pos_windows/page/CDiandanPageUI.cpp

@@ -806,9 +806,9 @@ void CDiandanPageUI::HandleTextCapture(std::string content)
 		}
 		else
 		{
-			if (content.length() < 12)
+			if (content.length() != 12 && content.length() != 13 && content.length() != 17 && content.length() != 18)
 			{
-				//如果连12位都没有,那肯定不是称重条码,这里如果不return后面会报错
+				//位数不对,那肯定不是称重条码,这里如果不return后面会报错
 				return;
 			}
 
@@ -3062,6 +3062,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	std::string setting_tiaomacheng_geshi = CSetting::GetParam("setting_tiaomacheng_geshi");
 	if (setting_tiaomacheng_geshi == "1")
 	{
+		if (barcode.length() != 12 && barcode.length() != 13)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+
 		if (barcode.length() == 12)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');
@@ -3074,6 +3080,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	}
 	else if (setting_tiaomacheng_geshi == "2")
 	{
+		if (barcode.length() != 12 && barcode.length() != 13)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+
 		if (barcode.length() == 12)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');
@@ -3086,6 +3098,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	}
 	else if (setting_tiaomacheng_geshi == "3")
 	{
+		if (barcode.length() != 12 && barcode.length() != 13)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+
 		if (barcode.length() == 12)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');
@@ -3098,6 +3116,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	}
 	else if (setting_tiaomacheng_geshi == "4")
 	{
+		if (barcode.length() != 12 && barcode.length() != 13)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+
 		if (barcode.length() == 12)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');
@@ -3110,6 +3134,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	}
 	else if (setting_tiaomacheng_geshi == "5")
 	{
+		if (barcode.length() != 17 && barcode.length() != 18)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+
 		if (barcode.length() == 17)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');
@@ -3123,6 +3153,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	}
 	else if (setting_tiaomacheng_geshi == "6")
 	{
+		if (barcode.length() != 17 && barcode.length() != 18)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+
 		if (barcode.length() == 17)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');
@@ -3136,6 +3172,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	}
 	else if (setting_tiaomacheng_geshi == "7")
 	{
+		if (barcode.length() != 17 && barcode.length() != 18)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+		
 		if (barcode.length() == 17)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');
@@ -3149,6 +3191,12 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 	}
 	else if (setting_tiaomacheng_geshi == "8")
 	{
+		if (barcode.length() != 17 && barcode.length() != 18)
+		{
+			//与该模式长度不匹配
+			return false;
+		}
+
 		if (barcode.length() == 17)
 		{
 			barcode = CLewaimaiString::BuZifuLeft(barcode, 1, '0');

+ 2 - 0
zhipuzi_pos_windows/wnd/CMainWnd.cpp

@@ -834,6 +834,8 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
 				m_is_start_catch = false;
 
 				m_catch_string = "";
+
+				m_is_next_daxie = false;
 			}
 		}
 	}