439设备单独处理清除历史扫描计数

This commit is contained in:
yangjiaxuan 2023-08-08 18:27:12 +08:00
parent f557cd2340
commit b139e3fb32
1 changed files with 59 additions and 2 deletions

View File

@ -1644,9 +1644,66 @@ int hg_scanner_239::set_clear_roller_num(void)
} }
int hg_scanner_239::set_clear_history_num(void) int hg_scanner_239::set_clear_history_num(void)
{ {
std::lock_guard<std::mutex> lock(io_lock_); string device_log_path = "/usr/local/huago/scannerinfo.json";
int val = 0, string str;
int ret = SCANNER_ERR_OK;
int buffersize = 0;
int len = device_log_path.size();
if (pid_ == 0x439)
{
ret = write_register(setting3399::SR_SET_JSON_PATH, len);
if (ret == SCANNER_ERR_OK)
ret = io_->write_bulk(&device_log_path[0], &len);
if (ret == SCANNER_ERR_OK)
ret = read_register(setting3399::SR_GET_JSON_SIZE, &buffersize);
if (ret == SCANNER_ERR_OK && buffersize > 0)
ret = write_register(setting3399::SR_GET_JSON, buffersize);
if (ret == SCANNER_ERR_OK && buffersize > 0)
{
str.resize(buffersize);
ret = io_->read_bulk(&str[0], &buffersize);
}
std::string str2;
json js = json::parse(str);
if (js.contains("TotalScanned"))
{
js["TotalScanned"] = 0;
str2 = js.dump();
}
int buffersize = 0;
int len = device_log_path.size();
int lenstr = str2.size();
io_->set_timeout(3000);
ret = write_register(setting3399::SR_SET_JSON_PATH, len);
if (ret != SCANNER_ERR_OK)
return ret;
ret = io_->write_bulk(&device_log_path[0], &len);
if (ret != SCANNER_ERR_OK)
return ret;
ret = write_register(setting3399::SR_SET_JSON, lenstr);
if (ret != SCANNER_ERR_OK)
return ret;
ret = io_->write_bulk(&str2[0], &lenstr);
if (ret != SCANNER_ERR_OK)
return ret;
}
else
{
std::lock_guard<std::mutex> lock(io_lock_);
int val = 0;
ret = read_register(setting3399::SR_CLR_SCANN_NUM, &val); ret = read_register(setting3399::SR_CLR_SCANN_NUM, &val);
}
return ret; return ret;
} }