|
@@ -536,6 +536,12 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
|
|
|
+ ULLINT OpenRFControlTime = 0;
|
|
|
+ ULLINT CloseRFControlTime = 0;
|
|
|
+ ULLINT IDCerAuthenticateTime = 0;
|
|
|
+ ULLINT IDCerGetDataEx2Time = 0;
|
|
|
+ ULLINT ScanIDAndSaveImageTime = 0;
|
|
|
+
|
|
|
DWORD elapsed = 0;
|
|
|
DWORD dwStart = SP::Module::Comm::RVCGetTickCount();
|
|
|
DWORD dwEnd = SP::Module::Comm::RVCGetTickCount();
|
|
@@ -589,10 +595,12 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
errRfOpen = m_hDevHelper->IDCerRFControl(true);
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ OpenRFControlTime = m_ullEndTime - m_ullBeginTime;
|
|
|
if (Error_Succeed == errRfOpen)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::IDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
+ .setAPI("DevAdapter::IDCerRFControl").setLogCode(IDCertService_LogCode_OpenIDCerRFControl)
|
|
|
+ .setCostTime(OpenRFControlTime)();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -609,6 +617,7 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
errAuth = m_hDevHelper->IDCerAuthenticate();
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ IDCerAuthenticateTime = m_ullEndTime - m_ullBeginTime;
|
|
|
if (Error_Succeed != errAuth)
|
|
|
{
|
|
|
dwEnd = SP::Module::Comm::RVCGetTickCount();
|
|
@@ -618,12 +627,13 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
else
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::IDCerAuthenticate").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
+ .setAPI("DevAdapter::IDCerAuthenticate").setCostTime(IDCerAuthenticateTime)();
|
|
|
bIDCerAuthenticate = true;
|
|
|
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
errReadEx2 = m_hDevHelper->IDCerGetDataEx2(idInfoEx2);
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ IDCerGetDataEx2Time = m_ullEndTime - m_ullBeginTime;
|
|
|
|
|
|
if (errReadEx2 == Error_NotImpl)
|
|
|
{
|
|
@@ -659,8 +669,7 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
unsigned char IssuedSN[1024]; memset(IssuedSN, 0, 1024); //换证次数
|
|
|
|
|
|
DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER)
|
|
|
- .setAPI("DevAdapter::IDCerGetDataEx2").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- .setLogCode(IDCertService_LogCode_ReadAndScanUTF8)();
|
|
|
+ .setAPI("DevAdapter::IDCerGetDataEx2").setCostTime(IDCerGetDataEx2Time)();
|
|
|
bReadSuccess = true;
|
|
|
LogEvent(Severity_Middle, LOG_EVT_IDCERTIFICATE_OP, "IDCertifacate op.");
|
|
|
|
|
@@ -816,10 +825,13 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
eErr = m_hDevHelper->ScanIDAndSaveImage();
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ ScanIDAndSaveImageTime = m_ullEndTime - m_ullBeginTime;
|
|
|
+
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
curDeleteType = Bmp_ZP | Bmp_SCAN;
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage")
|
|
|
+ .setCostTime(ScanIDAndSaveImageTime)();
|
|
|
|
|
|
transImgMsg.Clear();
|
|
|
//idfront.bmp" and "idback.bmp
|
|
@@ -867,7 +879,7 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
{
|
|
|
if (eErr != Error_NotImpl)
|
|
|
SetErrorAndLog(eErr, MEC_DEVAPI_IDCER_ScanIDAndSaveImage, "DevAdapter::ScanIDAndSaveImage", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
+ false, ScanIDAndSaveImageTime);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -904,114 +916,21 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
m_bReading = false;
|
|
|
LogEvent(Severity_Middle, LOG_EVT_IDCERTIFICATE_GREEN_OFF, "IDCer warning off");
|
|
|
|
|
|
- int pos = 99;
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum eErr1 = m_hDevHelper->QueryCardPos(pos);
|
|
|
+ ErrorCodeEnum eErr1 = m_hDevHelper->IDCerRFControl(false);
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr1 == Error_NotImpl)
|
|
|
+ CloseRFControlTime = m_ullEndTime - m_ullBeginTime;
|
|
|
+
|
|
|
+ if (eErr1 != Error_Succeed)
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- ("old version.no need position.");
|
|
|
+ SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ false, CloseRFControlTime, IDCertService_LogCode_CloseIDCerRFControl);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (eErr1 == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- switch (pos)
|
|
|
- {
|
|
|
- case 1:
|
|
|
- case 2:
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- eErr1 = m_hDevHelper->IDCerRFControl(false);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr1 != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime);
|
|
|
-
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errEject = m_hDevHelper->ForceIDEject();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
-
|
|
|
- if (errEject != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(errEject, MEC_DEVAPI_IDCER_ForceIDEject, "DevAdapter::ForceIDEject", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ForceIDEject").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
-
|
|
|
- CheckEjectCardRes(eErr1, errEject);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::CloseIDCerRFControl")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
- break;
|
|
|
- case 0:
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_QueryCardPos, "DevAdapter::QueryCardPos", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
- }
|
|
|
-
|
|
|
- //查询卡片位置以决定跳转
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- eErr1 = m_hDevHelper->QueryCardPos(pos);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr1 == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_QueryCardPos, "DevAdapter::QueryCardPos", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (eErr1 != Error_Succeed || (eErr1 == Error_Succeed && (pos != 0)))
|
|
|
- {
|
|
|
- //oilyang@20180531 add for close enter card
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errRf = m_hDevHelper->IDCerRFControl(false);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (errRf != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(errRf, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::CloseIDCerRFControl", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errEject = m_hDevHelper->ForceIDEject();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
-
|
|
|
- if (errEject != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(errEject, MEC_DEVAPI_IDCER_ForceIDEject, "DevAdapter::ForceIDEject", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::ForceIDEject").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
-
|
|
|
- CheckEjectCardRes(errRf, errEject);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::CloseIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::IDCerRFControl")
|
|
|
+ .setLogCode(IDCertService_LogCode_CloseIDCerRFControl)
|
|
|
+ .setCostTime(CloseRFControlTime)();
|
|
|
}
|
|
|
|
|
|
if (bGetIDCert)
|
|
@@ -1028,14 +947,14 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
if (bInvokeReadEx2 && !bReadSuccess) {
|
|
|
|
|
|
SetErrorAndLog(errReadEx2, MEC_DEVAPI_IDCER_IDCerGetDataEx2, "DevAdapter::IDCerGetDataEx2", __FUNCTION__,
|
|
|
- true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
+ true, IDCerGetDataEx2Time);
|
|
|
ctx->Answer(Error_TimeOut, GetAlarmDEC()); //RTA2109
|
|
|
}
|
|
|
}
|
|
|
else if (!bOpenRF)
|
|
|
{
|
|
|
- SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::OpenIDCerRFControl", __FUNCTION__,
|
|
|
- true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
+ SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ true, OpenRFControlTime, IDCertService_LogCode_OpenIDCerRFControl);
|
|
|
ctx->Answer(Error_TimeOut, GetAlarmDEC());
|
|
|
}
|
|
|
else
|
|
@@ -1043,36 +962,30 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
if (errAuth == Error_DevMedia)
|
|
|
{
|
|
|
LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_Timeout_OtherCard, "读证超时,插入的卡片非身份.");
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(IDCertService_LogCode_ReadAndScanUTF8)();
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI("DevAdapter::IDCerAuthenticate").setCostTime(IDCerAuthenticateTime)();
|
|
|
ctx->Answer(Error_TimeOut);
|
|
|
}
|
|
|
else if(errAuth == Error_Dev_IDCardNotFound)
|
|
|
{
|
|
|
LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_Timeout_NoCard, "读证超时,未检测到有卡片插入.");
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(IDCertService_LogCode_ReadAndScanUTF8)();
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI("DevAdapter::IDCerAuthenticate").setCostTime(IDCerAuthenticateTime)();
|
|
|
ctx->Answer(Error_TimeOut);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
SetErrorAndLog(errAuth, MEC_DEVAPI_IDCER_IDCerAuthenticate, "DevAdapter::IDCerAuthenticate", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8); //RTA2107
|
|
|
+ false, IDCerAuthenticateTime); //RTA2107
|
|
|
ctx->Answer(Error_Unexpect, GetAlarmDEC());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setLogCode(IDCertService_LogCode_ReadAndScanUTF8).setResultCode("RTA2104")("ReadAndScanUTF8 some thing wrong.");
|
|
|
+ DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setResultCode("RTA2104")("ReadAndScanUTF8JS some thing wrong.");
|
|
|
ctx->Answer(Error_Unexpect, IDCertificate_UserErrorCode_ReadAndScan_Failed);
|
|
|
LogError(Severity_High, Error_Unexpect, IDCertificate_UserErrorCode_ReadAndScan_Failed, "ReadAndScanUTF8 some thing wrong.");
|
|
|
}
|
|
|
|
|
|
- if (eErr1 == Error_Succeed && pos == 2)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("return 4");
|
|
|
- return 4;
|
|
|
- }
|
|
|
-
|
|
|
if (m_bCancelRead)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("return 2");
|
|
@@ -1095,6 +1008,12 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
|
|
|
+ ULLINT OpenRFControlTime = 0;
|
|
|
+ ULLINT CloseRFControlTime = 0;
|
|
|
+ ULLINT IDCerAuthenticateTime = 0;
|
|
|
+ ULLINT IDCerGetDataEx2Time = 0;
|
|
|
+ ULLINT ScanIDAndSaveImageTime = 0;
|
|
|
+
|
|
|
DWORD elapsed = 0;
|
|
|
DWORD dwStart = SP::Module::Comm::RVCGetTickCount();
|
|
|
DWORD dwEnd = SP::Module::Comm::RVCGetTickCount();
|
|
@@ -1148,11 +1067,13 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
errRfOpen = m_hDevHelper->IDCerRFControl(true);
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ OpenRFControlTime = m_ullEndTime - m_ullBeginTime;
|
|
|
|
|
|
if (Error_Succeed == errRfOpen)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::OpenIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
+ .setAPI("DevAdapter::IDCerRFControl").setLogCode(IDCertService_LogCode_OpenIDCerRFControl)
|
|
|
+ .setCostTime(OpenRFControlTime)();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -1169,6 +1090,8 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
errAuth = m_hDevHelper->IDCerAuthenticate();
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ IDCerAuthenticateTime = m_ullEndTime - m_ullBeginTime;
|
|
|
+
|
|
|
if (Error_Succeed != errAuth)
|
|
|
{
|
|
|
dwEnd = SP::Module::Comm::RVCGetTickCount();
|
|
@@ -1178,12 +1101,14 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
else
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::IDCerAuthenticate").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
+ .setAPI("DevAdapter::IDCerAuthenticate").setCostTime(IDCerAuthenticateTime)();
|
|
|
bIDCerAuthenticate = true;
|
|
|
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
errReadEx2 = m_hDevHelper->IDCerGetDataEx2(idInfoEx2);
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ IDCerGetDataEx2Time = m_ullEndTime - m_ullBeginTime;
|
|
|
+
|
|
|
if (errReadEx2 == Error_NotImpl)
|
|
|
{
|
|
|
ctx->Ans.msgtype = 0; //旧字段传递,GBK、字符串传递文字信息
|
|
@@ -1218,8 +1143,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
unsigned char IssuedSN[1024]; memset(IssuedSN, 0, 1024); //换证次数
|
|
|
|
|
|
DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER)
|
|
|
- .setAPI("DevAdapter::IDCerGetDataEx2").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- .setLogCode(IDCertService_LogCode_ReadAndScanUTF8JS)();
|
|
|
+ .setAPI("DevAdapter::IDCerGetDataEx2").setCostTime(IDCerGetDataEx2Time)();
|
|
|
bReadSuccess = true;
|
|
|
LogEvent(Severity_Middle, LOG_EVT_IDCERTIFICATE_OP, "IDCertifacate op.");
|
|
|
|
|
@@ -1375,10 +1299,13 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
eErr = m_hDevHelper->ScanIDAndSaveImage();
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ ScanIDAndSaveImageTime = m_ullEndTime - m_ullBeginTime;
|
|
|
+
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
curDeleteType = Bmp_ZP | Bmp_SCAN;
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage")
|
|
|
+ .setCostTime(ScanIDAndSaveImageTime)();
|
|
|
|
|
|
transImgMsg.Clear();
|
|
|
//idfront.bmp" and "idback.bmp
|
|
@@ -1426,7 +1353,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
{
|
|
|
if(eErr != Error_NotImpl)
|
|
|
SetErrorAndLog(eErr, MEC_DEVAPI_IDCER_ScanIDAndSaveImage, "DevAdapter::ScanIDAndSaveImage", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
+ false, ScanIDAndSaveImageTime);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1459,135 +1386,25 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
if (m_bExit)
|
|
|
bExitWhenReading = true;
|
|
|
|
|
|
- if (!m_bExit && !bOpenRF && errRfOpen != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::OpenIDCerRFControl", __FUNCTION__,
|
|
|
- true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
-
|
|
|
- /*DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)
|
|
|
- .setResultCode(std::to_string(errRfOpen).c_str())
|
|
|
- ("ReadAndScanUTF8JS::IDCerRFControl Open failed with errcode: %d", errRfOpen);*/
|
|
|
- }
|
|
|
-
|
|
|
m_bExit = false;
|
|
|
m_bReading = false;
|
|
|
LogEvent(Severity_Middle, LOG_EVT_IDCERTIFICATE_GREEN_OFF, "IDCer warning off");
|
|
|
|
|
|
- int pos = 99;
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum eErr1 = m_hDevHelper->QueryCardPos(pos);
|
|
|
+ ErrorCodeEnum eErr1 = m_hDevHelper->IDCerRFControl(false);
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr1 == Error_NotImpl)
|
|
|
+ CloseRFControlTime = m_ullEndTime - m_ullBeginTime;
|
|
|
+
|
|
|
+ if (eErr1 != Error_Succeed)
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- ("old version.no need position.");
|
|
|
+ SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ false, CloseRFControlTime, IDCertService_LogCode_CloseIDCerRFControl);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (eErr1 == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- switch (pos)
|
|
|
- {
|
|
|
- case 1:
|
|
|
- case 2:
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- eErr1 = m_hDevHelper->IDCerRFControl(false);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr1 != Error_Succeed)
|
|
|
- {
|
|
|
- //DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("exec IDCerRFControl(false) failed, force eject...");
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::CloseIDCerRFControl", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime);
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errEject = m_hDevHelper->ForceIDEject();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (errEject != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_ForceIDEject, "DevAdapter::ForceIDEject", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::ForceIDEject").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::CloseIDCerRFControl")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
- break;
|
|
|
- case 0:
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_QueryCardPos, "DevAdapter::QueryCardPos", __FUNCTION__,
|
|
|
- true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
-
|
|
|
- /*DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- .setResultCode("RTA210A")
|
|
|
- ("exec QueryCardPos first time failed.");*/
|
|
|
- }
|
|
|
-
|
|
|
- //查询卡片位置以决定跳转
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- eErr1 = m_hDevHelper->QueryCardPos(pos);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr1 == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_QueryCardPos, "DevAdapter::QueryCardPos", __FUNCTION__,
|
|
|
- true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
-
|
|
|
- /*DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- .setResultCode("RTA210A")
|
|
|
- ("exec QueryCardPos second time failed with errcode: %d", eErr1);*/
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (eErr1 != Error_Succeed || (eErr1 == Error_Succeed && (pos != 0)))
|
|
|
- {
|
|
|
- //oilyang@20180531 add for close enter card
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errRfClose = m_hDevHelper->IDCerRFControl(false);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (errRfClose != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(errRfClose, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::CloseIDCerRFControl", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
-
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errEject = m_hDevHelper->ForceIDEject();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
-
|
|
|
- if (errEject != Error_Succeed)
|
|
|
- {
|
|
|
- SetErrorAndLog(errEject, MEC_DEVAPI_IDCER_ForceIDEject, "DevAdapter::ForceIDEject", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::ForceIDEject").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
- .setAPI("DevAdapter::CloseIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)();
|
|
|
- }
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::IDCerRFControl")
|
|
|
+ .setLogCode(IDCertService_LogCode_CloseIDCerRFControl)
|
|
|
+ .setCostTime(CloseRFControlTime)();
|
|
|
}
|
|
|
|
|
|
if (bGetIDCert)
|
|
@@ -1604,7 +1421,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
if (bInvokeReadEx2 && !bReadSuccess) {
|
|
|
|
|
|
SetErrorAndLog(errReadEx2, MEC_DEVAPI_IDCER_IDCerGetDataEx2, "DevAdapter::IDCerGetDataEx2", __FUNCTION__,
|
|
|
- true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
+ true, IDCerGetDataEx2Time);
|
|
|
//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Invoke IDCerGetDataEx2(Timeout) failed: %s", SpStrError(errReadEx2));
|
|
|
|
|
|
ctx->Answer(Error_TimeOut, GetAlarmDEC()); //RTA2109
|
|
@@ -1612,8 +1429,8 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
}
|
|
|
else if (!bOpenRF)
|
|
|
{
|
|
|
- SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::OpenIDCerRFControl", __FUNCTION__,
|
|
|
- true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
+ SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ true, OpenRFControlTime, IDCertService_LogCode_OpenIDCerRFControl);
|
|
|
//DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Open IDCerRFControl(Timeout) failed: %s", SpStrError(errRfOpen));
|
|
|
|
|
|
ctx->Answer(Error_TimeOut, GetAlarmDEC());
|
|
@@ -1624,36 +1441,30 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
if (errAuth == Error_DevMedia)
|
|
|
{
|
|
|
LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_Timeout_OtherCard, "读证超时,插入的卡片非身份.");
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(IDCertService_LogCode_ReadAndScanUTF8)();
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI("DevAdapter::IDCerAuthenticate").setCostTime(IDCerAuthenticateTime)();
|
|
|
ctx->Answer(Error_TimeOut);
|
|
|
}
|
|
|
else if (errAuth == Error_Dev_IDCardNotFound)
|
|
|
{
|
|
|
LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_Timeout_NoCard, "读证超时,未检测到有卡片插入.");
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(IDCertService_LogCode_ReadAndScanUTF8)();
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI("DevAdapter::IDCerAuthenticate").setCostTime(IDCerAuthenticateTime)();
|
|
|
ctx->Answer(Error_TimeOut);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
SetErrorAndLog(errAuth, MEC_DEVAPI_IDCER_IDCerAuthenticate, "DevAdapter::IDCerAuthenticate", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8); //RTA2107
|
|
|
+ false, IDCerAuthenticateTime); //RTA2107
|
|
|
ctx->Answer(Error_Unexpect, GetAlarmDEC());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setLogCode(IDCertService_LogCode_ReadAndScanUTF8).setResultCode("RTA2104")("ReadAndScanUTF8JS some thing wrong.");
|
|
|
+ DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setResultCode("RTA2104")("ReadAndScanUTF8JS some thing wrong.");
|
|
|
ctx->Answer(Error_Unexpect, IDCertificate_UserErrorCode_ReadAndScan_Failed);
|
|
|
LogError(Severity_High, Error_Unexpect, IDCertificate_UserErrorCode_ReadAndScan_Failed, "ReadAndScanUTF8 some thing wrong.");
|
|
|
}
|
|
|
|
|
|
- if (eErr1 == Error_Succeed && pos == 2)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("return 4");
|
|
|
- return 4;
|
|
|
- }
|
|
|
-
|
|
|
if (m_bCancelRead)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("return 2");
|
|
@@ -2293,51 +2104,6 @@ void CIDCertFSM::CheckHanZi(UINT16* ucs2_code)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void CIDCertFSM::CheckEjectCardRes(ErrorCodeEnum errRf, ErrorCodeEnum errForceIDEject)
|
|
|
-{
|
|
|
- int pos = 99;
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum posErr = m_hDevHelper->QueryCardPos(pos);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
-
|
|
|
- if (posErr == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::QueryCardPos")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- ("执行吐卡后,获取卡片位置成功, pos : %d", pos);
|
|
|
-
|
|
|
- CSimpleStringA warnMsg = CSimpleStringA::Format("RFControl返回:%s. ForceIDEject返回%s. 获取卡片位置 pos = %d.",
|
|
|
- SpStrError(errRf), SpStrError(errForceIDEject), pos);
|
|
|
- switch (pos)
|
|
|
- {
|
|
|
- case 0:
|
|
|
- LogWarn(Severity_Middle, Error_Succeed,
|
|
|
- IDCertificate_UserErrorCode_EjectCardRes_Pos_0, warnMsg.GetData());
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- LogWarn(Severity_Middle, Error_Succeed,
|
|
|
- IDCertificate_UserErrorCode_EjectCardRes_Pos_1, warnMsg.GetData());
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- LogWarn(Severity_Middle, Error_Succeed,
|
|
|
- IDCertificate_UserErrorCode_EjectCardRes_Pos_2, warnMsg.GetData());
|
|
|
- break;
|
|
|
- default:
|
|
|
- LogWarn(Severity_Middle, Error_Succeed,
|
|
|
- IDCertificate_UserErrorCode_EjectCardRes_Pos_X, warnMsg.GetData());
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SetErrorAndLog(posErr, MEC_DEVAPI_IDCER_QueryCardPos, "DevAdapter::QueryCardPos", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
-
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("执行吐卡后,获取卡片位置失败.", posErr);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
CSimpleStringA CIDCertFSM::GetFileHashStr(CSimpleStringA filePath)
|
|
|
{
|
|
|
//calculate file hash value
|