Bläddra i källkod

Z991239-5948 #comment 获取设备状态GetDevState”逻辑抽离到公共库

80374374 8 månader sedan
förälder
incheckning
f70361e18a

+ 5 - 1
Module/include/DevFSMCommBase.hpp

@@ -619,7 +619,7 @@ class CCommDevFSM : public FSMImpl<TFSM>
 {
 
 public:
-	CCommDevFSM() :m_FirstStart(TRUE), m_iInWhatPage(PageType_Init),m_bOpened(false), m_bOpening(true),m_contiErrTimes(0)
+	CCommDevFSM() :m_FirstStart(TRUE), m_iInWhatPage(PageType_Init),m_bOpened(false), m_bOpening(true), m_eDevState(DEVICE_STATUS_NOT_READY),m_contiErrTimes(0)
 	{
 		m_WarnCodeMap.insert(std::make_pair<std::string, DWORD>("CardIssuerStand", 0x2030021f));
 		m_WarnCodeMap.insert(std::make_pair<std::string, DWORD>("CardIssuerStore", 0x2200021f));
@@ -990,6 +990,7 @@ public:
 		m_contiErrTimes = 0;
 	}
 
+	/** TODO等待废弃,不建议再继续使用  [Gifur@2025114]*/
 	ErrorCodeEnum TransECWithRepeat(const ErrorCodeEnum& ec)
 	{
 		ErrorCodeEnum result(ec);
@@ -1036,6 +1037,8 @@ public:
 
 	virtual void SetInWhatPage(int iPageType) { m_iInWhatPage = iPageType; }
 
+	virtual DevStateEnum GetDevState() const { return m_eDevState; }
+	void SetDevState(DevStateEnum val) { m_eDevState = val; }
 public:
 
 		bool m_bOpened;
@@ -1051,6 +1054,7 @@ protected:
 	ErrorPackageEx m_errPkgEx;
 	unsigned int m_contiErrTimes;
 	AdapterInfo m_adapterInfo;
+	DevStateEnum m_eDevState;
 
 	void UpdateEntityIDIfZero()
 	{

+ 8 - 17
Module/mod_CardIssuerStand/CardIssuerFSM.cpp

@@ -68,7 +68,7 @@ void CCardIssuerFSM::s0_on_entry()
 {
 	LOG_FUNCTION();
 	m_currentFSMState = 0;
-	SetDevStateAndSendMsg(DEVICE_STATUS_NOT_READY);
+	SetDevState(DEVICE_STATUS_NOT_READY);
 	FSMEvent* e;
 	e = new FSMEvent(USER_EVT_INIT);
 	PostEventFIFO(e);
@@ -137,7 +137,7 @@ void CCardIssuerFSM::s2_on_entry()
 	LOG_FUNCTION();
 	ToLogWarnInfoAboutTerm();
 	m_currentFSMState = 2;
-	SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL, false);
+	SetDevState(DEVICE_STATUS_NORMAL);
 	
 	m_resetTimes = 0;
 	m_testResult = Error_Succeed;
@@ -969,7 +969,7 @@ void CCardIssuerFSM::s9_on_entry()
 	LOG_FUNCTION();
 	m_currentFSMState = 9;
 	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("CardIssuer in fault state, need to reset.");
-	SetDevStateAndSendMsg(DEVICE_STATUS_FAULT);
+	SetDevState(DEVICE_STATUS_FAULT);
 	FSMEvent *e = new FSMEvent(USER_EVT_RESET);
 	PostEventFIFO(e);
 }
@@ -1875,7 +1875,7 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerStandService_Issue_Req,
 			&& ((m_bHasHopper[3] && m_mixedEx[1] >= 3) || !m_bHasHopper[3])
 			&& ((m_bHasHopper[4] && m_mixedEx[1] >= 3) || !m_bHasHopper[4])
 			&& ((m_bHasHopper[5] && m_mixedEx[1] >= 3) || !m_bHasHopper[5]))
-			SetDevStateAndSendMsg(DEVICE_STATUS_MAINTAINCE);
+			SetDevState(DEVICE_STATUS_MAINTAINCE);
 
 		errMsg = CSimpleStringA::Format("the current card hopper %d may be wrong.mixedEx:%d",
 			m_currentHopper, m_mixedEx[m_currentHopper-1]);
@@ -2563,7 +2563,7 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
 						SetCardMixed(m_mixedEx[m_currentHopper - 1], m_currentHopper);
 					}
 					else {
-						SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+						SetDevState(DEVICE_STATUS_NORMAL);
 					}
 				}
 			}
@@ -2838,7 +2838,7 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req,
 						SetCardMixed(m_mixedEx[m_currentHopper - 1], m_currentHopper);
 					}
 					else {
-						SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+						SetDevState(DEVICE_STATUS_NORMAL);
 					}
 				}
 			}
@@ -3270,7 +3270,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
 					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<PreOnline>, set %d card mixed %d,%d", m_currentHopper, bSetMix, m_mixedEx[m_currentHopper - 1]);
 				}
 				else {
-					SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+					SetDevState(DEVICE_STATUS_NORMAL);
 				}
 			}
 		}
@@ -4043,7 +4043,7 @@ bool CCardIssuerFSM::SetCardMixed(const int num, const int hopper)
 		return false;
 	}
 	if (num == 0)
-		SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+		SetDevState(DEVICE_STATUS_NORMAL);
 	else
 	{
 		CSimpleStringA errMsg = CSimpleStringA::Format("the current card hopper %d may be wrong.mixedEx:%d",
@@ -4140,15 +4140,6 @@ int CCardIssuerFSM::QueryCardInfo()
 	return ret;
 }
 
-int CCardIssuerFSM::SetDevStateAndSendMsg(const DevStateEnum eState, bool bForceSend)
-{
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetDevStateAndSendMsg, m_eDevState:%d, eState:%d, bForceSend:%d", m_eDevState, eState, bForceSend);
-	if(m_eDevState != eState || bForceSend) {
-		m_eDevState = eState;
-	}
-	return 0;
-}
-
 static char DecCh2HexCh(BYTE c)
 {
 	if (c >= 0x0 && c <= 0x9)

+ 2 - 3
Module/mod_CardIssuerStand/CardIssuerFSM.h

@@ -870,8 +870,9 @@ public:
 	ErrorCodeEnum MachineMoveCardFrontGate(bool bInBussiness=false);
 
 	void SelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext);
-	DevStateEnum GetDevState()
+	DevStateEnum GetDevState() const
 	{
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("test==GetDevState");
 		if ((m_eDevState == DEVICE_STATUS_NORMAL) 
 			&& ((m_bHasHopper[0] && m_mixedEx[0] >= 3) || !m_bHasHopper[0])
 			&& ((m_bHasHopper[1] && m_mixedEx[1] >= 3) || !m_bHasHopper[1])
@@ -882,7 +883,6 @@ public:
 	}
 	int QueryCardInfo();
 
-	int SetDevStateAndSendMsg(const DevStateEnum eState, bool bForceSend = true);
 	int UpdateLocalRunCfg(CAutoArray<int> hopperArr);
 	int SyncDataToDB(bool bMaintain[12],bool bSetCaptured=true);//同步物料计数
 	void SetHopperNum(int hopperNum);
@@ -945,7 +945,6 @@ private:
 	DWORD m_MaintainTimeEx[HOPPER_NUM];
 	BYTE m_connectType, m_r1[128], m_r2[128], m_r3[128], m_priKey[ONE_K / 2], m_devPubKey[ONE_K / 2];
 	CardIssuerStatus m_devStatus;
-	DevStateEnum m_eDevState;
 	CCardProcess *m_pCardProcess;
 	CAutoArray<CSimpleStringA> m_aidList;
 

+ 0 - 3
Module/mod_CardReadAdapter/CardReadAdapterFSM.h

@@ -856,9 +856,6 @@ private:
 	DWORD m_MaintainTimeEx[3];
 	BYTE m_connectType, m_r1[128], m_r2[128], m_r3[128], m_priKey[ONE_K / 2], m_devPubKey[ONE_K / 2], m_bdk[64], m_ksn[64];
 
-	DevStateEnum m_eDevState;
-	//CCardProcess *m_pCardProcess;
-
 	char *m_pDataToARQC;
 	long xxTest;
 	CSimpleStringA m_currCardNo, m_captureReason, m_csMachineType, m_terminalNo;

+ 3 - 3
Module/mod_ContactlessCard/ContactlessFSM.cpp

@@ -29,7 +29,7 @@ class CContactlessCardEntity;
 void CContactlessCardFSM::s0_on_entry()
 {
 	LOG_FUNCTION();
-	m_eDevState = DEVICE_STATUS_NOT_READY;
+	SetDevState(DEVICE_STATUS_NOT_READY);
 	FSMEvent *e = new FSMEvent(USER_EVT_INIT);
 	PostEventFIFO(e);
 }
@@ -83,7 +83,7 @@ unsigned int CContactlessCardFSM::s1_on_event(FSMEvent* event)
 void CContactlessCardFSM::s2_on_entry()
 {
 	LOG_FUNCTION();
-	m_eDevState = DEVICE_STATUS_NORMAL;
+	SetDevState(DEVICE_STATUS_NORMAL);
 	m_resetTimes = 0;
 	m_testResult = Error_Succeed;
 
@@ -439,7 +439,7 @@ unsigned int CContactlessCardFSM::s8_on_event(FSMEvent* pEvt)
 void CContactlessCardFSM::s9_on_entry()
 {
 	LOG_FUNCTION();
-	m_eDevState = DEVICE_STATUS_FAULT;
+	SetDevState(DEVICE_STATUS_FAULT);
 	FSMEvent *e = new FSMEvent(USER_EVT_RESET);
 	PostEventFIFO(e);
 }

+ 0 - 2
Module/mod_ContactlessCard/ContactlessFSM.h

@@ -290,7 +290,6 @@ public:
 	{
 		pTransactionContext->SendAnswer(m_testResult);
 	}
-	DevStateEnum GetDevState(){ return m_eDevState;}
 
 protected:
 	int m_iInsertTries;
@@ -308,7 +307,6 @@ private:
 
 	int m_CardInit,m_CardRemains,m_CardIssued,m_CardCaptured,m_CardMixed,m_CardPercent;
 	RFICReaderStatus devStatus;
-	DevStateEnum m_eDevState;
 	CCardProcess *m_pCardProcess;
 	char *m_pDataToARQC;
 	long xxTest;

+ 4 - 4
Module/mod_FingerPrint/FingerPrintFSM.cpp

@@ -29,7 +29,7 @@
 void CFingerPrintFSM::s0_on_entry()
 {
 	LOG_FUNCTION();
-	m_devState = DEVICE_STATUS_NORMAL;
+	SetDevState(DEVICE_STATUS_NORMAL);
 	ToLogWarnInfoAboutTerm();
 
 }
@@ -123,7 +123,7 @@ unsigned int CFingerPrintFSM::s0_on_event(FSMEvent* e)
 void CFingerPrintFSM::s4_on_entry()
 {
 	LOG_FUNCTION();
-	m_devState = DEVICE_STATUS_NOT_READY;
+	SetDevState(DEVICE_STATUS_NOT_READY);
 	InitTask* task = new InitTask(this);
 	GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
 }
@@ -214,7 +214,7 @@ void CFingerPrintFSM::s2_on_entry()
 {
 	LOG_FUNCTION();
 	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("FingerPrint entity failed.");
-	m_devState = DEVICE_STATUS_FAULT;
+	SetDevState(DEVICE_STATUS_FAULT);
 	m_testResult = Error_InvalidState;
 }
 
@@ -792,7 +792,7 @@ ErrorCodeEnum CFingerPrintFSM::GetDevCatInfo(DevCategoryInfo& devInfo)
 	return Error_Succeed;
 }
 
-ErrorCodeEnum CFingerPrintFSM::GetDevState(int& state)
+ErrorCodeEnum CFingerPrintFSM::GetCurDevState(int& state)
 {
 	ErrorCodeEnum errCode;
 	state = 0;

+ 1 - 6
Module/mod_FingerPrint/FingerPrintFSM.h

@@ -269,20 +269,15 @@ public:
 	ErrorCodeEnum DeleteFileIfExisted(const char* fileName);
 
 	ErrorCodeEnum GetDevCatInfo(DevCategoryInfo& devInfo);
-	ErrorCodeEnum GetDevState(int &state);
+	ErrorCodeEnum GetCurDevState(int &state);
 
 	int Initial();
 
-	DevStateEnum GetDevState(){
-		return m_devState;
-	}
-
 	void SelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext);
 
 private:
 	ErrorCodeEnum m_testResult;
 	DevCategoryInfo m_devCatInfo;
-	DevStateEnum m_devState;
 	
 	bool m_bCancelRegister;
 	bool m_bCancelMatch;

+ 1 - 1
Module/mod_FingerPrint/mod_FingerPrint.h

@@ -174,7 +174,7 @@ public:
 	void GetDevStatus(SpReqAnsContext<FingerPrintService_GetDevStatus_Req, FingerPrintService_GetDevStatus_Ans>::Pointer ctx)
 	{
 		int status = 0;
-		m_fsm.GetDevState(status);
+		m_fsm.GetCurDevState(status);
 		ctx->Ans.status = status;
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("FingerPrint state is:%d", status);
 		ctx->Answer(Error_Succeed);

+ 6 - 7
Module/mod_HSPScanner/HSPScannerFSM.cpp

@@ -192,7 +192,6 @@ CHSPScannerFSM::CHSPScannerFSM(void)
 	m_nFatalTimes(0),
 	m_nSrcState(s0),
 	m_csDevNo("Default"),
-	m_eDevStatus(DEVICE_STATUS_NOT_READY),
 	m_desiredAction(USER_EVT_QUIT),
 	dwLastUserCode(0),
 	m_dwMaxImageSize(500),
@@ -236,7 +235,7 @@ ErrorCodeEnum CHSPScannerFSM::OnInit()
 
 	if (erroCode == Error_Succeed) {
 		if (Error_Succeed == (erroCode = TryToOpenDevice())) {
-			m_eDevStatus = DEVICE_STATUS_NORMAL;
+			SetDevState(DEVICE_STATUS_NORMAL);
 			ToLogRootINIInfo();
 			ToLogWarnInfoAboutTerm();
 			return erroCode;
@@ -593,7 +592,7 @@ void CHSPScannerFSM::s3_on_entry()
 {
 	LOG_FUNCTION();
 	
-	m_eDevStatus = DEVICE_STATUS_FAULT;
+	SetDevState(DEVICE_STATUS_FAULT);
 
 	m_nTickTimes = 0;
 	m_bOperating = FALSE;
@@ -610,7 +609,7 @@ void CHSPScannerFSM::s3_on_entry()
 
 void CHSPScannerFSM::s3_on_exit()
 {
-	m_eDevStatus = DEVICE_STATUS_NORMAL;
+	SetDevState(DEVICE_STATUS_NORMAL);
 	m_bOperating = FALSE;
 	m_ecSelfTest = Error_Succeed;
 	m_nFatalTimes = 0;
@@ -948,7 +947,7 @@ unsigned int CHSPScannerFSM::s4_on_event(FSMEvent* e)
 
 void CHSPScannerFSM::s5_on_entry()
 {
-	m_eDevStatus = DEVICE_STATUS_MAINTAINCE;
+	SetDevState(DEVICE_STATUS_MAINTAINCE);
 	LogEvent(Severity_Middle,LOG_EVT_HSPS_LOST_CONNECT,"高拍仪断开连接!");
 	SetLastUserCode(HSPScanner_UserErrorCode_DEVICE_OFFLINE);
 	ScheduleTimer(CHECK_CONNECT_TIMER_ID, MILLISECOND_TO_CHECK_CONNECT);
@@ -957,7 +956,7 @@ void CHSPScannerFSM::s5_on_entry()
 void CHSPScannerFSM::s5_on_exit()
 {
 	SetLastUserCode();
-	m_eDevStatus = DEVICE_STATUS_NORMAL;
+	SetDevState(DEVICE_STATUS_NORMAL);
 	CancelTimer(CHECK_CONNECT_TIMER_ID);
 }
 
@@ -2093,7 +2092,7 @@ ErrorCodeEnum CHSPScannerFSM::TryToOpenDevice()
 		if (FAILURED(ecInit) || FAILURED(ecInitScan) || FAILURED(ecInitRotate) || FAILURED(ecInitColor)) {
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("ViewPos: %s, Scan: %s, rotate: %s, color: %s.", SpStrError(ecInit), SpStrError(ecInitScan), SpStrError(ecInitRotate), SpStrError(ecInitColor));
 		}
-		m_eDevStatus = DEVICE_STATUS_NORMAL;
+		SetDevState(DEVICE_STATUS_NORMAL);
 	}
 	return result;
 }

+ 2 - 3
Module/mod_HSPScanner/HSPScannerFSM.h

@@ -353,11 +353,11 @@ public:
 	virtual unsigned int s7_on_event(FSMEvent* e);
 
 	virtual void s8_on_entry() {
-		m_eDevStatus = DEVICE_STATUS_NOCFG;
+		SetDevState(DEVICE_STATUS_NOCFG);
 		SetLastUserCode(HSPScanner_UserErrorCode_DLLNAME_NOCFG);
 	}
 	virtual void s8_on_exit() {
-		m_eDevStatus = DEVICE_STATUS_NORMAL;
+		SetDevState(DEVICE_STATUS_NORMAL);
 	}
 	virtual unsigned int s8_on_event(FSMEvent* e);
 
@@ -418,7 +418,6 @@ private:
 
 	int m_nRecX, m_nRecY, m_nRecW;
 
-	DevStateEnum m_eDevStatus;
 	EvtType m_desiredAction;
 	CSimpleStringA m_csMachineType;
 	DevCategoryInfo m_devCat;

+ 4 - 4
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -158,7 +158,7 @@ void CIDCertFSM::s0_on_entry()
 		ToLogWarnInfoAboutTerm();
 		m_logBefore = true;
 	}
-	m_devState = DEVICE_STATUS_NORMAL;
+	SetDevState(DEVICE_STATUS_NORMAL);
 }
 void CIDCertFSM::s0_on_exit()
 {
@@ -274,7 +274,7 @@ unsigned int CIDCertFSM::s1_on_event(FSMEvent *pEvt)
 void CIDCertFSM::s2_on_entry()
 {
 	LOG_FUNCTION();
-	m_devState = DEVICE_STATUS_FAULT;
+	SetDevState(DEVICE_STATUS_FAULT);
 	m_testResult = Error_InvalidState;
 }
 void CIDCertFSM::s2_on_exit()
@@ -334,7 +334,7 @@ unsigned int CIDCertFSM::s4_on_event(FSMEvent* pEvt)
 void CIDCertFSM::s5_on_entry()
 {
 	LOG_FUNCTION();
-	m_devState = DEVICE_STATUS_NOT_READY;
+	SetDevState(DEVICE_STATUS_NOT_READY);
 	InitTask* task = new InitTask(this);
 	GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
 }
@@ -1868,7 +1868,7 @@ int CIDCertFSM::Initial()
 	m_csMachineType = sysInfo.strMachineType;
 	m_terminalNo = sysInfo.strTerminalID;
 	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("machineType:%s,terminalNo:%s", (const char*)m_csMachineType, (const char*)m_terminalNo);
-	m_devState = DEVICE_STATUS_NOT_READY;
+	SetDevState(DEVICE_STATUS_NOT_READY);
 	auto pEntity = GET_DEV_ENTITY_BASE_POINTER();
 
 	//to do device init

+ 0 - 3
Module/mod_IDCertificate/IDCertFSM.h

@@ -246,8 +246,6 @@ public:
 	void SetExitFlag(){m_bExit = true;}
 	bool GetReadFlag(){return m_bReading;}
 	ErrorCodeEnum GetDevCatInfo(DevCategoryInfo &devInfo, CSimpleStringA& devType);
-	void GetDevState(DevStateEnum &devState){ devState = m_devState; }
-
 	void DoExit(CSmartPointer<ITransactionContext> pTransactionContext)
 	{
 		pTransactionContext->SendAnswer(Error_Succeed);
@@ -282,7 +280,6 @@ private:
 	ErrorCodeEnum m_testResult;
 	ErrorCodeEnum m_getDevCategory;
 	DevCategoryInfo m_devCatInfo;
-	DevStateEnum m_devState;
 	CSimpleStringA m_csMachineType, m_terminalNo;
 	CSimpleStringA transImgMsg;
 #ifdef RVC_OS_WIN

+ 10 - 18
Module/mod_cardissuerstore/CardIssuerFSM.cpp

@@ -67,7 +67,7 @@ void CCardIssuerFSM::s0_on_entry()
 {
 	LOG_FUNCTION();
 	m_currentFSMState = 0;
-	SetDevStateAndSendMsg(DEVICE_STATUS_NOT_READY);
+	SetDevState(DEVICE_STATUS_NOT_READY);
 	FSMEvent *e;
 	e = new FSMEvent(USER_EVT_INIT);
 	PostEventFIFO(e);
@@ -138,7 +138,7 @@ void CCardIssuerFSM::s2_on_entry()
 
 	ToLogWarnInfoAboutTerm();
 	m_currentFSMState = 2;
-	SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL, false);
+	SetDevState(DEVICE_STATUS_NORMAL);
 	
 	m_resetTimes = 0;
 	m_testResult = Error_Succeed;
@@ -1078,7 +1078,7 @@ void CCardIssuerFSM::s9_on_entry()
 {
 	LOG_FUNCTION();
 	m_currentFSMState = 9;	
-	SetDevStateAndSendMsg(DEVICE_STATUS_FAULT);
+	SetDevState(DEVICE_STATUS_FAULT);
 	if (m_quickSelfcheck) {
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("CardIssuer in fault state, need to quickSelfcheck.");
 		m_testResult = Error_InvalidState;
@@ -1384,7 +1384,6 @@ unsigned int CCardIssuerFSM::s19_on_event(FSMEvent* pEvt)
 ErrorCodeEnum CCardIssuerFSM::OnInit()
 {
 	LOG_FUNCTION();
-
 	m_pCardProcess = new CCardProcess();
 	if (m_pCardProcess == NULL)//almost no use...
 	{
@@ -2279,7 +2278,7 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerStoreService_IssueEx_Req
 			&& ((m_bHasHopper[3] && m_mixedEx[1] >= 3) || !m_bHasHopper[3])
 			&& ((m_bHasHopper[4] && m_mixedEx[1] >= 3) || !m_bHasHopper[4])
 			&& ((m_bHasHopper[5] && m_mixedEx[1] >= 3) || !m_bHasHopper[5]))
-			SetDevStateAndSendMsg(DEVICE_STATUS_MAINTAINCE);
+			SetDevState(DEVICE_STATUS_MAINTAINCE);
 
 		errMsg = CSimpleStringA::Format("the current card hopper %d may be wrong.mixedEx:%d",
 			m_currentHopper, m_mixedEx[m_currentHopper-1]);
@@ -2963,7 +2962,7 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStoreService_Read
 						SetCardMixed(m_mixedEx[m_currentHopper - 1], m_currentHopper);
 					}
 					else {
-						SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+						SetDevState(DEVICE_STATUS_NORMAL);
 					}
 				}
 			}
@@ -3239,7 +3238,7 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStoreService_Read_Req,
 						SetCardMixed(m_mixedEx[m_currentHopper - 1], m_currentHopper);
 					}
 					else {
-						SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+						SetDevState(DEVICE_STATUS_NORMAL);
 					}
 				}
 			}
@@ -3887,7 +3886,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStoreService_Pre
 					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<PreOnline>, set %d card mixed %d,%d", m_currentHopper, bSetMix, m_mixedEx[m_currentHopper - 1]);
 				}
 				else {
-					SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+					SetDevState(DEVICE_STATUS_NORMAL);
 				}
 			}
 		}
@@ -4693,7 +4692,7 @@ bool CCardIssuerFSM::SetCardMixed(const int num, const int hopper)
 		return false;
 	}
 	if (num == 0)
-		SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+		SetDevState(DEVICE_STATUS_NORMAL);
 	else
 	{
 		CSimpleStringA errMsg = CSimpleStringA::Format("the current card hopper %d may be wrong.mixedEx:%d",
@@ -4789,14 +4788,7 @@ int CCardIssuerFSM::QueryCardInfo()
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("QueryCardInfo, ret:%d", ret);
 	return ret;
 }
-int CCardIssuerFSM::SetDevStateAndSendMsg(const DevStateEnum eState, bool bForceSend)
-{
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetDevStateAndSendMsg, m_eDevState:%d, eState:%d, bForceSend:%d", m_eDevState, eState, bForceSend);
-	if(m_eDevState != eState || bForceSend) {
-		m_eDevState = eState;
-	}
-	return 0;
-}
+
 static char DecCh2HexCh(BYTE c)
 {
 	if (c >= 0x0 && c <= 0x9)
@@ -9195,7 +9187,7 @@ int CCardIssuerFSM::ReadMag(SpReqAnsContext<CardIssuerStoreService_ReadJS_Req, C
 				if (m_issueStatus)
 				{
 					//设置为mixed从读卡失败恢复为成功时才触发同步计数和写运行时
-					SetDevStateAndSendMsg(DEVICE_STATUS_NORMAL);
+					SetDevState(DEVICE_STATUS_NORMAL);
 				}
 			}
 			if (_strnicmp(track2Data.t2Account, ddd, strlen(ddd)) && (track2Data.t2Account.GetLength() != 8))

+ 2 - 3
Module/mod_cardissuerstore/CardIssuerFSM.h

@@ -1217,8 +1217,9 @@ public:
 	ErrorCodeEnum MachineMoveCardFrontGate(bool bInBussiness=false);
 	
 	void SelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext);
-	DevStateEnum GetDevState()
+	DevStateEnum GetDevState() const
 	{
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("test==GetDevState");
 		if ((m_eDevState == DEVICE_STATUS_NORMAL) 
 			&& ((m_bHasHopper[0] && m_mixedEx[0] >= 3) || !m_bHasHopper[0])
 			&& ((m_bHasHopper[1] && m_mixedEx[1] >= 3) || !m_bHasHopper[1])
@@ -1228,7 +1229,6 @@ public:
 			return m_eDevState;
 	}
 	int QueryCardInfo();
-	int SetDevStateAndSendMsg(const DevStateEnum eState, bool bForceSend = true);
 	int UpdateLocalRunCfg(CAutoArray<int> hopperArr);
 	int SyncDataToDB(bool bMaintain[12],bool bSetCaptured=true);//同步物料计数
 	void SetHopperNum(int hopperNum);
@@ -1307,7 +1307,6 @@ private:
 	DWORD m_MaintainTimeEx[HOPPER_NUM];
 	BYTE m_connectType, m_r1[128], m_r2[128], m_r3[128], m_priKey[ONE_K / 2], m_devPubKey[ONE_K / 2], m_bdk[64], m_ksn[64];
 	CardIssuerStatus m_devStatus;
-	DevStateEnum m_eDevState;
 	CCardProcess *m_pCardProcess;
 	CAutoArray<CSimpleStringA> m_aidList;
 	pfEncryptDukptHSM EncypteDukptHSM;

+ 4 - 4
Module/mod_pinpad/PinPadFSM.cpp

@@ -127,7 +127,7 @@ unsigned int CPinPadFSM::s1_on_event(FSMEvent* evt)
 void CPinPadFSM::s2_on_entry()
 {
 	LOG_FUNCTION();
-	m_eDevState = DEVICE_STATUS_NORMAL;
+	SetDevState(DEVICE_STATUS_NORMAL);
 }
 
 void CPinPadFSM::s2_on_exit()
@@ -265,7 +265,7 @@ unsigned int CPinPadFSM::s4_on_event(FSMEvent* pEvt)
 void CPinPadFSM::s5_on_entry()
 {
 	LOG_FUNCTION();
-	m_eDevState = DEVICE_STATUS_FAULT;
+	SetDevState(DEVICE_STATUS_FAULT);
 }
 void CPinPadFSM::s5_on_exit()
 {
@@ -284,7 +284,7 @@ unsigned int CPinPadFSM::s5_on_event(FSMEvent* pEvt)
 void CPinPadFSM::s6_on_entry()
 {
 	LOG_FUNCTION();
-	m_eDevState = DEVICE_STATUS_NOT_READY;
+	SetDevState(DEVICE_STATUS_NOT_READY);
 }
 void CPinPadFSM::s6_on_exit()
 {
@@ -1282,7 +1282,7 @@ ErrorCodeEnum CPinPadFSM::GetDevInfo(DevCategoryInfo &devInfo)
 		m_szModel = "";
 		m_szType = "";
 		m_szVendor = "";
-		m_eDevState = DEVICE_STATUS_NOT_READY;
+		SetDevState(DEVICE_STATUS_NOT_READY);
 	}
 
 	return eErrDev;

+ 2 - 2
Module/mod_pinpad/PinPadFSM.h

@@ -171,7 +171,7 @@ public:
 		CPinPadFSM() : m_bFrontCancel(false),
 		m_bWaitingMore(false), m_bExit(false), m_bPlainPin(true),
 		m_bEntityExit(false), m_bPinInput(false), m_bLoadKey(false), m_bEncrypt(false)
-		, m_dwDevCommFailCount(0), m_dwPinPadRunCount(0), m_eDevState(DEVICE_STATUS_NOT_READY), m_encryptkey(1)
+		, m_dwDevCommFailCount(0), m_dwPinPadRunCount(0), m_encryptkey(1)
 		, m_bSM(false), m_bSMLoaded(false), m_szModel(""), m_szType("")
 		, m_szVendor(""),m_csMachineType(true), m_terminalNo(true), m_port(true), m_Baudrate(true)
 		, m_bPinInputJS(false), m_bUseBackupSN(true){
@@ -289,7 +289,7 @@ private:
 	CSimpleStringA m_deviceNo, m_port, m_Baudrate, m_devCheckData,m_keySNSM,m_szModel,m_szType,m_szVendor;
 	char m_buf[4];
 	DWORD m_dwDevCommFailCount,m_dwPinPadRunCount;
-	DevStateEnum m_eDevState;
+	
 	int m_encryptkey;
 	CSimpleStringA m_csMachineType, m_terminalNo,m_lastCheckCode;
 	CSystemStaticInfo m_sysStaticInfo;