|
|
@@ -810,59 +810,61 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
memcpy(ctx->Ans.reserved_utf8.m_pData, reserved, strlen((char*)reserved)); //新外国人永居证关联字段
|
|
|
memcpy(ctx->Ans.othercode_utf8.m_pData, englishNameEx, strlen((char*)englishNameEx)); //英文名备用字段
|
|
|
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- eErr = m_hDevHelper->ScanIDAndSaveImage();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- ("ReadAndScanUTF8 ScanIDAndSaveImage succeed.");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if(eErr != Error_NotImpl)
|
|
|
- SetErrorAndLog(eErr, MEC_DEVAPI_IDCER_ScanIDAndSaveImage, "DevAdapter::ScanIDAndSaveImage", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
- }
|
|
|
- ctx->Ans.hasscan = 0;
|
|
|
+ GetPngBlobEx(ctx->Ans.headphoto, "zp"); //转换头像图片
|
|
|
|
|
|
- if (eErr == Error_Succeed)
|
|
|
+ ctx->Ans.hasscan = 0;
|
|
|
+ if (igestionVer == TRUE) //吸入式设备才调用正反扫描功能
|
|
|
{
|
|
|
- transImgMsg.Clear();
|
|
|
-
|
|
|
- //idfront.bmp" and "idback.bmp
|
|
|
- ErrorCodeEnum eErrFront, eErrBack;
|
|
|
- eErrFront = GetPngBlobEx(ctx->Ans.frontphoto, "idfront");
|
|
|
- eErrBack = GetPngBlobEx(ctx->Ans.backphoto, "idback", true);
|
|
|
- if (eErrFront == Error_Succeed && eErrBack == Error_Succeed)
|
|
|
+ m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ eErr = m_hDevHelper->ScanIDAndSaveImage();
|
|
|
+ m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ if (eErr == Error_Succeed)
|
|
|
{
|
|
|
- ctx->Ans.hasscan = 1;
|
|
|
-#ifdef RVC_OS_WIN
|
|
|
- if (!closeImgCheck)
|
|
|
- {
|
|
|
- ImgChekTask* frontImgCheck = new ImgChekTask(this);
|
|
|
- frontImgCheck->idNum =/* ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
- frontImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
- frontImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
- frontImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
- frontImgCheck->imgInput = ctx->Ans.frontphoto;
|
|
|
- frontImgCheck->imgType = "正面";
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(frontImgCheck);
|
|
|
-
|
|
|
- ImgChekTask* backImgCheck = new ImgChekTask(this);
|
|
|
- backImgCheck->idNum = /*ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
- backImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
- backImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
- backImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
- backImgCheck->imgInput = ctx->Ans.backphoto;
|
|
|
- frontImgCheck->imgType = "背面";
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(backImgCheck);
|
|
|
- }
|
|
|
-#endif
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
+ ("ReadAndScanUTF8 ScanIDAndSaveImage succeed.");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (igestionVer == TRUE)
|
|
|
+ if (eErr != Error_NotImpl)
|
|
|
+ SetErrorAndLog(eErr, MEC_DEVAPI_IDCER_ScanIDAndSaveImage, "DevAdapter::ScanIDAndSaveImage", __FUNCTION__,
|
|
|
+ false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (eErr == Error_Succeed)
|
|
|
+ {
|
|
|
+ transImgMsg.Clear();
|
|
|
+
|
|
|
+ //idfront.bmp" and "idback.bmp
|
|
|
+ ErrorCodeEnum eErrFront, eErrBack;
|
|
|
+ eErrFront = GetPngBlobEx(ctx->Ans.frontphoto, "idfront");
|
|
|
+ eErrBack = GetPngBlobEx(ctx->Ans.backphoto, "idback", true);
|
|
|
+ if (eErrFront == Error_Succeed && eErrBack == Error_Succeed)
|
|
|
+ {
|
|
|
+ ctx->Ans.hasscan = 1;
|
|
|
+#ifdef RVC_OS_WIN
|
|
|
+ if (!closeImgCheck)
|
|
|
+ {
|
|
|
+ ImgChekTask* frontImgCheck = new ImgChekTask(this);
|
|
|
+ frontImgCheck->idNum =/* ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
+ frontImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
+ frontImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
+ frontImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
+ frontImgCheck->imgInput = ctx->Ans.frontphoto;
|
|
|
+ frontImgCheck->imgType = "正面";
|
|
|
+ GetEntityBase()->GetFunction()->PostThreadPoolTask(frontImgCheck);
|
|
|
+
|
|
|
+ ImgChekTask* backImgCheck = new ImgChekTask(this);
|
|
|
+ backImgCheck->idNum = /*ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
+ backImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
+ backImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
+ backImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
+ backImgCheck->imgInput = ctx->Ans.backphoto;
|
|
|
+ frontImgCheck->imgType = "背面";
|
|
|
+ GetEntityBase()->GetFunction()->PostThreadPoolTask(backImgCheck);
|
|
|
+ }
|
|
|
+#endif
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
CSimpleStringA warnMsg = "ScanIDAndSaveImage() suc. But GetPngBlobEx() failed.";
|
|
|
if (transImgMsg.GetLength() != 0)
|
|
|
@@ -874,7 +876,6 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- GetPngBlobEx(ctx->Ans.headphoto, "zp");
|
|
|
|
|
|
#ifdef RVC_OS_WIN
|
|
|
CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
|
|
|
@@ -945,11 +946,13 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
{
|
|
|
SetErrorAndLog(errEject, MEC_DEVAPI_IDCER_ForceIDEject, "DevAdapter::ForceIDEject", __FUNCTION__,
|
|
|
false, m_ullEndTime - m_ullBeginTime);
|
|
|
+
|
|
|
+ CheckEjectCardRes();
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::IDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("exec IDCerRFControl succ.");
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::CloseIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("exec IDCerRFControl succ.");
|
|
|
}
|
|
|
break;
|
|
|
case 0:
|
|
|
@@ -994,7 +997,7 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
if (errRf != Error_Succeed)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("exec IDCerRFControl(false) failed, force eject...");
|
|
|
- SetErrorAndLog(errRf, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ 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();
|
|
|
@@ -1006,11 +1009,13 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
{
|
|
|
SetErrorAndLog(errEject, MEC_DEVAPI_IDCER_ForceIDEject, "DevAdapter::ForceIDEject", __FUNCTION__,
|
|
|
false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
+
|
|
|
+ CheckEjectCardRes();
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::IDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("Close RF again succ.");
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::CloseIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("Close RF again succ.");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -1037,7 +1042,7 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
|
|
|
}
|
|
|
else if (!bOpenRF)
|
|
|
{
|
|
|
- SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::OpenIDCerRFControl", __FUNCTION__,
|
|
|
true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Open IDCerRFControl(Timeout) failed: %s", SpStrError(errRfOpen));
|
|
|
|
|
|
@@ -1139,8 +1144,8 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
errRfOpen = m_hDevHelper->IDCerRFControl(true);
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::IDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- ("RreadAndScanUTF8JS DevAdapter::IDCerRFControl");
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::OpenIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
+ ("RreadAndScanUTF8JS DevAdapter::OpenIDCerRFControl");
|
|
|
if (Error_Succeed == errRfOpen)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("open rf succeed.");
|
|
|
@@ -1359,63 +1364,61 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
memcpy(ctx->Ans.reserved_utf8.m_pData, reserved, strlen((char*)reserved)); //新外国人永居证关联字段
|
|
|
memcpy(ctx->Ans.othercode_utf8.m_pData, englishNameEx, strlen((char*)englishNameEx)); //英文名备用字段
|
|
|
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- eErr = m_hDevHelper->ScanIDAndSaveImage();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (eErr == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- ("ReadAndScanUTF8JS ScanIDAndSaveImage succeed.");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SetErrorAndLog(eErr, MEC_DEVAPI_IDCER_ScanIDAndSaveImage, "DevAdapter::ScanIDAndSaveImage", __FUNCTION__,
|
|
|
- false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
-
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage")
|
|
|
- .setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
- .setResultCode("RTA210C")
|
|
|
- ("ReadAndScanUTF8JS::ScanIDAndSaveImage failed with errCode 0x%x", eErr);
|
|
|
- }
|
|
|
ctx->Ans.hasscan = 0;
|
|
|
+ GetPngBlobEx(ctx->Ans.headphoto, "zp", true); //转换头像图片
|
|
|
|
|
|
- if (eErr == Error_Succeed)
|
|
|
+ if (igestionVer == TRUE)//吸入式设备才调用正反扫描功能
|
|
|
{
|
|
|
- transImgMsg.Clear();
|
|
|
-
|
|
|
- //idfront.bmp" and "idback.bmp
|
|
|
- ErrorCodeEnum eErrFront, eErrBack;
|
|
|
- eErrFront = GetPngBlobEx(ctx->Ans.frontphoto, "idfront");
|
|
|
- eErrBack = GetPngBlobEx(ctx->Ans.backphoto, "idback", true);
|
|
|
- if (eErrFront == Error_Succeed && eErrBack == Error_Succeed)
|
|
|
+ m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ eErr = m_hDevHelper->ScanIDAndSaveImage();
|
|
|
+ m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ if (eErr == Error_Succeed)
|
|
|
{
|
|
|
- ctx->Ans.hasscan = 1;
|
|
|
-#ifdef RVC_OS_WIN
|
|
|
- if (!closeImgCheck)
|
|
|
- {
|
|
|
- ImgChekTask* frontImgCheck = new ImgChekTask(this);
|
|
|
- frontImgCheck->idNum =/* ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
- frontImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
- frontImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
- frontImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
- frontImgCheck->imgInput = ctx->Ans.frontphoto;
|
|
|
- frontImgCheck->imgType = "正面";
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(frontImgCheck);
|
|
|
-
|
|
|
- ImgChekTask* backImgCheck = new ImgChekTask(this);
|
|
|
- backImgCheck->idNum = /*ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
- backImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
- backImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
- backImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
- backImgCheck->imgInput = ctx->Ans.backphoto;
|
|
|
- frontImgCheck->imgType = "背面";
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(backImgCheck);
|
|
|
- }
|
|
|
-#endif
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ScanIDAndSaveImage").setCostTime(m_ullEndTime - m_ullBeginTime)
|
|
|
+ ("ReadAndScanUTF8JS ScanIDAndSaveImage succeed.");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (igestionVer == TRUE)
|
|
|
+ if(eErr != Error_NotImpl)
|
|
|
+ SetErrorAndLog(eErr, MEC_DEVAPI_IDCER_ScanIDAndSaveImage, "DevAdapter::ScanIDAndSaveImage", __FUNCTION__,
|
|
|
+ false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (eErr == Error_Succeed)
|
|
|
+ {
|
|
|
+ transImgMsg.Clear();
|
|
|
+
|
|
|
+ //idfront.bmp" and "idback.bmp
|
|
|
+ ErrorCodeEnum eErrFront, eErrBack;
|
|
|
+ eErrFront = GetPngBlobEx(ctx->Ans.frontphoto, "idfront");
|
|
|
+ eErrBack = GetPngBlobEx(ctx->Ans.backphoto, "idback", true);
|
|
|
+ if (eErrFront == Error_Succeed && eErrBack == Error_Succeed)
|
|
|
+ {
|
|
|
+ ctx->Ans.hasscan = 1;
|
|
|
+#ifdef RVC_OS_WIN
|
|
|
+ if (!closeImgCheck)
|
|
|
+ {
|
|
|
+ ImgChekTask* frontImgCheck = new ImgChekTask(this);
|
|
|
+ frontImgCheck->idNum =/* ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
+ frontImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
+ frontImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
+ frontImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
+ frontImgCheck->imgInput = ctx->Ans.frontphoto;
|
|
|
+ frontImgCheck->imgType = "正面";
|
|
|
+ GetEntityBase()->GetFunction()->PostThreadPoolTask(frontImgCheck);
|
|
|
+
|
|
|
+ ImgChekTask* backImgCheck = new ImgChekTask(this);
|
|
|
+ backImgCheck->idNum = /*ctx->Ans.idcode_utf8.m_pData*/gbkIDcode;
|
|
|
+ backImgCheck->inName = /*ctx->Ans.name_utf8.m_pData*/gbkName;
|
|
|
+ backImgCheck->inNationality = /*ctx->Ans.nationality_utf8.m_pData*/gbkNationality;
|
|
|
+ backImgCheck->inIdType = /*ctx->Ans.idtype_utf8.m_pData*/gbkIDtype;
|
|
|
+ backImgCheck->imgInput = ctx->Ans.backphoto;
|
|
|
+ frontImgCheck->imgType = "背面";
|
|
|
+ GetEntityBase()->GetFunction()->PostThreadPoolTask(backImgCheck);
|
|
|
+ }
|
|
|
+#endif
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
CSimpleStringA warnMsg = "ScanIDAndSaveImage() suc. But GetPngBlobEx() failed.";
|
|
|
if (transImgMsg.GetLength() != 0)
|
|
|
@@ -1427,7 +1430,6 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- GetPngBlobEx(ctx->Ans.headphoto, "zp", true);
|
|
|
|
|
|
#ifdef RVC_OS_WIN
|
|
|
CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
|
|
|
@@ -1459,7 +1461,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
|
|
|
if (!m_bExit && !bOpenRF && errRfOpen != Error_Succeed)
|
|
|
{
|
|
|
- SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::OpenIDCerRFControl", __FUNCTION__,
|
|
|
true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)
|
|
|
@@ -1496,7 +1498,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
if (eErr1 != Error_Succeed)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("exec IDCerRFControl(false) failed, force eject...");
|
|
|
- SetErrorAndLog(eErr1, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ 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();
|
|
|
@@ -1511,7 +1513,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::IDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("exec IDCerRFControl succ.");
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::CloseIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("exec IDCerRFControl succ.");
|
|
|
}
|
|
|
break;
|
|
|
case 0:
|
|
|
@@ -1562,7 +1564,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
if (errRfClose != Error_Succeed)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("exec IDCerRFControl(false) failed, force eject...");
|
|
|
- SetErrorAndLog(errRfClose, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ SetErrorAndLog(errRfClose, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::CloseIDCerRFControl", __FUNCTION__,
|
|
|
false, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8JS);
|
|
|
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
@@ -1579,7 +1581,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::IDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("Close RF again succ.");
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::CloseIDCerRFControl").setCostTime(m_ullEndTime - m_ullBeginTime)("Close RF again succ.");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -1605,7 +1607,7 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
|
|
|
}
|
|
|
else if (!bOpenRF)
|
|
|
{
|
|
|
- SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::IDCerRFControl", __FUNCTION__,
|
|
|
+ SetErrorAndLog(errRfOpen, MEC_DEVAPI_IDCER_IDCerRFControl, "DevAdapter::OpenIDCerRFControl", __FUNCTION__,
|
|
|
true, m_ullEndTime - m_ullBeginTime, IDCertService_LogCode_ReadAndScanUTF8);
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Open IDCerRFControl(Timeout) failed: %s", SpStrError(errRfOpen));
|
|
|
|
|
|
@@ -2256,6 +2258,48 @@ void CIDCertFSM::CheckHanZi(UINT16* ucs2_code)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void CIDCertFSM::CheckEjectCardRes()
|
|
|
+{
|
|
|
+ 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)
|
|
|
+ ("ForceEject fail, Check card pos suc, pos : %d", pos);
|
|
|
+
|
|
|
+ CSimpleStringA warnMsg = CSimpleStringA::Format("ForceEject return failed. Check Card pos = %d.", 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:
|
|
|
+ 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)("ForceEject fail, Check card pos failed.", posErr);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
#ifdef RVC_OS_WIN
|
|
|
void CIDCertFSM::HttpsLogCallBack(const char* logtxt)
|
|
|
{
|