/// <summary> /// 撤销点火请求 /// </summary> /// <param name="meter"></param> /// <returns></returns> public string UnDoDianHuo(IoT_Meter meter) { Meter _m = new TaskManageDA().QueryMeter(meter.MeterNo.Trim()); if (_m.MeterState == "0") { return(string.Format("表{0}点火已完成,不能撤销。", meter.MeterNo.Trim())); } if (_m.MeterState == "1" || _m.MeterState == "2" || _m.MeterState == "4") { return(string.Format("表{0}不是点火状态,不能撤销。", meter.MeterNo.Trim())); } _m.MeterState = "4"; List <CY.IoTM.Common.Business.Task> list = new TaskManageDA().GetTaskList(meter.MeterNo.Trim()); foreach (CY.IoTM.Common.Business.Task task in list) { foreach (Command cmd in task.CommandList) { if (cmd.CommandState == CommandState.Waitting) { cmd.CommandState = CommandState.Undo; CommandDA.Update(cmd); } } task.TaskState = TaskState.Undo; new TaskManageDA().TaskCompile(task); } return(new MeterDA().UpdateMeter(_m));; }
public static string Undo(string taskID) { //先读任务 try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("TaskID", taskID); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList == null || dataList.Count == 0) { return("没有找到TaskID:【" + taskID + "】的任务。"); } Task task = dataList[0]; if (task.TaskState != TaskState.Waitting) { return(string.Format("任务TaskID:{0}状态为:{1},不能撤销.", taskID, task.TaskState)); } task.TaskState = TaskState.Undo; List <Command> list = CommandDA.QueryCommandList(task.TaskID); if (list != null && list.Count == 0) { return(string.Format("任务TaskID:{0}的指令已执行,不能撤销.", taskID)); } foreach (Command cmd in list) { cmd.CommandState = CommandState.Undo; cmd.AnswerDate = QuShi.getDate(); CommandDA.Update(cmd); } new TaskManageDA().TaskCompile(task); return(""); } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); return(e.Message); } }
public string XZFinished(string taskID) { string result = ""; List <Command> list = CommandDA.QueryCommandList(taskID); foreach (Command cmd in list) { if (cmd.CommandState == CommandState.Waitting) { cmd.CommandState = CommandState.Finished; result += CommandDA.Update(cmd); } } TaskManageDA taskMDa = new TaskManageDA(); Task task = taskMDa.QueryTask(taskID); if (task.TaskState == TaskState.Waitting) { task.TaskState = TaskState.Finished; result += taskMDa.TaskCompile(task); } return(result); }
public void CommandCompile(Command command) { CommandDA.Update(command); }