浏览代码

1、新增Replaceb函数;
2、修正脚本保存路径;

scbc.sat2 5 年之前
父节点
当前提交
2a0a5c9185
共有 3 个文件被更改,包括 23 次插入3 次删除
  1. 12 0
      SATService/SATService/Global.cpp
  2. 2 0
      SATService/SATService/Global.h
  3. 9 3
      SATService/SATService/SATExecutor.cpp

+ 12 - 0
SATService/SATService/Global.cpp

@@ -1352,4 +1352,16 @@ namespace GLOBAL
 
 		return nTotal;
 	}
+
+	std::string Replace(std::string strSrc, std::string strNew, std::string strOld)
+	{
+		while(true) {     
+			std::string::size_type pos(0);     
+			if(( pos = strSrc.find(strOld)) != std::string::npos )     
+				strSrc.replace(pos,strOld.length(),strNew);     
+			else
+				break;     
+		} 
+		return strSrc; 
+	}
 };

+ 2 - 0
SATService/SATService/Global.h

@@ -177,6 +177,8 @@ namespace GLOBAL
 	void WritePythonLog(LPCTSTR file, const TCHAR* msg);
 	// 获取本机IP地址;
 	std::string GetLocalAddress(int nType = MIB_IF_TYPE_ETHERNET);
+	// 替换指定字符串;
+	std::string Replace(std::string strSrc, std::string strNew, std::string strOld);
 };
 
 #endif

+ 9 - 3
SATService/SATService/SATExecutor.cpp

@@ -897,10 +897,10 @@ DWORD CSATExecutor::HearbeatThread(LPVOID lpVoid)
 	do {
 		// 没有登录成功,不查询;
 		if ( !that->m_bLogin ) continue;
-
 		// 更新设备;
 		that->UpdateDevice();
-		
+		// 脚本保存目录;
+		std::string strScriptSaveDir;
 		SATHTTP::STHeartbeatReq stHeartbeatReq;
 		SATHTTP::STHeartbeatResp stHeartbeatResp;
 		std::string url = GLOBAL::g_stSATConfig.szExecuteServer;
@@ -923,7 +923,13 @@ DWORD CSATExecutor::HearbeatThread(LPVOID lpVoid)
 						// 下载脚本;
 						_case->_nCaseStep = i++;
 						SATHTTP::STScriptUrlResp stScriptUrlResp;
-						if ( DownloadScript(url, _case->strId, GLOBAL::g_stSATConfig.szScriptDir, stScriptUrlResp) ) {
+						// 脚本保存路径;
+						strScriptSaveDir = GLOBAL::g_stSATConfig.szScriptDir;
+						strScriptSaveDir.append(it->Job.strProjectName+"\\");
+						strScriptSaveDir.append(it->Job.strUniqueId+"\\");
+						// 把冒号改成下划线;
+						strScriptSaveDir.append(GLOBAL::Replace(it->Job.strDeviceId, "_", ":")+"\\");
+						if ( DownloadScript(url, _case->strId, strScriptSaveDir, stScriptUrlResp) ) {
 							_case->_strFileDir = stScriptUrlResp._strFileDir;
 							_case->_strFileName = stScriptUrlResp._strFileName;
 							_case->_strScriptPath = stScriptUrlResp._strScripFile;