|
|
@@ -7,6 +7,8 @@
|
|
|
#include "../helper/CComHelper.h"
|
|
|
#include "../tool/CChengzhongWorker.h"
|
|
|
|
|
|
+#include <boost/array.hpp>
|
|
|
+
|
|
|
CSettingPageUI::CSettingPageUI()
|
|
|
{
|
|
|
|
|
|
@@ -415,7 +417,7 @@ void CSettingPageUI::InitShow()
|
|
|
{
|
|
|
com->SetInternVisible(true);
|
|
|
com->SelectItem(0, false, false);
|
|
|
- com->SetText(L"大华ACS-30Ab");
|
|
|
+ com->SetText(L"大华ACS系列");
|
|
|
}
|
|
|
|
|
|
//串口下拉框默认选中
|
|
|
@@ -496,6 +498,74 @@ void CSettingPageUI::InitShow()
|
|
|
com->SetText(L"38400");
|
|
|
}
|
|
|
|
|
|
+ //标签秤设置
|
|
|
+ com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_tiaomacheng_geshi")));
|
|
|
+ std::string setting_tiaomacheng_geshi = CSetting::GetParam("setting_tiaomacheng_geshi");
|
|
|
+
|
|
|
+ if (setting_tiaomacheng_geshi == "1")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(0, false, false);
|
|
|
+ com->SetText(L"13位【FWWWWWWEEEEEC】");
|
|
|
+ }
|
|
|
+ else if (setting_tiaomacheng_geshi == "2")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(1, false, false);
|
|
|
+ com->SetText(L"13位【FWWWWWWNNNNNC】");
|
|
|
+ }
|
|
|
+ else if (setting_tiaomacheng_geshi == "3")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(2, false, false);
|
|
|
+ com->SetText(L"13位【FFWWWWWEEEEEC】");
|
|
|
+ }
|
|
|
+ else if (setting_tiaomacheng_geshi == "4")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(3, false, false);
|
|
|
+ com->SetText(L"13位【FFWWWWWNNNNNC】");
|
|
|
+ }
|
|
|
+ else if (setting_tiaomacheng_geshi == "5")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(4, false, false);
|
|
|
+ com->SetText(L"18位【FWWWWWWEEEEENNNNNC】");
|
|
|
+ }
|
|
|
+ else if (setting_tiaomacheng_geshi == "6")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(5, false, false);
|
|
|
+ com->SetText(L"18位【FWWWWWWNNNNNEEEEEC】");
|
|
|
+ }
|
|
|
+ else if (setting_tiaomacheng_geshi == "7")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(6, false, false);
|
|
|
+ com->SetText(L"18位【FFWWWWWEEEEENNNNNC】");
|
|
|
+ }
|
|
|
+ else if (setting_tiaomacheng_geshi == "8")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(6, false, false);
|
|
|
+ com->SetText(L"18位【FFWWWWWNNNNNEEEEEC】");
|
|
|
+ }
|
|
|
+
|
|
|
+ com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_tiaomacheng_xinghao")));
|
|
|
+ std::string setting_tiaomacheng_xinghao = CSetting::GetParam("setting_tiaomacheng_xinghao");
|
|
|
+
|
|
|
+ if (setting_tiaomacheng_xinghao == "dahua_tm")
|
|
|
+ {
|
|
|
+ com->SetInternVisible(true);
|
|
|
+ com->SelectItem(0, false, false);
|
|
|
+ com->SetText(L"大华TM系列");
|
|
|
+ }
|
|
|
+
|
|
|
+ std::string setting_tiaomacheng_ip = CSetting::GetParam("setting_tiaomacheng_ip");
|
|
|
+
|
|
|
+ CEditUI* tiaoma_ip_edit = static_cast<CEditUI*>(this->FindSubControl(_T("setting_tiaomacheng_ip")));
|
|
|
+ tiaoma_ip_edit->SetText(CLewaimaiString::UTF8ToUnicode(setting_tiaomacheng_ip).c_str());
|
|
|
+
|
|
|
//系统设置
|
|
|
box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_auto_start")));
|
|
|
if (CSetting::GetParam("setting_is_auto_start") == "1")
|
|
|
@@ -1233,6 +1303,17 @@ void CSettingPageUI::HandleClickMsg(TNotifyUI& msg)
|
|
|
CSetting::DelChufangPrinter(CLewaimaiString::UnicodeToUTF8(date));
|
|
|
pPrinterList->Remove(pEle);
|
|
|
}
|
|
|
+ else if (name == L"setting_tiaomacheng_saveip")
|
|
|
+ {
|
|
|
+ CEditUI* wangkou_ip = static_cast<CEditUI*>(this->FindSubControl(_T("setting_tiaomacheng_ip")));
|
|
|
+ wstring ip = wangkou_ip->GetText();
|
|
|
+
|
|
|
+ CSetting::SetParam("setting_tiaomacheng_ip", CLewaimaiString::UnicodeToUTF8(ip));
|
|
|
+ }
|
|
|
+ else if (name == L"setting_tiaomacheng_tongbushangpin")
|
|
|
+ {
|
|
|
+ this->StartTongbuBiaoqiancheng();
|
|
|
+ }
|
|
|
else if (name == _T("setting_logout"))
|
|
|
{
|
|
|
//退出登录
|
|
|
@@ -1276,21 +1357,26 @@ void CSettingPageUI::HandleSelectChangeMsg(TNotifyUI& msg)
|
|
|
CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
|
|
|
pControl->SelectItem(5);
|
|
|
}
|
|
|
- else if (name == _T("setting_xianshi_switch"))
|
|
|
+ else if (name == _T("setting_tiaomacheng_switch"))
|
|
|
{
|
|
|
CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
|
|
|
pControl->SelectItem(6);
|
|
|
}
|
|
|
- else if (name == _T("setting_system_switch"))
|
|
|
+ else if (name == _T("setting_xianshi_switch"))
|
|
|
{
|
|
|
CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
|
|
|
pControl->SelectItem(7);
|
|
|
}
|
|
|
- else if (name == _T("setting_system_about"))
|
|
|
+ else if (name == _T("setting_system_switch"))
|
|
|
{
|
|
|
CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
|
|
|
pControl->SelectItem(8);
|
|
|
}
|
|
|
+ else if (name == _T("setting_system_about"))
|
|
|
+ {
|
|
|
+ CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
|
|
|
+ pControl->SelectItem(9);
|
|
|
+ }
|
|
|
else if (name == _T("xianshi_setting_youtu"))
|
|
|
{
|
|
|
CSetting::SetParam("setting_xianshi_is_youtu", "1");
|
|
|
@@ -1501,6 +1587,22 @@ void CSettingPageUI::HandleItemSelectMsg(TNotifyUI& msg)
|
|
|
|
|
|
CChengzhongWorker::GetInstance()->RestartWork();
|
|
|
}
|
|
|
+ else if (name == _T("setting_tiaomacheng_geshi"))
|
|
|
+ {
|
|
|
+ CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_tiaomacheng_geshi")));
|
|
|
+ int nSelect = com->GetCurSel();
|
|
|
+
|
|
|
+ CSetting::SetParam("setting_tiaomacheng_geshi", to_string(nSelect + 1));
|
|
|
+ }
|
|
|
+ else if (name == _T("setting_tiaomacheng_xinghao"))
|
|
|
+ {
|
|
|
+ CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_tiaomacheng_xinghao")));
|
|
|
+
|
|
|
+ if (com->GetCurSel() == 0)
|
|
|
+ {
|
|
|
+ CSetting::SetParam("setting_tiaomacheng_xinghao", "dahua_tm");
|
|
|
+ }
|
|
|
+ }
|
|
|
else if (name == _T("setting_biaoqian_printer_usb"))
|
|
|
{
|
|
|
CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_usb")));
|
|
|
@@ -1554,4 +1656,118 @@ void CSettingPageUI::HandleTextChangedMsg(TNotifyUI& msg)
|
|
|
void CSettingPageUI::HandleTextCapture(std::string content)
|
|
|
{
|
|
|
|
|
|
+}
|
|
|
+
|
|
|
+void CSettingPageUI::StartTongbuBiaoqiancheng()
|
|
|
+{
|
|
|
+ boost::asio::io_service m_io;
|
|
|
+ boost::asio::ip::tcp::socket m_socket(m_io);
|
|
|
+
|
|
|
+ //读取厨房打印机信息
|
|
|
+ std::string ip = CSetting::GetParam("setting_tiaomacheng_ip");
|
|
|
+
|
|
|
+
|
|
|
+ //初始化连接
|
|
|
+ try
|
|
|
+ {
|
|
|
+ boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string(ip.c_str()), 4001);
|
|
|
+ m_socket.connect(ep);
|
|
|
+ }
|
|
|
+ catch (std::exception& e)
|
|
|
+ {
|
|
|
+ std::string err = e.what();
|
|
|
+ LOG_INFO("厨房网口打印机连接失败,IP地址:" << ip.c_str() << ",错误信息:" << err.c_str());
|
|
|
+
|
|
|
+ MessageBoxW(NULL, (L"厨房网口打印机连接失败,IP地址:" + CLewaimaiString::UTF8ToUnicode(ip)).c_str(), L"打印机连接失败", MB_OK);
|
|
|
+
|
|
|
+ //连接失败了,处理下一个厨房打印机
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //!0V + 4位PLU + A + 7位商品编码 + 6位数价格(单位分) + 模式(0:称重,1:计件,2:定重) + 000000 + 3位有效期 + 2位店号(01-99)+ 000000000000000 + 2位皮重(00-15)+
|
|
|
+ //+ 0000000000000000000000000000000B + 商品名称区位码 + CDE + 换行符
|
|
|
+
|
|
|
+ //这个是要发送的数据
|
|
|
+ std::string data = "";
|
|
|
+
|
|
|
+ CSqlite3 sqlite;
|
|
|
+
|
|
|
+ /*
|
|
|
+ //先发送清空命令
|
|
|
+ data += "!0IA";
|
|
|
+ data += 0x0d;
|
|
|
+
|
|
|
+ data += 0x0a;
|
|
|
+
|
|
|
+ //data += 0x03;
|
|
|
+
|
|
|
+ data += "!0HA";
|
|
|
+ data += 0x0d;
|
|
|
+
|
|
|
+ data += 0x0a;
|
|
|
+
|
|
|
+ //data += 0x03;
|
|
|
+ //*/
|
|
|
+
|
|
|
+ for (int i = 1; i <= 1; i++)
|
|
|
+ {
|
|
|
+ data += "!0V";
|
|
|
+
|
|
|
+ data += "1001";
|
|
|
+
|
|
|
+ data += "A";
|
|
|
+
|
|
|
+ std::string shangpin_bianma = to_string(50000 + i);
|
|
|
+
|
|
|
+ data += CLewaimaiString::BuZifuLeft(shangpin_bianma, 2, '0');
|
|
|
+
|
|
|
+ std::string price = to_string((int)(5.50 * 100));
|
|
|
+
|
|
|
+ data += CLewaimaiString::BuZifuLeft(price, 6 - price.length(), '0');
|
|
|
+
|
|
|
+ data += '0';
|
|
|
+
|
|
|
+ data += "000000";
|
|
|
+
|
|
|
+ //有效期
|
|
|
+ data += "000";
|
|
|
+
|
|
|
+ //店号
|
|
|
+ data += "01";
|
|
|
+
|
|
|
+ data += "000000000000000";
|
|
|
+
|
|
|
+ data += "00";
|
|
|
+
|
|
|
+ data += "0000000000000000000000000000000B";
|
|
|
+
|
|
|
+ std::string quweima = CLewaimaiString::GetQuweima(L"刘刘1刘abc");
|
|
|
+
|
|
|
+ data += quweima;
|
|
|
+
|
|
|
+ data += "CDE";
|
|
|
+
|
|
|
+ data += 0x0d;
|
|
|
+
|
|
|
+ data += 0x0a;
|
|
|
+
|
|
|
+ //data += 0x03;
|
|
|
+ }
|
|
|
+
|
|
|
+ //网口走这里
|
|
|
+ try
|
|
|
+ {
|
|
|
+ m_socket.write_some(boost::asio::buffer(data.c_str(), data.length()));
|
|
|
+ }
|
|
|
+ catch (const std::exception& e)
|
|
|
+ {
|
|
|
+ LOG_INFO("网口打印机发送消息失败,错误信息:" << e.what());
|
|
|
+ }
|
|
|
+
|
|
|
+ boost::array<char, 128> buf;
|
|
|
+ boost::system::error_code error;
|
|
|
+
|
|
|
+ size_t len = m_socket.read_some(boost::asio::buffer(buf), error);
|
|
|
+
|
|
|
+ m_socket.close();
|
|
|
}
|