|
@@ -213,55 +213,6 @@ unsigned int CCardIssuerFSM::s2_on_event(FSMEvent* pEvt)
|
|
|
case USER_EVT_QUIT:
|
|
|
pEvt->SetHandled();
|
|
|
break;
|
|
|
- case USER_EVT_GET_MATERIAL:
|
|
|
- {
|
|
|
- pEvt->SetHandled();
|
|
|
- GetMaterialEvent *pGME = dynamic_cast<GetMaterialEvent*>(pEvt);
|
|
|
- pGME->ctx->Ans.captured = m_CardCaptured;
|
|
|
- pGME->ctx->Ans.remains = m_remainsEx[0];
|
|
|
- pGME->ctx->Ans.issued = m_issuedEx[0];
|
|
|
- pGME->ctx->Ans.mixed = m_mixedEx[0];
|
|
|
- pGME->ctx->Answer(Error_Succeed);
|
|
|
- }
|
|
|
- break;
|
|
|
- case USER_EVT_SET_MATERIAL:
|
|
|
- {
|
|
|
- m_bSettingMaterial = true;
|
|
|
- pEvt->SetHandled();
|
|
|
- bool bR, bC, bI, bM;
|
|
|
- bR = bC = bI = bM = true;
|
|
|
- SetMaterialEvent *pSME = dynamic_cast<SetMaterialEvent*>(pEvt);
|
|
|
- if (pSME->ctx->Req.bRemains)
|
|
|
- {
|
|
|
- m_CardInitEx[0] = m_remainsEx[0] = pSME->ctx->Req.remains;
|
|
|
- bR = SetCardRemains(pSME->ctx->Req.remains, 1, true);
|
|
|
- }
|
|
|
- if (pSME->ctx->Req.bCaptured)
|
|
|
- {
|
|
|
- m_CardCaptured = pSME->ctx->Req.captured;
|
|
|
- bC = SetCardCaptured(pSME->ctx->Req.captured);
|
|
|
- }
|
|
|
- if (pSME->ctx->Req.bIssued)
|
|
|
- {
|
|
|
- m_issuedEx[0] = pSME->ctx->Req.issued;
|
|
|
- bI = SetCardIssued(pSME->ctx->Req.issued, 1);
|
|
|
- }
|
|
|
- if (pSME->ctx->Req.bMixed)
|
|
|
- {
|
|
|
- m_mixedEx[0] = pSME->ctx->Req.mixed;
|
|
|
- bM = SetCardMixed(pSME->ctx->Req.mixed, 1);
|
|
|
- }
|
|
|
- if (bR && bC && bI && bM)
|
|
|
- pSME->ctx->Answer(Error_Succeed);
|
|
|
- else
|
|
|
- {
|
|
|
- pSME->ctx->Answer(Error_Unexpect);
|
|
|
- }
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("case USER_EVT_SET_MATERIAL, bRemains:%d, bCaptured:%d, bIssued:%d, bMixed:%d, bR:%d, bC:%d, bI:%d, bM:%d",
|
|
|
- pSME->ctx->Req.bRemains, pSME->ctx->Req.bCaptured, pSME->ctx->Req.bIssued, pSME->ctx->Req.bMixed, bR, bC, bI, bM));
|
|
|
- m_bSettingMaterial = false;
|
|
|
- }
|
|
|
- break;
|
|
|
case USER_EVT_GET_MATERIAL_EX:
|
|
|
{
|
|
|
pEvt->SetHandled();
|
|
@@ -313,7 +264,7 @@ unsigned int CCardIssuerFSM::s2_on_event(FSMEvent* pEvt)
|
|
|
pGMEE->ctx->Ans.reserved1[i] = 0;
|
|
|
pGMEE->ctx->Ans.reserved2[i] = "";
|
|
|
}
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetMaterial CardBoxNo:%s, PsbCode:%s, PsbName:%s, CardInit:%d, remains:%d, issued:%d, mixed:%d,",
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("GetMaterial CardBoxNo (%d):%s, PsbCode:%s, PsbName:%s, CardInit:%d, remains:%d, issued:%d, mixed:%d,",i,
|
|
|
pGMEE->ctx->Ans.CardBoxNo[i].GetData(),
|
|
|
pGMEE->ctx->Ans.PsbCode[i].GetData(),
|
|
|
pGMEE->ctx->Ans.PsbName[i].GetData(),
|
|
@@ -407,15 +358,6 @@ unsigned int CCardIssuerFSM::s2_on_event(FSMEvent* pEvt)
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- case USER_EVT_PREONLINE_ON_STORE:
|
|
|
- {
|
|
|
- pEvt->SetHandled();
|
|
|
- PreOnlineOnStoreEvent *bsl = dynamic_cast<PreOnlineOnStoreEvent*>(pEvt);
|
|
|
- PreOnlineOnStoreTask *pTask = new PreOnlineOnStoreTask(this);
|
|
|
- pTask->ctx = bsl->ctx;
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(pTask);
|
|
|
- }
|
|
|
- break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
@@ -457,7 +399,7 @@ unsigned int CCardIssuerFSM::s3_on_event(FSMEvent* pEvt)
|
|
|
break;
|
|
|
case USER_EVT_ACCEPT_CANCEL:
|
|
|
m_bCancelAccept = true;
|
|
|
- m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
+ //m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
pEvt->SetHandled();
|
|
|
ret = 3;
|
|
|
break;
|
|
@@ -490,7 +432,7 @@ unsigned int CCardIssuerFSM::s4_on_event(FSMEvent* pEvt)
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s4 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
|
|
|
|
|
|
switch(pEvt->iEvt){
|
|
|
- case USER_EVT_READ_NEW:
|
|
|
+ case USER_EVT_READ:
|
|
|
{
|
|
|
CardReadEvent* crne = dynamic_cast<CardReadEvent*>(pEvt);
|
|
|
ReadTask* task = new ReadTask(this);
|
|
@@ -571,56 +513,6 @@ unsigned int CCardIssuerFSM::s4_on_event(FSMEvent* pEvt)
|
|
|
pEvt->SetHandled();
|
|
|
return 0;
|
|
|
}
|
|
|
- case USER_EVT_GET_MATERIAL:
|
|
|
- {
|
|
|
- pEvt->SetHandled();
|
|
|
- GetMaterialEvent *pGME = dynamic_cast<GetMaterialEvent*>(pEvt);
|
|
|
- pGME->ctx->Ans.captured = m_CardCaptured;
|
|
|
- pGME->ctx->Ans.remains = m_remainsEx[0];
|
|
|
- pGME->ctx->Ans.issued = m_issuedEx[0];
|
|
|
- pGME->ctx->Ans.mixed = m_mixedEx[0];
|
|
|
- pGME->ctx->Answer(Error_Succeed);
|
|
|
- }
|
|
|
- break;
|
|
|
- case USER_EVT_SET_MATERIAL:
|
|
|
- {
|
|
|
- m_bSettingMaterial = true;
|
|
|
- pEvt->SetHandled();
|
|
|
- bool bR, bC, bI, bM;
|
|
|
- bR = bC = bI = bM = true;
|
|
|
- SetMaterialEvent *pSME = dynamic_cast<SetMaterialEvent*>(pEvt);
|
|
|
- if (pSME->ctx->Req.bRemains)
|
|
|
- {
|
|
|
- m_CardInitEx[0] = m_remainsEx[0] = pSME->ctx->Req.remains;
|
|
|
- bR = SetCardRemains(pSME->ctx->Req.remains, 1, true);
|
|
|
- }
|
|
|
- if (pSME->ctx->Req.bCaptured)
|
|
|
- {
|
|
|
- m_CardCaptured = pSME->ctx->Req.captured;
|
|
|
- bC = SetCardCaptured(pSME->ctx->Req.captured);
|
|
|
- }
|
|
|
- if (pSME->ctx->Req.bIssued)
|
|
|
- {
|
|
|
- m_issuedEx[0] = pSME->ctx->Req.issued;
|
|
|
- bI = SetCardIssued(pSME->ctx->Req.issued, 1);
|
|
|
- }
|
|
|
- if (pSME->ctx->Req.bMixed)
|
|
|
- {
|
|
|
- m_mixedEx[0] = pSME->ctx->Req.mixed;
|
|
|
- bM = SetCardMixed(pSME->ctx->Req.mixed, 1);
|
|
|
- }
|
|
|
- if (bR && bC && bI && bM)
|
|
|
- pSME->ctx->Answer(Error_Succeed);
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("set material failed.r(%d),c(%d),i(%d),m(%d)", bR, bC, bI, bM);
|
|
|
- pSME->ctx->Answer(Error_Unexpect);
|
|
|
- }
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("case USER_EVT_SET_MATERIAL, bRemains:%d, bCaptured:%d, bIssued:%d, bMixed:%d, bR:%d, bC:%d, bI:%d, bM:%d",
|
|
|
- pSME->ctx->Req.bRemains, pSME->ctx->Req.bCaptured, pSME->ctx->Req.bIssued, pSME->ctx->Req.bMixed, bR, bC, bI, bM);
|
|
|
- m_bSettingMaterial = false;
|
|
|
- }
|
|
|
- break;
|
|
|
case USER_EVT_GET_MATERIAL_EX:
|
|
|
{
|
|
|
pEvt->SetHandled();
|
|
@@ -807,7 +699,7 @@ unsigned int CCardIssuerFSM::s5_on_event(FSMEvent* pEvt)
|
|
|
int ret = 0;
|
|
|
switch(pEvt->iEvt)
|
|
|
{
|
|
|
- case USER_EVT_READ_NEW_FINISHED:
|
|
|
+ case USER_EVT_READ_FINISHED:
|
|
|
{
|
|
|
pEvt->SetHandled();
|
|
|
CardReadFinishedEvent *pCRNFE = dynamic_cast<CardReadFinishedEvent *>(pEvt);
|
|
@@ -823,7 +715,7 @@ unsigned int CCardIssuerFSM::s5_on_event(FSMEvent* pEvt)
|
|
|
else
|
|
|
{
|
|
|
SetErrPackage("Read finished", m_csDevSN, Error_Unexpect, MEC_DEVAPI_CARDISSUER_GetDevStatus);
|
|
|
- pCRNFE->ctx->Answer(Error_Unexpect, AlarmDEC(true));
|
|
|
+ pCRNFE->ctx->Answer(Error_Unexpect, AlarmDEC(m_iInWhatPage == PageType_Other));
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220303").setResultCode("RTA2302")("读取IC数据失败");
|
|
|
ret = 1;
|
|
|
}
|
|
@@ -925,19 +817,6 @@ unsigned int CCardIssuerFSM::s7_on_event(FSMEvent* pEvt)
|
|
|
pEvt->SetHandled();
|
|
|
return 0;
|
|
|
}
|
|
|
- case USER_EVT_GET_MATERIAL:
|
|
|
- {
|
|
|
- pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("captured:%d, remains:%d, issued:%d, mixed:%d",
|
|
|
- m_CardCaptured, m_remainsEx[0], m_issuedEx[0], m_mixedEx[0]);
|
|
|
- GetMaterialEvent* pGME = dynamic_cast<GetMaterialEvent*>(pEvt);
|
|
|
- pGME->ctx->Ans.captured = m_CardCaptured;
|
|
|
- pGME->ctx->Ans.remains = m_remainsEx[0];
|
|
|
- pGME->ctx->Ans.issued = m_issuedEx[0];
|
|
|
- pGME->ctx->Ans.mixed = m_mixedEx[0];
|
|
|
- pGME->ctx->Answer(Error_Succeed);
|
|
|
- }
|
|
|
- break;
|
|
|
case USER_EVT_GET_MATERIAL_EX:
|
|
|
{
|
|
|
pEvt->SetHandled();
|
|
@@ -1266,31 +1145,6 @@ unsigned int CCardIssuerFSM::s14_on_event(FSMEvent* pEvt)
|
|
|
}
|
|
|
return ret;
|
|
|
}
|
|
|
-//PreOnlineOnStore
|
|
|
-void CCardIssuerFSM::s16_on_entry()
|
|
|
-{
|
|
|
- m_currentFSMState = 16;
|
|
|
-}
|
|
|
-void CCardIssuerFSM::s16_on_exit()
|
|
|
-{
|
|
|
-}
|
|
|
-unsigned int CCardIssuerFSM::s16_on_event(FSMEvent* pEvt)
|
|
|
-{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s16 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
|
|
|
- switch (pEvt->iEvt)
|
|
|
- {
|
|
|
- case USER_EVT_PREONLINE_ON_STORE_FINISHED:
|
|
|
- {
|
|
|
- pEvt->SetHandled();
|
|
|
- return pEvt->param1;
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
ErrorCodeEnum CCardIssuerFSM::OnInit()
|
|
|
{
|
|
@@ -1332,8 +1186,7 @@ ErrorCodeEnum CCardIssuerFSM::OnExit()
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eExit = m_hDevHelper->GetDevStatus(m_devStatus);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus", l_beginTime, l_endTime, eExit,
|
|
|
- CSimpleStringA::Format("OnExit, m_devStatus.eMedia:%d, m_issueStatus:%d", m_devStatus.eMedia, m_issueStatus));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("OnExit, m_devStatus.eMedia:%d, m_issueStatus:%d", m_devStatus.eMedia, m_issueStatus);
|
|
|
|
|
|
if (eExit == Error_Succeed)
|
|
|
{
|
|
@@ -1356,9 +1209,9 @@ ErrorCodeEnum CCardIssuerFSM::OnExit()
|
|
|
eExit = m_hDevHelper->DevClose();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
if (eExit == Error_Succeed)
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DevClose", l_beginTime, l_endTime, eExit, CSimpleStringA::Format("OnExit,读卡器关闭成功"));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("OnExit,读卡器关闭DevClose成功");
|
|
|
else
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DevClose", l_beginTime, l_endTime, eExit, CSimpleStringA::Format("OnExit,读卡器关闭失败"));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("OnExit,读卡器关闭DevClose失败 eErr:%d", eExit);
|
|
|
}
|
|
|
FSMImpl<CCardIssuerFSM>::OnExit();
|
|
|
return Error_Succeed;
|
|
@@ -1407,7 +1260,7 @@ bool CCardIssuerFSM::GetDevStatus(bool bPrint)
|
|
|
errCode = m_hDevHelper->GetDevStatus(m_devStatus);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
if (bPrint)
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus", l_beginTime, l_endTime, errCode,CSimpleStringA::Format("GetDevStatus, GetDevStatus::eMedia: %d", m_devStatus.eMedia));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus, GetDevStatus::eMedia: %d", m_devStatus.eMedia);
|
|
|
if (Error_Succeed == errCode)
|
|
|
{
|
|
|
if (_strnicmp("RVC.CardPrinter", m_csMachineType, strlen("RVC.CardPrinter")) == 0)
|
|
@@ -1644,8 +1497,7 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
|
|
|
long l_beginTime = GetTickCountRVC();
|
|
|
eErrDev = m_hDevHelper->DevOpenEx(m_port, m_baudRate, btOpenType, pDevSN, m_connectType);
|
|
|
long l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DevOpenEx", l_beginTime, l_endTime, eErrDev,
|
|
|
- CSimpleStringA::Format("OpenDevice, openType:%d, connectType:%d", btOpenType, m_connectType));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("OpenDevice, openType:%d, connectType:%d", btOpenType, m_connectType);
|
|
|
|
|
|
if (eErrDev == Error_Succeed)
|
|
|
{
|
|
@@ -1661,9 +1513,8 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
|
|
|
{
|
|
|
CSimpleStringA tmpVersion = CSimpleStringA::Format("%d.%d.%d.%d", m_devCat.version.wMajor, m_devCat.version.wMinor, m_devCat.version.wRevision, m_devCat.version.wBuild);
|
|
|
int ret = SplitDevModelInfo();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevCategory", l_beginTime, l_endTime, eErrDev,
|
|
|
- CSimpleStringA::Format("OpenDevice, szVendor:%s, szType:%s, szModel:%s, version:%s, ret:%d",
|
|
|
- m_devCat.szVendor, m_devCat.szType, m_devCat.szVendor, tmpVersion.GetData(), ret));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("OpenDevice, szVendor:%s, szType:%s, szModel:%s, version:%s, ret:%d",
|
|
|
+ m_devCat.szVendor, m_devCat.szType, m_devCat.szVendor, tmpVersion.GetData(), ret);
|
|
|
m_adapterInfo.FulfillCategoryInfo(m_devCat);
|
|
|
}
|
|
|
else
|
|
@@ -1835,7 +1686,7 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_Open_Failed, "读卡器打开失败");
|
|
|
+ LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_Open_Failed, "启动后检查卡机状态失败");
|
|
|
return Error_Unexpect;
|
|
|
}
|
|
|
}
|
|
@@ -1894,7 +1745,9 @@ int CCardIssuerFSM::UnAcceptCard()
|
|
|
CSimpleStringA errMsg(true);
|
|
|
if (GetDevStatus())
|
|
|
{
|
|
|
- if (m_devStatus.eMedia == CI_MEDIA_PRESENT)
|
|
|
+ switch (m_devStatus.eMedia)
|
|
|
+ {
|
|
|
+ case CI_MEDIA_PRESENT:
|
|
|
{
|
|
|
m_hasCardWhileDevOpen = true;
|
|
|
JustReadCardNo();
|
|
@@ -1917,23 +1770,30 @@ int CCardIssuerFSM::UnAcceptCard()
|
|
|
LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CaptureCard_EntityOnStart, errMsg.GetData());
|
|
|
return CaptureCard(NULL);
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- long l_beginTime, l_endTime;
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetCardInType", l_beginTime, l_endTime, eErr, "UnAcceptCard, CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
-
|
|
|
- if (Error_Succeed != eErr){
|
|
|
- SetErrPackage("UnAcceptCard::SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN)", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SetCardInType);
|
|
|
- AlarmDEC();
|
|
|
- }
|
|
|
- if (GetDevStatus())
|
|
|
- return 0;
|
|
|
- else
|
|
|
- return 1;
|
|
|
+ case CI_MEDIA_JAMMED:
|
|
|
+ case CI_MEDIA_ENTERING:
|
|
|
+ LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CardPosUnexpectedOnDevOpen, CSimpleStringA::Format("Unexpected CardStatusEnum:%d", m_devStatus.eMedia));
|
|
|
+ break;
|
|
|
+ case CI_MEDIA_NOTPRESENT:
|
|
|
+ return 0;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
+
|
|
|
+ //oilyang@20230612 delete the following lines,as no need to GetDevStatus twice
|
|
|
+ //long l_beginTime, l_endTime;
|
|
|
+ //l_beginTime = GetTickCountRVC();
|
|
|
+ //eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
+ //l_endTime = GetTickCountRVC();
|
|
|
+
|
|
|
+ //if (Error_Succeed != eErr){
|
|
|
+ // SetErrPackage("UnAcceptCard::SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN)", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SetCardInType);
|
|
|
+ // AlarmDEC();
|
|
|
+ //}
|
|
|
+ //if (GetDevStatus())
|
|
|
+ // return 0;
|
|
|
+ //else
|
|
|
+ // return 1;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -2072,7 +1932,6 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerService_Issue_Req, CardI
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
errCode = m_hDevHelper->GetDevStatus(cis);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus", l_beginTime, l_endTime, errCode, "IssueCard");
|
|
|
|
|
|
if (errCode != Error_Succeed) {
|
|
|
SetErrPackage("IssueCard::GetDevStatus", m_csDevSN, errCode, MEC_DEVAPI_CARDISSUER_GetDevStatus);
|
|
@@ -2168,7 +2027,6 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerService_Issue_Req, CardI
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
errCode = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetCardInType",l_beginTime, l_endTime, errCode, "IssueCard, CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
|
|
|
if (errCode != Error_Succeed)
|
|
|
{
|
|
@@ -2182,7 +2040,7 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerService_Issue_Req, CardI
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
errCode = m_hDevHelper->MoveCard(CI_MOVECARD_FROM_HOPPER, m_currentHopper);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MoveCard", l_beginTime, l_endTime, errCode, CSimpleStringA::Format("IssuerCard, m_currentHopper:%d", m_currentHopper));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("IssuerCard, m_currentHopper:%d", m_currentHopper);
|
|
|
m_bCardFromHopper = true;
|
|
|
if (errCode != Error_Succeed)
|
|
|
{
|
|
@@ -2190,12 +2048,12 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerService_Issue_Req, CardI
|
|
|
SetErrPackage("IssueCard::MoveCard", m_csDevSN, errCode, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_FROM_HOPPER);
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220320").setResultCode("RTA2306")("从卡箱移动卡片到读卡器失败,请重试或检查是否有塞卡");
|
|
|
if (ctx != NULL)
|
|
|
- ctx->Answer(Error_Unexpect, AlarmDEC(true));
|
|
|
+ ctx->Answer(Error_Unexpect, AlarmDEC(m_iInWhatPage == PageType_Other));
|
|
|
else
|
|
|
- ctxEx->Answer(Error_Unexpect, AlarmDEC(true));
|
|
|
+ ctxEx->Answer(Error_Unexpect, AlarmDEC(m_iInWhatPage == PageType_Other));
|
|
|
return 1;
|
|
|
}
|
|
|
-
|
|
|
+ LogWarn(Severity_Low, Error_Succeed, CardIssuer_UserErrorCode_MoveCard_FromHopper, "MoveCard from hopper suc.");
|
|
|
m_issuedEx[m_currentHopper - 1]++;
|
|
|
m_remainsEx[m_currentHopper - 1]--;
|
|
|
//oilyang@20180809 增加对单卡槽多卡槽机器的使用及闲置的适配
|
|
@@ -2281,7 +2139,6 @@ int CCardIssuerFSM::CaptureCard(SpReqAnsContext<CardIssuerService_Capture_Req,Ca
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetCardInType", l_beginTime, l_endTime, eErr, "CaptureCard, CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
|
|
|
if (eErr != Error_Succeed) {
|
|
|
SetErrPackage("CaptureCard::SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN)", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SetCardInType);
|
|
@@ -2292,7 +2149,10 @@ int CCardIssuerFSM::CaptureCard(SpReqAnsContext<CardIssuerService_Capture_Req,Ca
|
|
|
}
|
|
|
else {
|
|
|
if (ctx != NULL){
|
|
|
- LogError(Severity_Middle, Error_Unexpect, 0x20300034, "CaptureCard failed");
|
|
|
+ if (m_iInWhatPage == PageType_Other)
|
|
|
+ LogError(Severity_Middle, Error_Unexpect, 0x20300034, "CaptureCard failed");
|
|
|
+ else
|
|
|
+ LogWarn(Severity_Middle, Error_Unexpect, 0x20300034, "CaptureCard failed");
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220304").setResultCode("RTA2307")("吞卡失败,请检查吞卡箱是否已满或联系厂商检查是否有吞卡");
|
|
|
ctx->Answer(Error_Unexpect, 0x20300034);
|
|
|
}
|
|
@@ -2308,7 +2168,7 @@ int CCardIssuerFSM::EjectCard(SpReqAnsContext<CardIssuerService_Eject_Req,CardIs
|
|
|
Sleep(300);//oilyang@20230106 for keba said "maybe we need stay for machine to prepare..."
|
|
|
int ret = 0;
|
|
|
ErrorCodeEnum eErr;
|
|
|
- eErr = MachineMoveCardFrontGate(ctx != NULL);
|
|
|
+ eErr = MachineMoveCardFrontGate(ctx != NULL && m_iInWhatPage == PageType_Other);
|
|
|
m_pCardProcess->DataInit();
|
|
|
if (Error_Succeed == eErr){
|
|
|
if (ctx != NULL)
|
|
@@ -2343,7 +2203,6 @@ int CCardIssuerFSM::WaitFetchingCard()
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
ErrorCodeEnum eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetCardInType", l_beginTime, l_endTime, eErr, "WaitFetchingCard,card fetched,to set CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
|
|
|
if (eErr != Error_Succeed) {
|
|
|
SetErrPackage("WaitFetchingCard::SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN)", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SetCardInType);
|
|
@@ -2402,12 +2261,18 @@ int CCardIssuerFSM::InternalAcceptCard()
|
|
|
{
|
|
|
acceptTries++;
|
|
|
Sleep(ACCEPT_TRY_INTERVAL);
|
|
|
+ //oilyang@20230609 after sleep,to check if have been canceled in sleeping time
|
|
|
+ if (m_bCancelAccept)
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("have been canceled in sleeping time");
|
|
|
+ err = 3;
|
|
|
+ goto Err;
|
|
|
+ }
|
|
|
//hr = m_pIDCard->IDC_Accept(IDC_ALL_CARD,&lpCardData);
|
|
|
if (!m_bCancelAccept && !bHasSetCardInType) {
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_ALL);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- //DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetCardInType", l_beginTime, l_endTime, eErr, "InternalAcceptCard, CI_CARD_IN_TYPE_ALL");
|
|
|
}
|
|
|
if (Error_Succeed != eErr) {
|
|
|
SetErrPackage("InternalAcceptCard::SetCardInType(CI_CARD_IN_TYPE_ALL)", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SetCardInType);
|
|
@@ -2432,7 +2297,6 @@ Err:
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetCardInType", l_beginTime, l_endTime, eErr, "InternalAcceptCard, CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
|
|
|
if (Error_Succeed != eErr)
|
|
|
{
|
|
@@ -2451,13 +2315,12 @@ Err:
|
|
|
{
|
|
|
err = 4;
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<InternalAcceptCard>, Cancel InterAccept, eject card.");
|
|
|
- eErr = MachineMoveCardFrontGate(true);
|
|
|
+ eErr = MachineMoveCardFrontGate(m_iInWhatPage == PageType_Other);
|
|
|
|
|
|
if (Error_Succeed == eErr) {
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("InternalAcceptCard, SetCardInType", l_beginTime, l_endTime, eErr, "CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
|
|
|
if (eErr != Error_Succeed) {
|
|
|
SetErrPackage("InternalAcceptCard::SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN)", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SetCardInType);
|
|
@@ -2492,7 +2355,8 @@ int CCardIssuerFSM::AcceptCard(SpReqAnsContext<CardIssuerService_Insert_Req, Car
|
|
|
m_bCardFromHopper = false;
|
|
|
if (ctx != NULL)
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert succeed");
|
|
|
+ LogWarn(Severity_Low, Error_Succeed, CardIssuer_UserErrorCode_InsertCardSucceed, "AcceptCard, insert succeed");
|
|
|
+
|
|
|
m_bUseRFTillNext = false;
|
|
|
ctx->Answer(Error_Succeed);
|
|
|
}
|
|
@@ -2515,7 +2379,7 @@ int CCardIssuerFSM::AcceptCard(SpReqAnsContext<CardIssuerService_Insert_Req, Car
|
|
|
{
|
|
|
if (ctx != NULL){
|
|
|
SetErrPackage("AcceptCard::InternalAcceptCard", m_csDevSN, Error_Unexpect, MEC_DEVAPI_CARDISSUER_GetDevStatus);
|
|
|
- ctx->Answer(Error_Unexpect, AlarmDEC(true));
|
|
|
+ ctx->Answer(Error_Unexpect, AlarmDEC(m_iInWhatPage == PageType_Other));
|
|
|
}
|
|
|
}
|
|
|
return rc;
|
|
@@ -2621,8 +2485,8 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerService_Read_Req,
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eMagReadErr = m_hDevHelper->MagRead(magTracks);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MagRead", l_beginTime, l_endTime, eMagReadErr, CSimpleString::Format("t2Status:%d, t3Status:%d, t2Len:%d, t3Len:%d",
|
|
|
- magTracks.track[1].eStatus, magTracks.track[2].eStatus, magTracks.track[1].dwSize, magTracks.track[2].dwSize));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MagRead t2Status:%d, t3Status:%d, t2Len:%d, t3Len:%d",
|
|
|
+ magTracks.track[1].eStatus, magTracks.track[2].eStatus, magTracks.track[1].dwSize, magTracks.track[2].dwSize);
|
|
|
//oilyang@20230204 copy mag data for RF
|
|
|
m_magTracks.eRange = magTracks.eRange;
|
|
|
for (int i = 0; i < 3; ++i)
|
|
@@ -2814,7 +2678,6 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerService_Read_Req,
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->DeactivateICCard();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DeactivateICCard", l_beginTime, l_endTime, eErr, "ReadCard");
|
|
|
|
|
|
if (eErr != Error_Succeed) {
|
|
|
SetErrPackage("ReadCard::DeactivateICCard", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_DeactivateICCard);
|
|
@@ -3050,7 +2913,6 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerService_Read_Req, Card
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->DeactContactlessICCard();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DeactContactlessICCard", l_beginTime, l_endTime, eErr, "ReadCard");
|
|
|
|
|
|
if (eErr != Error_Succeed) {
|
|
|
SetErrPackage("ReadCard::DeactContactlessICCard", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_DeactivateICCard);
|
|
@@ -3156,7 +3018,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerService_PreOnlin
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220320").setResultCode("RTA230V")("发卡时,检测卡片类型时上电失败");
|
|
|
if (!IfUseRf())
|
|
|
{
|
|
|
- if (!bCrossPreOnline)
|
|
|
+ if (!bCrossPreOnline && m_iInWhatPage == PageType_Other)
|
|
|
LogError(Severity_Middle, Error_Unexpect, 0x203002A1, "(IssueCard)PreOnline::DetectAndReadICData:DetectIfICCard");
|
|
|
else
|
|
|
LogWarn(Severity_Middle, Error_Unexpect, 0x203002A1, "(IssueCard)PreOnline::DetectAndReadICData:DetectIfICCard");
|
|
@@ -3168,7 +3030,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerService_PreOnlin
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220303").setResultCode("RTA230M")("检测卡片类型时上电失败");
|
|
|
if (!IfUseRf())
|
|
|
{
|
|
|
- if (!bCrossPreOnline)
|
|
|
+ if (!bCrossPreOnline && m_iInWhatPage == PageType_Other)
|
|
|
LogError(Severity_Middle, Error_Unexpect, 0x20300243, "PreOnline::DetectAndReadICData:DetectIfICCard");
|
|
|
else
|
|
|
LogWarn(Severity_Middle, Error_Unexpect, 0x20300243, "PreOnline::DetectAndReadICData:DetectIfICCard");
|
|
@@ -3184,7 +3046,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerService_PreOnlin
|
|
|
if (!IfUseRf())
|
|
|
{
|
|
|
SetErrPackage(xCardName + " PreOnline::DetectAndReadICData:GetICDataFromCard(-2)", m_csDevSN, Error_Unexpect, MEC_DEVAPI_CARDISSUER_ICCommand);
|
|
|
- ctx->Answer(Error_Unexpect, AlarmDEC(!bCrossPreOnline));
|
|
|
+ ctx->Answer(Error_Unexpect, AlarmDEC(!bCrossPreOnline && m_iInWhatPage == PageType_Other));
|
|
|
}
|
|
|
}else if (retDetectAndRead == -3){
|
|
|
if (m_issueStatus)
|
|
@@ -3194,7 +3056,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerService_PreOnlin
|
|
|
if (!IfUseRf())
|
|
|
{
|
|
|
SetErrPackage(xCardName + " PreOnline::DetectAndReadICData:GetICDataFromCard(-3)", m_csDevSN, Error_Unexpect, MEC_DEVAPI_CARDISSUER_ICCommand);
|
|
|
- ctx->Answer(Error_Unexpect, AlarmDEC(!bCrossPreOnline));
|
|
|
+ ctx->Answer(Error_Unexpect, AlarmDEC(!bCrossPreOnline && m_iInWhatPage == PageType_Other));
|
|
|
}
|
|
|
}
|
|
|
bICOK = false;
|
|
@@ -3461,13 +3323,19 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerService_PreOnline_Req
|
|
|
if (m_issueStatus)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220320").setResultCode("RTA230V")("发卡时,检测卡片类型时上电失败");
|
|
|
- LogError(Severity_Middle, Error_Unexpect, 0x203002A1, "(IssueCard)PreOnline_RF::DetectAndReadICData:DetectIfICCard");
|
|
|
+ if (m_iInWhatPage == PageType_Other)
|
|
|
+ LogError(Severity_Middle, Error_Unexpect, 0x203002A1, "(IssueCard)PreOnline_RF::DetectAndReadICData:DetectIfICCard");
|
|
|
+ else
|
|
|
+ LogWarn(Severity_Middle, Error_Unexpect, 0x203002A1, "(IssueCard)PreOnline_RF::DetectAndReadICData:DetectIfICCard");
|
|
|
ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220303").setResultCode("RTA230M")("检测卡片类型时上电失败");
|
|
|
- LogError(Severity_Middle, Error_Unexpect, 0x20300243, "PreOnline_RF::DetectAndReadICData:DetectIfICCard");
|
|
|
+ if (m_iInWhatPage == PageType_Other)
|
|
|
+ LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveContactlessICCard_Failed, "PreOnline_RF::DetectAndReadICData:DetectIfICCard");
|
|
|
+ else
|
|
|
+ LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveContactlessICCard_Failed, "PreOnline_RF::DetectAndReadICData:DetectIfICCard");
|
|
|
ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_ActiveICCard_Failed);
|
|
|
}
|
|
|
}
|
|
@@ -3477,7 +3345,7 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerService_PreOnline_Req
|
|
|
else
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220303").setResultCode("RTA2302")("读取IC数据失败");
|
|
|
SetErrPackage(xCardName + " PreOnline::DetectAndReadICData:GetICDataFromCard(-2)", m_csDevSN, Error_Unexpect, MEC_DEVAPI_CARDISSUER_ICCommand);
|
|
|
- ctx->Answer(Error_Unexpect, AlarmDEC(true));
|
|
|
+ ctx->Answer(Error_Unexpect, AlarmDEC(m_iInWhatPage == PageType_Other));
|
|
|
}
|
|
|
else if (retDetectAndRead == -3) {
|
|
|
if (m_issueStatus)
|
|
@@ -3485,7 +3353,7 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerService_PreOnline_Req
|
|
|
else
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220303").setResultCode("RTA2302")("读取IC数据失败");
|
|
|
SetErrPackage(xCardName + " PreOnline::DetectAndReadICData:GetICDataFromCard(-3)", m_csDevSN, Error_Unexpect, MEC_DEVAPI_CARDISSUER_ICCommand);
|
|
|
- ctx->Answer(Error_Unexpect, AlarmDEC(true));
|
|
|
+ ctx->Answer(Error_Unexpect, AlarmDEC(m_iInWhatPage == PageType_Other));
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
@@ -3765,13 +3633,12 @@ int CCardIssuerFSM::WriteCard(SpReqAnsContext<CardIssuerService_WriteTrack_Req,
|
|
|
long l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->MoveCard(CI_MOVECARD_MAG_POSITION);
|
|
|
long l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MoveCard", l_beginTime, l_endTime, eErr, "CI_MOVECARD_MAG_POSITION");
|
|
|
|
|
|
if (eErr != Error_Succeed)
|
|
|
{
|
|
|
SetErrPackage("WriteCard::MoveCard(CI_MOVECARD_MAG_POSITION)", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_MAG_POSITION);
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220315").setResultCode("RTA2309")("从卡箱移动卡片到磁条写卡位置失败");
|
|
|
- ctx->Answer(Error_Unexpect, AlarmDEC(true));
|
|
|
+ ctx->Answer(Error_Unexpect, AlarmDEC(m_iInWhatPage == PageType_Other));
|
|
|
return ret;
|
|
|
}
|
|
|
}
|
|
@@ -3816,7 +3683,6 @@ int CCardIssuerFSM::WriteCard(SpReqAnsContext<CardIssuerService_WriteTrack_Req,
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->MagWrite(magTrack, AUTO_CO);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MagWrite", l_beginTime, l_endTime, eErr, "AUTO_CO");
|
|
|
|
|
|
if (eErr != Error_Succeed)
|
|
|
{
|
|
@@ -3824,7 +3690,7 @@ int CCardIssuerFSM::WriteCard(SpReqAnsContext<CardIssuerService_WriteTrack_Req,
|
|
|
AlarmDEC();
|
|
|
ret = 1;
|
|
|
}
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220315")();
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220315")("MagWrite ok");
|
|
|
ctx->Ans.result = ret;
|
|
|
ctx->Answer(Error_Succeed);
|
|
|
return ret;
|
|
@@ -4073,7 +3939,6 @@ ErrorCodeEnum CCardIssuerFSM::MachineMoveCardBackNotHold()
|
|
|
long l_beginTime = GetTickCountRVC();
|
|
|
ErrorCodeEnum eMoveNotHold = m_hDevHelper->MoveCard(CI_MOVECARD_BACK_NOT_HOLD);
|
|
|
long l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MoveCard", l_beginTime, l_endTime, eMoveNotHold, CSimpleStringA::Format("<MachineMoveCardBackNotHold>, param:%d", CI_MOVECARD_BACK_NOT_HOLD));
|
|
|
|
|
|
//2016-11-10 14:30:54 joseph
|
|
|
if (eMoveNotHold != Error_Succeed)
|
|
@@ -4090,7 +3955,6 @@ ErrorCodeEnum CCardIssuerFSM::MachineMoveCardFrontGate(bool bInBussiness)
|
|
|
long l_beginTime = GetTickCountRVC();
|
|
|
ErrorCodeEnum eMoveFrontGate = m_hDevHelper->MoveCard(CI_MOVECARD_FRONT_GATE);
|
|
|
long l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MoveCard", l_beginTime, l_endTime, eMoveFrontGate, CSimpleStringA::Format("MachineMoveCardFrontGate, param:%d", CI_MOVECARD_FRONT_GATE));
|
|
|
|
|
|
if (eMoveFrontGate != Error_Succeed){
|
|
|
if (m_bCardFromHopper)
|
|
@@ -4387,7 +4251,6 @@ bool CCardIssuerFSM::JustReadCardNo()
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->DeactivateICCard();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DeactivateICCard", l_beginTime, l_endTime, eErr, "JustReadCardNo");
|
|
|
|
|
|
if (eErr != Error_Succeed){
|
|
|
SetErrPackage("JustReadCardNo::DeactivateICCard", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_DeactivateICCard);
|
|
@@ -4397,7 +4260,6 @@ bool CCardIssuerFSM::JustReadCardNo()
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->ReleaseIC();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("ReleaseIC", l_beginTime, l_endTime, eErr, "JustReadCardNo");
|
|
|
|
|
|
if (eErr != Error_Succeed){
|
|
|
SetErrPackage("JustReadCardNo::ReleaseIC", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_ReleaseIC);
|
|
@@ -4414,9 +4276,9 @@ bool CCardIssuerFSM::JustReadCardNo()
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->MagRead(magTracks);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MagRead", l_beginTime, l_endTime, eErr, CSimpleStringA::Format("JustReadCardNo, track[1].eStatus:%d, track[2].sStatus:%d, t2.dwSize:%d, t3.dwSize:%d, t2Len:%d, t3Len:%d",
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MagRead JustReadCardNo, track[1].eStatus:%d, track[2].sStatus:%d, t2.dwSize:%d, t3.dwSize:%d, t2Len:%d, t3Len:%d",
|
|
|
magTracks.track[1].eStatus, magTracks.track[2].eStatus, magTracks.track[1].dwSize, magTracks.track[2].dwSize,
|
|
|
- strlen((const char*)magTracks.track[1].data), strlen((const char*)magTracks.track[2].data)));
|
|
|
+ strlen((const char*)magTracks.track[1].data), strlen((const char*)magTracks.track[2].data));
|
|
|
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
@@ -4543,7 +4405,7 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SAMSelect(ctx->Req.param1[0]);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMSelect", l_beginTime, l_endTime, eErr, CSimpleStringA::Format("req.param1:%d", ctx->Req.param1[0]));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMSelect req.param1:%d", ctx->Req.param1[0]);
|
|
|
|
|
|
if(eErr) {
|
|
|
SetErrPackage("SAMICCommand::SAMSelect", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SAMSelect);
|
|
@@ -4554,7 +4416,7 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SAMActive(ctx->Req.param1[0]);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMActive", l_beginTime, l_endTime, eErr, CSimpleStringA::Format("req.param1:%d", ctx->Req.param1[0]));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMActive req.param1:%d", ctx->Req.param1[0]);
|
|
|
|
|
|
if(eErr) {
|
|
|
SetErrPackage("SAMICCommand::SAMActive", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SAMActive);
|
|
@@ -4565,7 +4427,6 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SAMDeactivate();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMDeactivate", l_beginTime, l_endTime, eErr, "SAMICCommand_SAM_Deactivate");
|
|
|
|
|
|
if(eErr) {
|
|
|
SetErrPackage("SAMICCommand::SAMDeactivate", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SAMDeactivate);
|
|
@@ -4576,7 +4437,6 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SAMWarmReset();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMWarmReset", l_beginTime, l_endTime, eErr, "SAMICCommand_SAM_WarmReset");
|
|
|
|
|
|
if(eErr) {
|
|
|
SetErrPackage("SAMICCommand::SAMWarmReset", m_csDevSN, eErr, MEC_DEVAPI_CARDISSUER_SAMWarmReset);
|
|
@@ -4589,7 +4449,7 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SAMQueryStatus(samStatus);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMWarmReset", l_beginTime, l_endTime, eErr, CSimpleStringA::Format("isActive:%d, chosenOfSAM:%d", samStatus.isActive, samStatus.chosenOfSAM));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMWarmReset isActive:%d, chosenOfSAM:%d", samStatus.isActive, samStatus.chosenOfSAM);
|
|
|
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
@@ -4616,7 +4476,7 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->SAMCommand(sendBuf,recvBuf);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMCommand", l_beginTime, l_endTime, eErr, CSimpleStringA::Format("req.param2:%s, recvBuf.dwSize:%d", ctx->Req.param2[0].GetData(), recvBuf.dwSize));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMCommand req.param2:%s, recvBuf.dwSize:%d", ctx->Req.param2[0].GetData(), recvBuf.dwSize);
|
|
|
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
@@ -4643,7 +4503,6 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->ContactIC();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SAMCommand", l_beginTime, l_endTime, eErr, "SAMICCommand_IC_Active");
|
|
|
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
@@ -4651,7 +4510,6 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime =GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->ActiveICCardATR(atrBuf);
|
|
|
l_beginTime =GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("ActiveICCardATR", l_beginTime, l_endTime, eErr, "SAMICCommand_IC_Active");
|
|
|
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
@@ -4694,7 +4552,6 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->DeactivateICCard();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DeactivateICCard", l_beginTime, l_endTime, eErr, "SAMICCommand_IC_Deactivate");
|
|
|
|
|
|
if(eErr != Error_Stoped)
|
|
|
{
|
|
@@ -4721,7 +4578,6 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->ICCommand(sendBuf, recvBuf);
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("ICCommand", l_beginTime, l_endTime, eErr, "SAMICCommand_IC_Command");
|
|
|
|
|
|
if(false)//oiltest@20201224 before deploy ,comment loging apdu content
|
|
|
{
|
|
@@ -4730,7 +4586,7 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
{
|
|
|
ZeroMemory(pRet, MAX_IC_BUFFER_SIZE);
|
|
|
HexBuf2StrBuf(sendBuf.data, (char**)&pRet, size);
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("ICCommand return data, %s", (const char*)pRet));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("ICCommand send data, %s", (const char*)pRet));
|
|
|
delete[] pRet;
|
|
|
}
|
|
|
|
|
@@ -4748,6 +4604,10 @@ int CCardIssuerFSM::SAMICCommand(SpReqAnsContext<CardIssuerService_SAMICCommand_
|
|
|
ctx->Ans.ret2.Init(1);
|
|
|
ctx->Ans.ret1[0] = recvBuf.dwSize * 2;
|
|
|
ctx->Ans.ret2[0] = pRet;
|
|
|
+ if (false)//oiltest before deploy ,comment loging apdu content
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("ICCommand, recvBuf.data:%s", pRet);
|
|
|
+ }
|
|
|
delete[]pRet;
|
|
|
}
|
|
|
}
|
|
@@ -4847,7 +4707,6 @@ int CalcDelayFactor(int failedCount)
|
|
|
else
|
|
|
return 1 << (failedCount % 7);
|
|
|
}
|
|
|
-
|
|
|
void CCardIssuerFSM::GetVendorDllName(CSimpleStringA& strDevAdaptorPath)
|
|
|
{
|
|
|
auto pEntity = GET_DEV_ENTITY_BASE_POINTER();
|
|
@@ -4959,119 +4818,6 @@ bool CCardIssuerFSM::ReadCardInfo(CSmartPointer<IConfigInfo> &cfgRun, CSimpleStr
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-int CCardIssuerFSM::PreOnlineOnStore(SpReqAnsContext<CardIssuerService_PreOnlineOnStore_Req, CardIssuerService_PreOnlineOnStore_Ans>::Pointer ctx)
|
|
|
-{
|
|
|
- HeartBeatService_ClientBase *pHeartBeatClient = NULL;
|
|
|
- ErrorCodeEnum eErr = Error_Unexpect;
|
|
|
- CSimpleStringA errMsg(true);
|
|
|
- pHeartBeatClient = new HeartBeatService_ClientBase(GetEntityBase());
|
|
|
- if (pHeartBeatClient != NULL) {
|
|
|
- eErr = pHeartBeatClient->Connect();
|
|
|
- if (eErr != Error_Succeed) {
|
|
|
- pHeartBeatClient->SafeDelete();
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_PreOnline_Connect_Heatbeat_Failed, "connect heartbeat faile while preonline.");
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("pGuiConsoleClient is null?");
|
|
|
- ctx->Answer(Error_Unexpect);
|
|
|
- return 0;
|
|
|
- }
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<PreOnlineOnStore>, connect to heartbeat suc.");
|
|
|
- m_crossStart = GetTickCountRVC();
|
|
|
- if (eErr == Error_Succeed)
|
|
|
- {
|
|
|
- if (pHeartBeatClient != NULL)
|
|
|
- {
|
|
|
- m_crossCtx = ctx;
|
|
|
- HeartBeatService_CardActive_Req req;
|
|
|
- HeartBeatService_CardActive_Ans ans;
|
|
|
- req.type = 0;
|
|
|
- req.account = ctx->Req.account;
|
|
|
- req.term = ctx->Req.termNo;
|
|
|
- req.data = ctx->Req.businessData;
|
|
|
- req.slot = ctx->Req.slot;
|
|
|
-
|
|
|
- errMsg = CSimpleStringA::Format("<PreOnlineOnStore>, send CardActive, termNo:%s, slot:%d", req.term.GetData(), req.slot);
|
|
|
- LogWarn(Severity_Low, Error_Unexpect, CardIssuer_UserErrorCode_PreOnline_Send_CardActive, errMsg.GetData());
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220327")();
|
|
|
-
|
|
|
- eErr = pHeartBeatClient->CardActive(req, ans, 60000);
|
|
|
- if (eErr == Error_Succeed)
|
|
|
- {
|
|
|
- m_bCardActiveNotify = false;
|
|
|
- WaitCardActiveTask* pTask = new WaitCardActiveTask(this);
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(pTask);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- errMsg = CSimpleStringA::Format("CardActive Result(termNo:%s, slot:%d):%d(0x%x)", req.term.GetData(), req.slot, eErr, eErr);
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_PreOnline_Recv_CardActive, errMsg.GetData());
|
|
|
- }
|
|
|
-
|
|
|
- pHeartBeatClient->GetFunction()->CloseSession();
|
|
|
- pHeartBeatClient = NULL;
|
|
|
- }
|
|
|
- }
|
|
|
- return 0;
|
|
|
-}
|
|
|
-void CCardIssuerFSM::NotifyPreOnline(unsigned long errCode, unsigned long findCard, unsigned long cardPos, CSimpleStringA data)
|
|
|
-{
|
|
|
- UINT64 crossEnd = GetTickCountRVC();
|
|
|
- //? ? ? 为什么是110s,重试?从生产实际来看,在25s到40s之间,大部分在30s左右,需要和前端(65s)一致,改成60s oilyang@20221019
|
|
|
- //in 110 second
|
|
|
- if (m_crossCtx != NULL)
|
|
|
- {
|
|
|
- if ((crossEnd - m_crossStart) < 60 * 1000)
|
|
|
- {
|
|
|
- m_bCardActiveNotify = true;
|
|
|
- m_crossCtx->Ans.cardPos = cardPos;
|
|
|
- m_crossCtx->Ans.findCard = findCard;
|
|
|
- m_crossCtx->Ans.result = data;
|
|
|
- CSimpleStringA outParam = CSimpleStringA::Format("NotifyPreOnline, cardPos:%d, findCard:%d, errCode:%d", cardPos, findCard, errCode);
|
|
|
- LogWarn(Severity_Low, Error_Unexpect, CardIssuer_UserErrorCode_NotifyPreOnline_ParamInfo, outParam.GetData());
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)(CSimpleStringA::Format("<NotifyPreOnline>, notify result:%d, cardPos:%d, findCard:%d",errCode, cardPos, findCard));
|
|
|
- if (errCode == Error_Duplication)//THE CardStore is issuing card
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA230Q")("卡库正在使用中");
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CardActive_CardStore_Issuing, "卡库正在使用中");
|
|
|
- m_crossCtx->Answer(Error_Duplication);
|
|
|
- }
|
|
|
- else if (errCode == Error_TimeOut)//CardStore process cost too long!
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA230W")("跨机时卡库处理耗时过长");
|
|
|
- LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CardStore_Reply_TooLong, "跨机时卡库处理耗时过长");
|
|
|
- m_crossCtx->Answer(Error_ReplyTimeOut);
|
|
|
- }
|
|
|
- else if (errCode == Error_NotExist)//heartbeat service can't find the dest terminal
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA230Y")("跨机时卡库不在线");
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CardActive_CardStore_OffLine, "跨机时卡库不在线");
|
|
|
- m_crossCtx->Answer(Error_DevNotAvailable);
|
|
|
- }
|
|
|
- else if (errCode == Error_DevNotAvailable)//CardStore maybe called by OTHER VTM
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA2310")("卡库正在被其他VTM跨机调用");
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CardActive_CardStore_CallByOther, "卡库正在被其他VTM跨机调用");
|
|
|
- m_crossCtx->Answer(Error_Duplication);
|
|
|
- }
|
|
|
- else if (errCode == Error_Hardware)//CardStore's CardIssuer in fault state
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA2311")("卡库卡机未成功打开");
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CardActive_CardIssuer_InFaultState, "卡库卡机未成功打开");
|
|
|
- m_crossCtx->Answer(Error_Hardware);
|
|
|
- }
|
|
|
- else
|
|
|
- m_crossCtx->Answer((ErrorCodeEnum)errCode);
|
|
|
- }else{
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA2312")("超时后,才收到卡库返回");
|
|
|
- LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_NotifyPreonline_Wait_TooLong, "CardStore return after timeout.");
|
|
|
- }
|
|
|
- m_crossCtx = NULL;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
void CCardIssuerFSM::DecodeTracksData(const char *track2, DWORD dwT2size, const char *track3, DWORD dwT3size, char *&magData, bool bT2OK, bool bT3OK)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<DecodeTracksData>, bT2OK:%d, bT3OK:%d, t2.size:%d(%d), t3.size:%d(%d)",
|
|
@@ -5141,27 +4887,6 @@ void CCardIssuerFSM::CloseAndClearDevObj(bool bCheckConnecting, bool bCloseOnly)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void CCardIssuerFSM::WaitCardActive()
|
|
|
-{
|
|
|
- while (1)
|
|
|
- {
|
|
|
- if (m_bCardActiveNotify)
|
|
|
- break;
|
|
|
- UINT64 crossEnd = GetTickCountRVC();
|
|
|
- if ((crossEnd - m_crossStart) < 60 * 1000)
|
|
|
- Sleep(1000);
|
|
|
- else {
|
|
|
- if (m_crossCtx != NULL)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA230U")("跨机激活未收到返回,请确认卡库或服务是否正常");
|
|
|
- m_crossCtx->Answer(Error_TimeOut, CardIssuer_UserErrorCode_CardActive_Service_NoReturn);
|
|
|
- LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_CardActive_Service_NoReturn, "CardActive havn't return in 60s");
|
|
|
- Dbg("oiltest record for SelfChecker test 1792 to kill CardIsser");
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
int CCardIssuerFSM::JudgeCardType(CSimpleStringA cardno, bool& bMismatch)
|
|
|
{
|
|
|
if (cardno.GetLength() < 8)
|