Browse Source

任务用例显示 ;

scbc.sat2 5 years ago
parent
commit
aad60cbf96
2 changed files with 61 additions and 9 deletions
  1. 50 2
      SATService/SATService/SATExecutor.cpp
  2. 11 7
      SATService/SATService/SATProtocol.h

+ 50 - 2
SATService/SATService/SATExecutor.cpp

@@ -978,17 +978,65 @@ int CSATExecutor::AttachTaskInfo2Buffer(SATPROTO::TaskInfo (&pbuff)[SATPROTO::MA
 		AutoThreadSection ats(&m_csTask);
 		std::list<SATHTTP::STTask>::iterator it = m_vtTask.begin();
 		for ( ;it != m_vtTask.end(); it++ ) {
-			pbuff[count].nStatus = it->_nExecutionState;
+			// 任务状态;
+			//pbuff[count].nStatus = it->_nExecutionState;
+			// 任务id;
 			pbuff[count].nTaskId = it->Id;
+			// 任务编号;
 			memcpy_s(pbuff[count].szTaskNo, SATPROTO::MAX_NAME, it->Job.strUniqueId.c_str(), it->Job.strUniqueId.size());
+			// 任务名称;
 			memcpy_s(pbuff[count].szTaskName, SATPROTO::MAX_NAME, it->strTaskName.c_str(), it->strTaskName.size());
+			// 任务状态;
+			if ( it->_nExecutionState == SATHTTP::UNEXECUTED )
+			{
+				_stprintf_s(pbuff[count].szStatus, SATPROTO::MAX_STATUS, _T("未执行"));
+			}
+			else if (it->_nExecutionState == SATHTTP::INEXECUTED)
+			{
+				_stprintf_s(pbuff[count].szStatus, SATPROTO::MAX_STATUS, _T("执行中"));
+			}
+			else if (it->_nExecutionState == SATHTTP::EXECUTED)
+			{
+				_stprintf_s(pbuff[count].szStatus, SATPROTO::MAX_STATUS, _T("已执行"));
+			}
 
 			int nIndex = 0;
+			// 用例数量;
+			pbuff[count].nCaseSize = it->Job.vtCases.size();		
 			for (std::vector<SATHTTP::STCase>::iterator _case = it->Job.vtCases.begin(); _case != it->Job.vtCases.end(); _case++) {
-				pbuff[count].ssCases[nIndex].nStatus = _case->_nExecutionState;
+				// 用例状态;
+				// pbuff[count].ssCases[nIndex].nStatus = _case->_nExecutionState;
 				//pbuff[count].ssCases[nIndex].nCaseId = _case->_nCaseStep;
+				// 用例名称;
 				memcpy_s(pbuff[count].ssCases[nIndex].szCaseName, SATPROTO::MAX_NAME, _case->strCaseName.c_str(), _case->strCaseName.size());
+				// 用例日志路径;
+				memcpy_s(pbuff[count].ssCases[nIndex].szCaseLogPath, MAX_PATH, _case->_strCaseLog.c_str(), _case->_strCaseLog.size());
+				// 用例状态;
+				if (_case->_nExecutionState == SATHTTP::NONE)
+				{
+					_stprintf_s(pbuff[count].ssCases[nIndex].szStatus, SATPROTO::MAX_STATUS, _T("未执行"));
+				}
+				else if (_case->_nExecutionState == SATHTTP::SUCCESS)
+				{
+					_stprintf_s(pbuff[count].ssCases[nIndex].szStatus, SATPROTO::MAX_STATUS, _T("执行成功"));
+				}
+				else if (_case->_nExecutionState == SATHTTP::FAIL)
+				{
+					_stprintf_s(pbuff[count].ssCases[nIndex].szStatus, SATPROTO::MAX_STATUS, _T("执行失败"));
+				}
+				else if (_case->_nExecutionState == SATHTTP::ABNORMAL)
+				{
+					_stprintf_s(pbuff[count].ssCases[nIndex].szStatus, SATPROTO::MAX_STATUS, _T("执行异常"));
+				}
+				else if (_case->_nExecutionState == SATHTTP::OVERTIME)
+				{
+					_stprintf_s(pbuff[count].ssCases[nIndex].szStatus, SATPROTO::MAX_STATUS, _T("执行超时"));
+				}
+
 				nIndex++;
+				// 超过MAX_CASES退出;
+				if ( nIndex == SATPROTO::MAX_CASES )
+					break;
 			}
 
 			count++;

+ 11 - 7
SATService/SATService/SATProtocol.h

@@ -5,15 +5,17 @@
 
 namespace SATPROTO{
 	// 最大设备数;
-	const int MAX_DEVS(30);
+	const int MAX_DEVS(8);
 	// 文件名最大长度;
 	const int MAX_NAME(64);
 	// 最大用例数;
-	const int MAX_CASES(50);
+	const int MAX_CASES(128);
 	// 最大任务数;
-	const int MAX_TASKS(10);
+	const int MAX_TASKS(1);
 	// 通知内容最大长度;
 	const int MAX_NOTICE(30);
+	// 最大状态描述长度;
+	const int MAX_STATUS(8);
 	//////////////////////////////////////////////////////////////////////////
 	// 具体协议指令;
 	enum ProtocolCMD {
@@ -82,21 +84,23 @@ namespace SATPROTO{
 
 	typedef struct __CASE_INFO__ {
 		//int			nCaseId;					// 用例ID;
-		int			nStatus;					// 用例状态;
-		int			szCaseName[MAX_NAME];		// 用例名称;
-		//int			szCaseLogPath[MAX_PATH];	// 用例日志路径;	
+		TCHAR		szStatus[MAX_STATUS];					// 用例状态;
+		TCHAR		szCaseName[MAX_NAME];		// 用例名称;
+		TCHAR		szCaseLogPath[MAX_PATH];	// 用例日志路径;	
 	}CaseInfo, *pCaseInfo;
 
 	// 任务查询;
 	typedef struct __TASK_INFO__ {
-		int			nStatus;					// 任务状态;  0:执行中;1:执行完成;
+		//int			nStatus;					// 任务状态;  0:执行中;1:执行完成;
 		int			nTaskId;					// 任务ID;
 		char		szTaskNo[MAX_NAME];			// 任务编号;
 		char		szTaskName[MAX_NAME];		// 任务名称;
+		char		szStatus[MAX_STATUS];			// 任务状态;
 		//char		szDeviceId[MAX_PATH];		// 设备ID(序列号);
 		//char		szStartTime[MAX_PATH];		// 任务开始时间;
 		//char		szEndTime[MAX_PATH];		// 任务结束时间;
 		//char		szScriptDir[MAX_PATH];		// 脚本路径;
+		int			nCaseSize;					// 用例数量;
 		CaseInfo	ssCases[MAX_CASES];			// 每个任务上限MAX_CASES个用例脚本;
 	}TaskInfo, *pTaskInfo;