private void AbortTask(TaskFlowManagement.CurrentProcessTask TaskJob, Node Node, string Message)
        {
            _TaskReport.On_Alarm_Happen(AlarmManagement.NewAlarm(Node, Message));

            _TaskReport.On_TaskJob_Aborted(TaskJob);
            _TaskReport.On_Message_Log("CMD", TaskJob.TaskName.ToString() + " " + (TaskJob.Params.ContainsKey("@Target") ? TaskJob.Params["@Target"] : "") + " Aborted");
        }
 private void FinishTask(TaskFlowManagement.CurrentProcessTask TaskJob)
 {
     if (TaskJob.TaskName.ToString().IndexOf("CCLINK") == -1)
     {
         _TaskReport.On_Message_Log("CMD", TaskJob.TaskName.ToString() + " " + (TaskJob.Params.ContainsKey("@Target") ? TaskJob.Params["@Target"] : "") + " Finished");
     }
     _TaskReport.On_TaskJob_Finished(TaskJob);
 }
        public void Excute(object input)
        {
            TaskFlowManagement.CurrentProcessTask TaskJob = (TaskFlowManagement.CurrentProcessTask)input;
            if (TaskJob.TaskName != TaskFlowManagement.Command.CCLINK_GET_IO && TaskJob.TaskName != TaskFlowManagement.Command.CCLINK_SET_IO)
            {
                logger.Debug("ITaskFlow:" + TaskJob.TaskName.ToString() + " Index:" + TaskJob.CurrentIndex.ToString());
            }
            if (TaskJob.CurrentIndex == 0 && TaskJob.TaskName.ToString().IndexOf("CCLINK") == -1)
            {
                _TaskReport.On_Message_Log("CMD", TaskJob.TaskName.ToString() + " " + (TaskJob.Params.ContainsKey("@Target") ? TaskJob.Params["@Target"] : "") + " Executing");
            }
            string Message  = "";
            Node   Target   = null;
            Node   Position = null;
            string tmp      = "";
            string Value    = "";


            if (TaskJob.Params != null)
            {
                foreach (KeyValuePair <string, string> item in TaskJob.Params)
                {
                    switch (item.Key)
                    {
                    case "@Target":
                        Target = NodeManagement.Get(item.Value);
                        break;

                    case "@Position":
                        Position = NodeManagement.Get(item.Value);
                        break;

                    case "@Value":
                        Value = item.Value;
                        break;
                    }
                }
            }
            try
            {
                switch (TaskJob.TaskName)
                {
                }
            }
            catch (Exception e)
            {
                logger.Error("Excute fail Task Name:" + TaskJob.TaskName.ToString() + " " + (TaskJob.Params.ContainsKey("@Target") ? TaskJob.Params["@Target"] : "") + " exception: " + e.StackTrace);
                AbortTask(TaskJob, NodeManagement.Get("SYSTEM"), e.StackTrace);
                return;
            }
            return;
        }
Beispiel #4
0
 public void On_TaskJob_Aborted(TaskFlowManagement.CurrentProcessTask Task)
 {
 }
Beispiel #5
0
 public void On_TaskJob_Finished(TaskFlowManagement.CurrentProcessTask Task)
 {
 }
Beispiel #6
0
 public void On_TaskJob_Aborted(TaskFlowManagement.CurrentProcessTask Task, string NodeName, string ReportType, string Message)
 {
 }
Beispiel #7
0
        public void On_Connection_Message(object Msg)
        {
            try
            {
                JObject restoredObject = JsonConvert.DeserializeObject <JObject>(Msg.ToString());
                //JObject可使用LINQ方式存取
                //var q = from p in restoredObject.Properties()
                //        where p.Name == "Name"
                //        select p;
                TaskFlowManagement.CurrentProcessTask Task = null;
                Node Node = null;
                CommandReturnMessage ReturnMsg = null;
                Transaction          Txn       = null;
                switch (restoredObject.Property("Event").Value.ToString())
                {
                case "NodeReq":
                    ReqNode       = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    NodeAvailable = true;
                    break;

                case "SystemConfig":
                    SystemConfig SysCfg = JsonConvert.DeserializeObject <SystemConfig>(restoredObject.Property("SystemConfig").Value.ToString());
                    //Dictionary<string, string> param = new Dictionary<string, string>();
                    //param.Add("@Target","ROBOT01");
                    //NewTask("123123", TaskFlowManagement.Command.ROBOT_HOME,param);
                    break;

                case "On_TaskJob_Ack":
                    Task = JsonConvert.DeserializeObject <TaskFlowManagement.CurrentProcessTask>(restoredObject.Property("Task").Value.ToString());
                    _Report.On_TaskJob_Ack(Task);
                    break;

                case "On_TaskJob_Finished":
                    Task = JsonConvert.DeserializeObject <TaskFlowManagement.CurrentProcessTask>(restoredObject.Property("Task").Value.ToString());
                    _Report.On_TaskJob_Finished(Task);
                    break;

                case "On_TaskJob_Aborted":
                    Task = JsonConvert.DeserializeObject <TaskFlowManagement.CurrentProcessTask>(restoredObject.Property("Task").Value.ToString());
                    string NodeName   = restoredObject.Property("NodeName").Value.ToString();
                    string ReportType = restoredObject.Property("ReportType").Value.ToString();
                    string Message    = restoredObject.Property("Message").Value.ToString();
                    _Report.On_TaskJob_Aborted(Task);
                    break;

                case "On_Alarm_Happend":
                    //TransferControl.Management.AlarmManagement.AlarmInfo Alarm = JsonConvert.DeserializeObject<TransferControl.Management.AlarmManagement.AlarmInfo>(restoredObject.Property("Alarm").Value.ToString());
                    //_Report.On_Alarm_Happen(Alarm);
                    break;

                case "On_Event_Trigger":
                    Node      = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    ReturnMsg = JsonConvert.DeserializeObject <CommandReturnMessage>(restoredObject.Property("Msg").Value.ToString());
                    _Report.On_Event_Trigger(Node, ReturnMsg);
                    break;

                case "On_Command_Excuted":
                    Node      = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    Txn       = JsonConvert.DeserializeObject <Transaction>(restoredObject.Property("Txn").Value.ToString());
                    ReturnMsg = JsonConvert.DeserializeObject <CommandReturnMessage>(restoredObject.Property("Msg").Value.ToString());
                    _Report.On_Command_Excuted(Node, Txn, ReturnMsg);
                    break;

                case "On_Command_Finished":
                    Node      = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    Txn       = JsonConvert.DeserializeObject <Transaction>(restoredObject.Property("Txn").Value.ToString());
                    ReturnMsg = JsonConvert.DeserializeObject <CommandReturnMessage>(restoredObject.Property("Msg").Value.ToString());
                    _Report.On_Command_Finished(Node, Txn, ReturnMsg);
                    break;
                }
            }
            catch (Exception e)
            {
                MessageLog("CMD", e.Message);
                MessageLog("CMD", e.StackTrace);
                MessageLog("CMD", Msg.ToString());
            }
        }