Commit 97e06cb92f44a768de4afa35d01e9f53ce952211

Authored by liuye
1 parent 04171be4

bugfix<card>修复新中新读卡器读取身份证时,性别错误的问题

新中新读卡器读取时,数据会有空格,要把空格去掉

Signed-off-by: liuye <liuye@diligrp.com>
etrade_card_client/ETradeClient.rc
... ... @@ -246,8 +246,8 @@ END
246 246 //
247 247  
248 248 VS_VERSION_INFO VERSIONINFO
249   - FILEVERSION 4,0,1,0
250   - PRODUCTVERSION 4,0,1,0
  249 + FILEVERSION 4,0,2,0
  250 + PRODUCTVERSION 4,0,2,0
251 251 FILEFLAGSMASK 0x3fL
252 252 #ifdef _DEBUG
253 253 FILEFLAGS 0x1L
... ... @@ -264,12 +264,12 @@ BEGIN
264 264 BEGIN
265 265 VALUE "CompanyName", "地利集团【DILI GROUP】"
266 266 VALUE "FileDescription", "电子交易结算柜员系统【ETradeClient】"
267   - VALUE "FileVersion", "4.0.1.0"
  267 + VALUE "FileVersion", "4.0.2.0"
268 268 VALUE "InternalName", "电子交易结算柜员系统"
269 269 VALUE "LegalCopyright", "(C) 地利集团保留所有权利。"
270 270 VALUE "OriginalFilename", "电子交易结算柜员系统"
271 271 VALUE "ProductName", "电子交易结算柜员系统"
272   - VALUE "ProductVersion", "4.0.1.0"
  272 + VALUE "ProductVersion", "4.0.2.0"
273 273 END
274 274 END
275 275 BLOCK "VarFileInfo"
... ...
etrade_card_client/ETradeClient/hardware/hardware_cmd.cpp
... ... @@ -410,6 +410,8 @@ ReadPINPadCmd::Reply ReadIDCardCmd::Execute(const std::string&amp; input)
410 410 break;
411 411 }
412 412  
  413 + //读卡器读出来的数据中可能带空格,要去掉
  414 + id_card_info.Trim();
413 415  
414 416 reply.data.put("id", wstr_2_str(id_card_info.id_code));
415 417 reply.data.put("name", wstr_2_str(id_card_info.name)); // Use 'wstr_2_str' to convert to UTF-8 string.
... ...
etrade_card_client/ETradeClient/hardware/id_card_reader.h
... ... @@ -21,6 +21,20 @@ struct IDCardInfo
21 21 std::wstring start_date;
22 22 std::wstring end_date;
23 23 std::wstring portrait_img_path;
  24 +
  25 + void Trim()
  26 + {
  27 + name = name.substr(name.find_first_not_of(' '), name.find_last_not_of(' ') + 1);
  28 + gender = gender.substr(gender.find_first_not_of(' '), gender.find_last_not_of(' ') + 1);
  29 + nation = nation.substr(nation.find_first_not_of(' '), nation.find_last_not_of(' ') + 1);
  30 + birth_date = birth_date.substr(birth_date.find_first_not_of(' '), birth_date.find_last_not_of(' ') + 1);
  31 + address = address.substr(address.find_first_not_of(' '), address.find_last_not_of(' ') + 1);
  32 + id_code = id_code.substr(id_code.find_first_not_of(' '), id_code.find_last_not_of(' ') + 1);
  33 + depart = depart.substr(depart.find_first_not_of(' '), depart.find_last_not_of(' ') + 1);
  34 + start_date = start_date.substr(start_date.find_first_not_of(' '), start_date.find_last_not_of(' ') + 1);
  35 + end_date = end_date.substr(end_date.find_first_not_of(' '), end_date.find_last_not_of(' ') + 1);
  36 + portrait_img_path = portrait_img_path.substr(portrait_img_path.find_first_not_of(' '), portrait_img_path.find_last_not_of(' ') + 1);
  37 + }
24 38 };
25 39  
26 40 class IDCardReader
... ...