|
|
|
|
@ -140,9 +140,9 @@ void MsgHandler::EncodeMsg(const std::map<std::string, std::string>& msg)
|
|
|
|
|
auto it = msg.find("Title");
|
|
|
|
|
if(it != msg.end())
|
|
|
|
|
{
|
|
|
|
|
if(it->second == "过衡单")
|
|
|
|
|
if(it->second == "五彩湾")
|
|
|
|
|
{
|
|
|
|
|
Print1_3(msg);
|
|
|
|
|
Print1_1(msg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -614,8 +614,30 @@ std::vector<std::string> MsgHandler::split_utf8_by_width(const std::string& str,
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool MsgHandler::check_odd(const std::string date)
|
|
|
|
|
{
|
|
|
|
|
if (!date.empty())
|
|
|
|
|
{
|
|
|
|
|
char lastChar = date.back(); // 获取最后一个字符
|
|
|
|
|
if (std::isdigit(lastChar))
|
|
|
|
|
{
|
|
|
|
|
int lastDigit = lastChar - '0'; // 将字符转换为数字
|
|
|
|
|
if (lastDigit % 2 == 0)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//NP80A打印通用称重
|
|
|
|
|
void MsgHandler::Print1_3(const std::map<std::string, std::string>& msg)
|
|
|
|
|
void MsgHandler::Print1_1(const std::map<std::string, std::string>& msg)
|
|
|
|
|
{
|
|
|
|
|
//这里组装打印输出内容
|
|
|
|
|
std::string szTemp;
|
|
|
|
|
@ -628,34 +650,8 @@ void MsgHandler::Print1_3(const std::map<std::string, std::string>& msg)
|
|
|
|
|
m_PrintData.insert(m_PrintData.end(), {0x1B, 0x40});
|
|
|
|
|
//设置中文模式
|
|
|
|
|
m_PrintData.insert(m_PrintData.end(), {0x1C, 0x21, 0x00});
|
|
|
|
|
//设置居中
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x1B, 0x61, 0x01});
|
|
|
|
|
//设置1号字
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x1D, 0x21, 0x11});
|
|
|
|
|
|
|
|
|
|
//打印转煤单
|
|
|
|
|
// it = msg.find("TitleCorp");
|
|
|
|
|
// if(it != msg.end())
|
|
|
|
|
// {
|
|
|
|
|
// szTemp = ot::UTF8ToGB2312(it->second.c_str()) + ot::UTF8ToGB2312("磅单"); //过衡单
|
|
|
|
|
// }
|
|
|
|
|
// szTemp = ot::UTF8ToGB2312("中电投新疆能源化工集团");
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), szTemp.begin(), szTemp.end());
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x0A});
|
|
|
|
|
// szTemp = ot::UTF8ToGB2312("五彩湾发电有限责任公司");
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), szTemp.begin(), szTemp.end());
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x0A});
|
|
|
|
|
// szTemp = ot::UTF8ToGB2312("计量单");
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), szTemp.begin(), szTemp.end());
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x0A});
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x0A, 0x0A});
|
|
|
|
|
|
|
|
|
|
//设置0号字
|
|
|
|
|
m_PrintData.insert(m_PrintData.end(), {0x1D, 0x21, 0x00});
|
|
|
|
|
// szTemp=ot::UTF8ToGB2312(" ");
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x0A, 0x0A});
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), szTemp.begin(), szTemp.end());
|
|
|
|
|
// m_PrintData.insert(m_PrintData.end(), {0x0A});
|
|
|
|
|
//设置左对齐
|
|
|
|
|
m_PrintData.insert(m_PrintData.end(), {0x1B, 0x61, 0x00});
|
|
|
|
|
//设置页模式
|
|
|
|
|
@ -770,6 +766,7 @@ void MsgHandler::Print1_3(const std::map<std::string, std::string>& msg)
|
|
|
|
|
|
|
|
|
|
m_newObj.clear();
|
|
|
|
|
m_newObj[1] = ("├");
|
|
|
|
|
m_newObj[7] = ("┄");//防伪
|
|
|
|
|
m_newObj[8] = ("┼");
|
|
|
|
|
m_newObj[23] = ("┤");
|
|
|
|
|
blTemp = BuildLine(24,m_newObj);
|
|
|
|
|
@ -873,12 +870,19 @@ void MsgHandler::Print1_3(const std::map<std::string, std::string>& msg)
|
|
|
|
|
m_newObj[0] = ("│");
|
|
|
|
|
m_newObj[26] = ("一次称重时间");
|
|
|
|
|
m_newObj[168] = ("│");
|
|
|
|
|
|
|
|
|
|
it = msg.find("GrossTime");
|
|
|
|
|
if (it != msg.end())
|
|
|
|
|
{
|
|
|
|
|
//防伪
|
|
|
|
|
if (check_odd(it->second) == true)
|
|
|
|
|
{
|
|
|
|
|
m_newObj[196] = it->second;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_newObj[190] = it->second;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_newObj[528] = ("│");
|
|
|
|
|
blTemp = BuildStringLine(m_newObj);
|
|
|
|
|
@ -943,9 +947,17 @@ void MsgHandler::Print1_3(const std::map<std::string, std::string>& msg)
|
|
|
|
|
|
|
|
|
|
it = msg.find("TareTime");
|
|
|
|
|
if (it != msg.end())
|
|
|
|
|
{
|
|
|
|
|
//防伪
|
|
|
|
|
if (check_odd(it->second) == true)
|
|
|
|
|
{
|
|
|
|
|
m_newObj[196] = it->second;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_newObj[190] = it->second;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_newObj[528] = ("│");
|
|
|
|
|
blTemp = BuildStringLine(m_newObj);
|
|
|
|
|
@ -1004,7 +1016,7 @@ void MsgHandler::Print1_3(const std::map<std::string, std::string>& msg)
|
|
|
|
|
|
|
|
|
|
m_newObj[384] = ("│");
|
|
|
|
|
m_newObj[404] = ("kg");
|
|
|
|
|
m_newObj[528] = ("│");
|
|
|
|
|
m_newObj[528] = ("┆");//防伪
|
|
|
|
|
blTemp = BuildStringLine(m_newObj);
|
|
|
|
|
m_PrintData.insert(m_PrintData.end(), blTemp.begin(), blTemp.end());
|
|
|
|
|
m_PrintData.insert(m_PrintData.end(), {0x0A});
|
|
|
|
|
@ -1090,6 +1102,7 @@ void MsgHandler::Print1_3(const std::map<std::string, std::string>& msg)
|
|
|
|
|
m_newObj.clear();
|
|
|
|
|
m_newObj[1] = ("└");
|
|
|
|
|
m_newObj[8] = ("┴");
|
|
|
|
|
m_newObj[9] = ("┄");//防伪
|
|
|
|
|
m_newObj[23] = ("┘");
|
|
|
|
|
blTemp = BuildLine(24, m_newObj);
|
|
|
|
|
m_PrintData.insert(m_PrintData.end(), blTemp.begin(), blTemp.end());
|
|
|
|
|
|