|
|
@@ -1621,14 +1621,6 @@ void CSettingPageUI::HandleClickMsg(TNotifyUI& msg)
|
|
|
{
|
|
|
this->StartTongbuBiaoqiancheng();
|
|
|
}
|
|
|
- else if (name == L"setting_tiaomacheng_tongburejian")
|
|
|
- {
|
|
|
- this->StartTongbuRejian();
|
|
|
- }
|
|
|
- else if (name == L"setting_tiaomacheng_qingkongplu")
|
|
|
- {
|
|
|
- this->StartQiongkongPLU();
|
|
|
- }
|
|
|
else if (name == _T("setting_is_ai_recognition_open"))
|
|
|
{
|
|
|
CCheckBoxUI * box = static_cast<CCheckBoxUI *>(this->FindSubControl(_T("setting_is_ai_recognition_open")));
|
|
|
@@ -2427,7 +2419,17 @@ void CSettingPageUI::StartTongbuBiaoqiancheng()
|
|
|
std::thread(&CSettingPageUI::HandleTongbuBiaoqiancheng, this).detach();
|
|
|
}
|
|
|
|
|
|
+//分三步处理,第一步:清空标签秤现有数据 第二步:传输商品数据; 第三步:设置快捷键
|
|
|
void CSettingPageUI::HandleTongbuBiaoqiancheng()
|
|
|
+{
|
|
|
+ this->HandleQiongkongPLU();
|
|
|
+
|
|
|
+ this->HandleTongbuPLU();
|
|
|
+
|
|
|
+ this->HandleTongbuRejian();
|
|
|
+}
|
|
|
+
|
|
|
+void CSettingPageUI::HandleTongbuPLU()
|
|
|
{
|
|
|
boost::asio::io_context m_io;
|
|
|
boost::asio::ip::tcp::socket m_socket(m_io);
|
|
|
@@ -2477,25 +2479,21 @@ void CSettingPageUI::HandleTongbuBiaoqiancheng()
|
|
|
}
|
|
|
|
|
|
std::string plu = std::to_string(n_plu);
|
|
|
+
|
|
|
+ //左边补0,补到4位
|
|
|
plu = CLewaimaiString::BuZifuLeft(plu, 4 - plu.length(), '0');
|
|
|
data += plu;
|
|
|
|
|
|
data += "A";
|
|
|
|
|
|
//处理商品编码
|
|
|
- int n_bianma = atoi(it->weight_food_code.c_str());
|
|
|
- if (n_bianma < 1)
|
|
|
- {
|
|
|
- //无效的编码
|
|
|
- continue;
|
|
|
- }
|
|
|
- else if (n_bianma > 999999)
|
|
|
- {
|
|
|
- //无效的编码
|
|
|
- continue;
|
|
|
- }
|
|
|
+
|
|
|
+ //这里我们把商品编码设置为跟PLU一样的,比如PLU是123,那么商品编码就是0000123
|
|
|
+ int n_bianma = n_plu;
|
|
|
|
|
|
std::string bianma = std::to_string(n_bianma);
|
|
|
+
|
|
|
+ //左边补0,补到7位
|
|
|
bianma = CLewaimaiString::BuZifuLeft(bianma, 7 - bianma.length(), '0');
|
|
|
data += bianma;
|
|
|
|
|
|
@@ -2548,17 +2546,13 @@ void CSettingPageUI::HandleTongbuBiaoqiancheng()
|
|
|
size_t len = m_socket.read_some(boost::asio::buffer(buf), error);
|
|
|
std::string result = buf;
|
|
|
|
|
|
+ //秤端接收成功后通常返回特定字节集(如 {48,118,48,48,48,49,97,48,13,10,3} 对应的 ASCII 字符),开发者需解析该返回值判断同步状态 。
|
|
|
LOG_INFO("发送PLU命令成功,返回信息:" << buf);
|
|
|
}
|
|
|
|
|
|
m_socket.close();
|
|
|
}
|
|
|
|
|
|
-void CSettingPageUI::StartTongbuRejian()
|
|
|
-{
|
|
|
- std::thread(&CSettingPageUI::HandleTongbuRejian, this).detach();
|
|
|
-}
|
|
|
-
|
|
|
void CSettingPageUI::HandleTongbuRejian()
|
|
|
{
|
|
|
boost::asio::io_context m_io;
|
|
|
@@ -2738,11 +2732,6 @@ void CSettingPageUI::HandleTongbuRejian()
|
|
|
m_socket.close();
|
|
|
}
|
|
|
|
|
|
-void CSettingPageUI::StartQiongkongPLU()
|
|
|
-{
|
|
|
- std::thread(&CSettingPageUI::HandleQiongkongPLU, this).detach();
|
|
|
-}
|
|
|
-
|
|
|
void CSettingPageUI::HandleQiongkongPLU()
|
|
|
{
|
|
|
boost::asio::io_context m_io;
|