Esempio n. 1
0
        /// <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));;
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public void CommandCompile(Command command)
 {
     CommandDA.Update(command);
 }