public JObject GetDetailInfoByTaskId(string requestInfo) { //根据任务Id获取任务步骤信息 JObject requestJson = JObject.Parse(requestInfo); string taskId = requestJson.GetValue("taskId").ToString(); Dictionary <string, object> taskInfo = TaskDataProcessor.GetDetailInfoByTaskId(taskId); JObject resultObj = new JObject(); resultObj.Add("code", "000"); Task_Main task = (Task_Main)taskInfo["task"]; JObject taskObj = new JObject(); taskObj.Add("createTime", task.CreateTime == null ? "" : ((DateTime)task.CreateTime).ToString("yyyy-MM-dd HH:mm:ss")); taskObj.Add("description", HttpUtility.UrlEncode(task.Description)); taskObj.Add("createTime", task.EndTime == null ? "" : ((DateTime)task.EndTime).ToString("yyyy-MM-dd HH:mm:ss")); taskObj.Add("id", task.Id); taskObj.Add("level", task.Level); taskObj.Add("name", HttpUtility.UrlEncode(task.Name)); taskObj.Add("serialNumber", HttpUtility.UrlEncode(task.SerialNumber)); taskObj.Add("startTime", task.StartTime == null ? "" : ((DateTime)task.StartTime).ToString("yyyy-MM-dd HH:mm:ss")); taskObj.Add("statusType", task.StatusType.ToString()); resultObj.Add("task", taskObj); List <Task_Step> steps = (List <Task_Step>)taskInfo["steps"]; JArray stepObjects = new JArray(); foreach (Task_Step step in steps) { JObject stepObj = new JObject(); stepObj.Add("endTime", step.EndTime == null ? "" : ((DateTime)step.EndTime).ToString("yyyy-MM-dd HH:mm:ss")); stepObj.Add("fatalErrorInfo", HttpUtility.UrlEncode(step.Message)); stepObj.Add("id", step.Id); stepObj.Add("inputParameters", HttpUtility.UrlEncode(step.InputParameters)); stepObj.Add("projectName", HttpUtility.UrlEncode(step.ProjectName)); stepObj.Add("runIndex", step.RunIndex); stepObj.Add("startTime", step.StartTime == null ? "" : ((DateTime)step.StartTime).ToString("yyyy-MM-dd HH:mm:ss")); stepObj.Add("statusType", step.StatusType.ToString()); stepObj.Add("taskId", step.TaskId); stepObjects.Add(stepObj); } resultObj.Add("steps", stepObjects); return(resultObj); }