Bläddra i källkod

!10230 部分缺陷修复
Merge pull request !10230 from 80374374/gifur_fixed_everything

Gifur 1 år sedan
förälder
incheckning
eed5e6afe3

+ 1 - 1
Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp

@@ -3785,7 +3785,7 @@ bool ResourceWatcherFSM::RegOperation()
     DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("csVersion :%s ,VtmRegVersion:%s ", csVersion.GetData(), VtmRegVersion.GetData());
     if (!ExistsFileA(exePath) || !bGetActive || !bRegRead || (0 != VtmRegVersion.Compare(csVersion, true)))
     {
-        if (!CopyExeToRoot())
+        if (!ExistsFileA(exePath) && !CopyExeToRoot())
         {
             DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Copy VTM.exe to version root fail.");
             bRet = false;

+ 32 - 22
Module/mod_guiconsole/guitask.cpp

@@ -12,6 +12,9 @@ using namespace AccessAuthorization;
 #include "mod_CenterSetting/Event.h"
 int level = 2;
 
+static StartPageDlg* m_pDlg = NULL;
+
+
 GUITask::GUITask() : m_pEntity(NULL), m_hWndMainFrame(NULL), m_hThread(NULL), m_hThread2(NULL), m_hWndStartPage(NULL),
 	m_idleNum(0), m_totalNum(0)
 {
@@ -31,6 +34,14 @@ void GUITask::InitBack(CEntityBase* pEntity)
 	m_pEntity = pEntity;
 	m_pEntity->GetFunction()->RegistSysVarEvent("UIState", this);
 	m_pEntity->GetFunction()->RegistSysVarEvent("TerminalStage", this);
+	CSystemStaticInfo staticInfo;
+	if (m_pDlg != NULL && Error_Succeed == m_pEntity->GetFunction()->GetSystemStaticInfo(staticInfo)) {
+		TerminalBaseInfo info;
+		info.strMachineType = staticInfo.strMachineType;
+		info.strTerminalNo = staticInfo.strTerminalID;
+		info.strSoftwareVersion = staticInfo.InstallVersion.ToString();
+		m_pDlg->SetTerminalBasicInfo(info, true);
+	}
 }
 
 ErrorCodeEnum GUITask::Kickoff(CEntityBase *pEntity)
@@ -148,32 +159,31 @@ void GUITask::Process()
 	CSmartPointer<IConfigInfo> pConfig;
 	auto rc = m_pEntity->GetFunction()->OpenConfig(Config_CenterSetting, pConfig);
 	CSimpleStringA csimpleStrMachineTypeCfg(true);
-	StartPageDlg dlg(this);
-	//oilyang@20231017 directly show window of boot
-	//if (IS_SUCCEED(rc)) {
-	//	rc = pConfig->ReadConfigValue("NonExclusive", "NewStartPage", csimpleStrMachineTypeCfg);
-		CSystemStaticInfo staticInfo;
-		m_pEntity->GetFunction()->GetSystemStaticInfo(staticInfo);
-		//if (csimpleStrMachineTypeCfg.IndexOf(staticInfo.strMachineType) >= 0) {
-			TerminalBaseInfo info;
-			info.strMachineType = staticInfo.strMachineType;
-			info.strTerminalNo = staticInfo.strTerminalID;
-			info.strSoftwareVersion = staticInfo.InstallVersion.ToString();
-			dlg.SetTerminalBasicInfo(info);
-
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Enter newpage...");
-			if (dlg.Create(NULL) == NULL) {
-				ATLTRACE(_T("Main window creation failed!\n"));
-				return;
-			}
-			m_hWndStartPage = dlg.m_hWnd;
-		//}
-	//}
+	if (m_pDlg == NULL) {
+		m_pDlg = new StartPageDlg(this);
+	}
+	CSystemStaticInfo staticInfo;
+	m_pEntity->GetFunction()->GetSystemStaticInfo(staticInfo);
+	TerminalBaseInfo info;
+	info.strMachineType = staticInfo.strMachineType;
+	info.strTerminalNo = staticInfo.strTerminalID;
+	info.strSoftwareVersion = staticInfo.InstallVersion.ToString();
+	m_pDlg->SetTerminalBasicInfo(info);
+
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Enter newpage...");
+	if (m_pDlg->Create(NULL) == NULL) {
+		ATLTRACE(_T("Main window creation failed!\n"));
+		delete m_pDlg;
+		m_pDlg = NULL;
+		return;
+	}
+	m_hWndStartPage = m_pDlg->m_hWnd;
+
 	SetEvent(m_hEventStartReady);
 	wndMain.ShowWindow(SW_MINIMIZE);
 
 	if(m_hWndStartPage)
-		dlg.ShowWindow(SW_SHOW);
+		m_pDlg->ShowWindow(SW_SHOW);
 	else
 		ShowOutputConsole();
 

+ 24 - 18
Module/mod_guiconsole/mainfrm.cpp

@@ -20,6 +20,18 @@ using namespace CardIssuerStand;
 #include "MaterialMgrCnn.h"
 #include "mod_GuiConsole.h"
 
+#ifdef DEVOPS_ON_ST /*DevOps流水线编译,ST环境*/
+#define RVC_TITLE_STRING "STver."
+#elif defined(DEVOPS_ON_UAT)/*DevOps流水线编译,UAT环境*/
+#define RVC_TITLE_STRING "UATver."
+#elif defined(DEVOPS_ON_PRD)/*DevOps流水线编译,PRD环境*/
+#define RVC_TITLE_STRING ""
+#elif defined(DEVOPS_ON_DEV)/*DevOps流水线编译,Dev环境*/
+#define RVC_TITLE_STRING "DEVver."
+#else/*本地编译等非DevOps环境编译的版本*/
+#define RVC_TITLE_STRING "TESTver."
+#endif
+
 LRESULT CAboutDlg::OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
 	EndDialog(0);
@@ -3514,6 +3526,16 @@ void CCommandEdit::OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags )
 	}
 }
 
+void StartPageDlg::UpdateTerminalBasicInfo()
+{
+	CSimpleStringA basicInoShowText(CSimpleStringA("v") + m_baseInfo.strSoftwareVersion + "\r\n" + m_baseInfo.strTerminalNo + "\r\n" + m_baseInfo.strMachineType);
+	if (strlen(RVC_TITLE_STRING) > 0) {
+		basicInoShowText.Append("-");
+		basicInoShowText.Append(RVC_TITLE_STRING);
+	}
+	GetDlgItem(IDC_STATIC_BASICINFO).SetWindowTextA(basicInoShowText.GetData());
+}
+
 LRESULT StartPageDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
 	LOG_FUNCTION();
@@ -3528,7 +3550,7 @@ LRESULT StartPageDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam)
 	GetDlgItem(IDC_STATIC2).MoveWindow(rc.left + 385, rc.top + 97, 108, 39);
 	GetDlgItem(IDC_EXITVTM).MoveWindow(rc.left + 67, rc.top + 550, 38, 30);
 	GetDlgItem(IDC_PROGRESS).MoveWindow(rc.left + 493, rc.top + 97, 80, 39);
-	GetDlgItem(IDC_STATIC_BASICINFO).MoveWindow(rc.left +800, rc.top + 540, 140, 60);
+	GetDlgItem(IDC_STATIC_BASICINFO).MoveWindow(rc.left +740, rc.top + 540, 200, 60);
 
 	m_pOutput = new COutputList();
 	RECT rect;
@@ -3537,23 +3559,7 @@ LRESULT StartPageDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam)
 				| LBS_HASSTRINGS);
 	m_pOutput->ModifyStyle(NULL, WS_HSCROLL | WS_VSCROLL);
 
-	CSimpleStringA basicInoShowText(CSimpleStringA("v") + m_baseInfo.strSoftwareVersion + "\r\n" + m_baseInfo.strTerminalNo + "\r\n" + m_baseInfo.strMachineType);
-#ifdef DEVOPS_ON_ST /*DevOps流水线编译,ST环境*/
-#define RVC_TITLE_STRING "STver."
-#elif defined(DEVOPS_ON_UAT)/*DevOps流水线编译,UAT环境*/
-#define RVC_TITLE_STRING "UATver."
-#elif defined(DEVOPS_ON_PRD)/*DevOps流水线编译,PRD环境*/
-#define RVC_TITLE_STRING ""
-#elif defined(DEVOPS_ON_DEV)/*DevOps流水线编译,Dev环境*/
-#define RVC_TITLE_STRING "DEVver."
-#else/*本地编译等非DevOps环境编译的版本*/
-#define RVC_TITLE_STRING "TESTver."
-#endif
-	if (strlen(RVC_TITLE_STRING) > 0) {
-		basicInoShowText.Append("-");
-		basicInoShowText.Append(RVC_TITLE_STRING);
-	}
-	GetDlgItem(IDC_STATIC_BASICINFO).SetWindowTextA(basicInoShowText.GetData());
+	UpdateTerminalBasicInfo();
 	CenterWindow();
 	return 0;
 }

+ 5 - 2
Module/mod_guiconsole/mainfrm.h

@@ -6,7 +6,6 @@
 #include "resource.h"
 #include "guitask.h"
 
-
 #define WM_GUICONSOLE	(WM_APP + 1)
 #define WM_SHOW_MSG (WM_APP + 2)
 #define WM_SHOW_MAINTAIN_VIEW  (WM_APP + 3)
@@ -417,9 +416,13 @@ public:
 
 	COutputList* m_pOutput;
 
-	void SetTerminalBasicInfo(const TerminalBaseInfo& info) {
+	void SetTerminalBasicInfo(const TerminalBaseInfo& info, bool bUpdate = FALSE) {
 		m_baseInfo = info;
+		if (bUpdate) {
+			UpdateTerminalBasicInfo();
+		}
 	}
+	void UpdateTerminalBasicInfo();
 private:
 	GUITask* m_pStartTask;
 	CBitmap* m_pBitmap;

+ 3 - 1
Module/mod_guiconsole/mod_guiconsole.cpp

@@ -189,8 +189,10 @@ void CGUIConsoleEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nLogI
 	const DWORD dwSysError, const DWORD dwUserCode, const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
 	const CAutoArray<DWORD>& Param, const char* pszEntityName, const char* pszModuleName, const char* pszMessage, const linkContext& pLinkInfo)
 {
-	if (Event_VtmLoader_GetConfig_Suc == dwUserCode)
+	if (Event_VtmLoader_GetConfig_Suc == dwUserCode) {
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("recv Event_VtmLoader_GetConfig_Suc");
 		m_FSM.m_pGuiTask->InitBack(this);
+	}
 
 	if (dwUserCode == EVENT_MACHINE_COVER_OPEN)		// 机盖打开
 	{

+ 1 - 1
Module/mod_vtmloader/VtmLoaderFSM.cpp

@@ -1744,7 +1744,7 @@ int CVtmLoaderFSM::HttpConnCheck(CSimpleStringA csHttAddr, HttpAddrType eType)
 #endif
 		if (!bCheckOK)
 		{
-			LogWarn(Severity_Middle, Error_Unexpect, VtmLoader_ConnectDetect_Failed, CSimpleStringA::Format("尝试连接总行服务失败(%s),%d 秒后自动重试(第%d次重试)。请确认终端到总行服务网络是否正常", csHttAddr.GetData(), m_iDetectInterval/1000, httpcheckCount).GetData());
+			LogWarn(Severity_High, Error_Unexpect, VtmLoader_ConnectDetect_Failed, CSimpleStringA::Format("尝试连接总行服务失败(%s),%d 秒后自动重试(第%d次重试)。请确认终端到总行服务网络是否正常", csHttAddr.GetData(), m_iDetectInterval/1000, httpcheckCount).GetData());
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040210F11").setResultCode("RTA1F06")("connect to http(s) service(%s) failed.", csHttAddr.GetData());
 			m_httpCheckResult[eType] = HttpConnResult_Failed;
 			Sleep(m_iDetectInterval);