Browse Source

#IQRV #comment [BugFix] 日志告警修复

gifur 3 years ago
parent
commit
3fabb06e80

+ 6 - 3
Module/include/DevFSMCommBase.hpp

@@ -417,7 +417,7 @@ public:
 		errPkg.apiErrCode = apiCode;
 	}
 
-	DWORD AlarmDEC(ErrorPackage errPkg, bool bToBusiness = false) {
+	DWORD AlarmDEC(ErrorPackage errPkg, bool bToBusiness = false, bool alarmOrNot = true) {
 		WORD wdErrCode = 0;
 		CSimpleStringA csErrMsg(true);
 		ErrorCodeEnum ec = GetAndSplitDevErrInfo(csErrMsg, wdErrCode, (LPCTSTR)errPkg.msgHead);
@@ -434,7 +434,9 @@ public:
 		}
 		//oilyang@20200525 if have been set ErrorCode of entity defined (not device),use it directly
 		DWORD dwCode = GetAlarmDEC();
-		LogErrMsgEx(errPkg, csErrMsg, dwCode, bToBusiness);
+		if (alarmOrNot) {
+            LogErrMsgEx(errPkg, csErrMsg, dwCode, bToBusiness);
+		}
 		return dwCode;
 	}
 
@@ -691,7 +693,8 @@ inline void CCommDevFSM<TFSM, TDevClass>::LogErrMsg(
 template<class TFSM, class TDevClass>
 inline void CCommDevFSM<TFSM, TDevClass>::LogErrMsgEx(ErrorPackage errPkg, const char* pMsgBody, DWORD finalErrCode /*= 0*/, BOOL bToBusiness)
 {
-	CSimpleStringA alarmMsg = CSimpleStringA::Format("(%s)%s failed EC= %s : %s", errPkg.devSN.GetData(), errPkg.msgHead.GetData(), SpStrError(errPkg.devErrCode), pMsgBody);
+	CSimpleStringA alarmMsg = CSimpleStringA::Format("(%s)%s failed EC= %s : %s"
+													 , errPkg.devSN.GetData(), errPkg.msgHead.GetData(), SpStrError(errPkg.devErrCode), pMsgBody);
 	if (bToBusiness)
 		LogError(Severity_High, errPkg.devErrCode, finalErrCode, alarmMsg.GetData());
 	else

+ 2 - 2
Module/mod_cardissuer/CardIssuerFSM.cpp

@@ -2847,8 +2847,8 @@ int CCardIssuerFSM::EjectCard(SpReqAnsContext<CardIssuerService_Eject_Req,CardIs
 	else {
 		if (ctx != NULL) {
 			LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_EjectCard_Failed, "EjectCard failed.");
-			SetErrPackage(m_errPkg, "ReadCard::MachineMoveCardFrontGate", m_csDevSN, eErr, CardIssuer_UserErrorCode_MoveCardToGate_Failed);
-			ctx->Answer(Error_Exception, AlarmDEC(m_errPkg, true));
+			SetErrPackage(m_errPkg, "EjectCard::MachineMoveCardFrontGate", m_csDevSN, eErr, CardIssuer_UserErrorCode_MoveCardToGate_Failed);
+			ctx->Answer(Error_Exception, AlarmDEC(m_errPkg, true, false));
 		}
 		ret = 1;
 	}

+ 2 - 1
Module/mod_gpio/mod_gpio.cpp

@@ -315,8 +315,9 @@ ErrorCodeEnum CGpioEntity::Initial()
 			DevErrorInfo devErrInfo;
 			ZeroMemory(&devErrInfo, sizeof(devErrInfo));
 			m_hDevHelper->GetLastErr(devErrInfo);
-			errMsg = CSimpleStringA::Format("DevOpen failed:%d(s)", err, devErrInfo.szErrMsg);
+			errMsg = CSimpleStringA::Format("DevOpen failed:%d(%s)", err, devErrInfo.szErrMsg);
 			LogWarn(Severity_Middle, Error_Unexpect, GPIO_UserErrorCode_DevOpen_Failed, errMsg.GetData());
+            Sleep(300);
             initTries++;
             continue;
         }