From 8f392cc88b0768b74efca3b68785cf5aa1c38e70 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 06 十一月 2024 14:28:20 +0800
Subject: [PATCH] 代码更新

---
 wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs |  358 +++++++++++++----------------------------------------------
 1 files changed, 81 insertions(+), 277 deletions(-)

diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs
index 2aea517..89cf2f0 100644
--- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs
+++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs
@@ -23,310 +23,114 @@
         private static string name1 = "";
         public static void SendAGVTask1(PLCClient plcClient)
         {
-            if (Interlocked.Exchange(ref _readSendAGVTaskSignalso, 1) == 0)
+
+            try
             {
-                try
+                if (plcClient == null) { return; }
+
+                VOLContext context = new VOLContext();
+                Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context);
+                Ibase_ware_locationRepository locationRepository = new base_ware_locationRepository(context);
+                int TaskInteractive = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));//1鏀跺埌
+                int TaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString()));//0鍒濆/1涓嬪彂/2鍙栨秷/3鏇存敼
+                int resetTaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.resetTaskInteractiveW.ToString()));
+
+                if (TaskInteractive == 0 && TaskInteractiveW == 0)
                 {
-                    if (plcClient == null) { return; }
-                    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------寮�濮嬭褰曪紝鏃堕棿锛歿DateTime.Now}------------", $"{plcClient.PLCName}SendAGVTask");
-                    VOLContext context = new VOLContext();
-                    Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context);
-                    Ibase_ware_locationRepository locationRepository = new base_ware_locationRepository(context);
-                    int TaskInteractive = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));//1鏀跺埌
-                    int TaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString()));//0鍒濆/1涓嬪彂/2鍙栨秷/3鏇存敼
-                    int resetTaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.resetTaskInteractiveW.ToString()));
-                    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.114锛岃鍙栧�硷細{TaskInteractive},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}SendAGVTask");
-                    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.112锛岃鍙栧�硷細{TaskInteractiveW},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}SendAGVTask");
-                    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.118锛岃鍙栧�硷細{resetTaskInteractiveW},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}SendAGVTask"); 
-                    if (isTrue1 && name1 == plcClient.PLCName)
+                    dt_agvtask agvTask = agvtaskRepository.Find(r => r.agv_taskstate == "Create" && r.agv_code == plcClient.PLCName && r.agv_tasktype.Contains("TaskType_Outbound")).OrderBy(r => r.agv_createtime).OrderByDescending(r => r.agv_grade).FirstOrDefault();
+                    if (null != agvTask)
                     {
-                        if (TaskInteractiveW != 0 || resetTaskInteractiveW != 0 || TaskInteractive != 0)
-                        {
-                            bool fw = plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 1);
-                            Task.Delay(2000).Wait();
-                            resetTaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.resetTaskInteractiveW.ToString()));
-                            if (resetTaskInteractiveW == 1)
-                            {
-                                plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 0);
-                                plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                                Task.Delay(2000).Wait();
-                            }
-                            return;
-                        }
-                        else
-                        {
-                            isTrue1 = false;
-                            name1 = "";
-                        }
-                    }
-                    else if (resetTaskInteractiveW == 1)
-                    {
-                        plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 0);
-                        plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                        Task.Delay(2000).Wait();
-                        return;
-                    }
-                    if (TaskInteractive == 0 && TaskInteractiveW == 0)
-                    {
-                        dt_agvtask agvTask = agvtaskRepository.Find(r => r.agv_taskstate == "Create" && r.agv_code == plcClient.PLCName && r.agv_tasktype.Contains("TaskType_Outbound")).OrderBy(r => r.agv_createtime).OrderByDescending(r => r.agv_grade).FirstOrDefault();
-                        if (null != agvTask)
-                        {
-                            //鍐欏叆浠诲姟淇℃伅
-                            string rel = AGVBaseInfo.TaskWrite(plcClient, agvTask, AGVJobEnum.newTaskEnum);
-                            Thread.Sleep(1000);
-                            string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString();
+                        //鍐欏叆浠诲姟淇℃伅
+                        string rel = AGVBaseInfo.TaskWrite(plcClient, agvTask, AGVJobEnum.newTaskEnum);
 
-                            if (taskId != agvTask.agv_tasknum)
+                        if (string.IsNullOrEmpty(rel))
+                        {
+                            Thread.Sleep(500);
+                            for (int i = 0; i < 5; i++)
                             {
-                                isTrue1 = true;
-                                name1 = plcClient.PLCName;
-                                ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 缁橝GV鍐欏叆浠诲姟澶辫触,璇诲彇AGV鐨則askid:{agvTask.agv_tasknum}, AGV浠诲姟闃熷垪涓笉瀛樺湪,鏃堕棿锛歿 DateTime.Now}", $"{plcClient.PLCName}SendAGVTask");
-                                ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0},鏃堕棿锛歿 DateTime.Now}", $"{plcClient.PLCName}SendAGVTask");
-                                ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask");
-                                return;
-                                //throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum));
-                            }
-                            if (string.IsNullOrEmpty(rel))
-                            {
-                                //鍐欏叆浠诲姟纭1
-                                bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 1);
-                                Thread.Sleep(1000);
-                                ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"鍐欏叆 浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:1锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW}", $"{plcClient.PLCName}SendAGVTask");
-                                //璇诲彇AGV淇″彿
-                                int ReadTask_1_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));
-                                ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_1_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_1_OK)}", $"{plcClient.PLCName}SendAGVTask");
-                                if (ReadTask_1_OK == 1)
+                                Thread.Sleep(200);
+                                string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString();
+                                if (taskId != agvTask.agv_tasknum)
                                 {
-                                    //鍐欏叆WCS纭淇″彿0
-                                    bool taskInteractiveW2 = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                                    Thread.Sleep(2000);
-                                    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:0锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW2}", $"{plcClient.PLCName}SendAGVTask");
-                                    //璇诲彇AGV淇″彿鏄惁涓�0
-                                    int ReadTask_0_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));
-                                    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_0_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_0_OK)}", $"{plcClient.PLCName}SendAGVTask");
-
-                                    if (ReadTask_0_OK == 0)
-                                    {
-                                        agvTask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
-                                        agvTask.agv_realesstime = DateTime.Now;
-                                        int agvtsask = agvtaskRepository.Update(agvTask, true);
-                                        //if (agvtsask!=1)
-                                        //{
-                                        //    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍐呭锛氫换鍔′慨鏀瑰け璐ワ紝鍙嶉鍊硷細{agvtsask}", $"{plcClient.PLCName}SendAGVTask");
-                                        //    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask");
-                                        //    return;
-                                        //}
-                                        //else
-                                        //{
-                                        //    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍐呭锛氳揣浣嶇姸鎬佸凡淇敼鏈�愬凡涓嬪彂銆戠姸鎬侊紝浠诲姟淇敼鎴愬姛锛屽弽棣堝�硷細{agvtsask}", $"{plcClient.PLCName}SendAGVTask");
-                                        //}
-                                    }
+                                    if (i < 4)
+                                        AGVBaseInfo.TaskWrite(plcClient, agvTask, AGVJobEnum.newTaskEnum);
                                     else
-                                    {
-                                        isTrue1 = true;
-                                        name1 = plcClient.PLCName;
-                                        ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"缁橝GV鍐欏叆浠诲姟纭0澶辫触 浠诲姟鍙穥agvTask.agv_tasknum}" + DateTime.Now, $"{plcClient.PLCName}SendAGVTask");
-                                        ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask");
                                         return;
-                                        //throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟纭0澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum));
-                                    }
-                                }
-                                else if (ReadTask_1_OK == 11)
-                                {
-                                    plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                                    Thread.Sleep(2000);
-                                    int ReadTask_0_Error = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));
-                                    if (ReadTask_0_Error == 0)
-                                    {
-                                        agvTask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
-                                        agvTask.agv_realesstime = DateTime.Now;
-                                        agvtaskRepository.Update(agvTask, true);
-                                    }
-                                    else
-                                    {
-                                        isTrue1 = true;
-                                        name1 = plcClient.PLCName;
-                                        throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟寮傚父纭0澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum));
-                                    }
                                 }
                                 else
                                 {
-                                    isTrue1 = true;
-                                    name1 = plcClient.PLCName;
-                                    throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟纭1澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum));
+                                    break;
                                 }
                             }
-                            else
+                            //鍐欏叆浠诲姟纭1
+                            bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 1);
+                            for (int i = 0; i < 5; i++)
                             {
-                                isTrue1 = true;
-                                name1 = plcClient.PLCName;
-                                throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0}" + "," + rel, agvTask.agv_tasknum));
+                                Thread.Sleep(200);
+                                object readValue = plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString());
+                                if (readValue != null && readValue.ToString() == "1")
+                                {
+                                    break;
+                                }
+                                else
+                                {
+                                    plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 1);
+                                }
                             }
+                        }
+                    }
+                }
+                else if (TaskInteractive == 11 && TaskInteractiveW == 1)
+                {
+                    plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
+                    for (int i = 0; i < 5; i++)
+                    {
+                        Thread.Sleep(200);
+                        object readValue = plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString());
+                        if (readValue != null && readValue.ToString() == "0")
+                        {
+                            break;
                         }
                         else
                         {
-
-                            ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask");
-                            ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------寮�濮嬭褰曪紝鏃堕棿锛歿DateTime.Now}------------", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                            ////var ddd = plcClient.SiemensPLCClient.SiemensS7NetClient.ReadString("DB1000.320", 30).Content;
-                            OperateResult<string> TaskID = plcClient.SiemensPLCClient.SiemensS7NetClient.ReadString("DB1000.320", 30);
-
-                            if (TaskID.IsSuccess)
+                            plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
+                        }
+                    }
+                }
+                else if (1 == TaskInteractive && TaskInteractiveW == 1)
+                {
+                    string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString();
+                    var agvTask = agvtaskRepository.FindFirst(x => x.agv_tasknum == taskId);
+                    if (agvTask != null)
+                    {
+                        if (agvTask.agv_taskstate != AGVTaskStateEnum.SendOut.ToString())
+                            agvTask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
+                        agvTask.agv_realesstime = DateTime.Now;
+                        agvtaskRepository.Update(agvTask, true);
+                        plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
+                        for (int i = 0; i < 5; i++)
+                        {
+                            Thread.Sleep(200);
+                            object readValue = plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString());
+                            if (readValue != null && readValue.ToString() == "0")
                             {
-
-                                TaskID.Content = TaskID.Content?.Replace("\b", "")?.Replace("\\", "")?.Replace("\0", "")?.Replace("\u0004", "")?.Replace("\u0003", "")?.Replace("\u0014", "")?.Replace("\u001e", "")?.Replace("\u0006", "")?.Replace("emptyID", "")?.Replace("mptyID", "")?.Replace("ptyID", "")?.Replace("tyID", "")?.Replace("yID", "")?.Replace("ID", "")?.Replace("\a", "")?.Replace("5-3:20:54:402025123", "");
-                                string result = TaskID.Content == null ? "" : TaskID.Content.Trim();
-                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"璇诲彇  { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.320锛岃鍙栧�硷細{result},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-
-                                if (result != "")
-                                {
-                                    Idt_agvtask_htyRepository agvtask_HtyRepository = new dt_agvtask_htyRepository(context);
-                                    dt_agvtask aTask = agvtaskRepository.FindFirst(d => d.agv_tasknum == result);
-                                    if (aTask != null)
-                                    {
-                                        //agvTask.agv_worktype = 2;
-                                        string rel = AGVBaseInfo.TaskWrite(plcClient, aTask, AGVJobEnum.cancelTaskEnum);
-                                        Thread.Sleep(1000);
-                                        string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString();
-                                        if (taskId != aTask.agv_tasknum)
-                                        {
-                                            isTrue1 = true;
-                                            name1 = plcClient.PLCName;
-                                            ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write("缁橝GV鍐欏叆浠诲姟澶辫触,璇诲彇AGV鐨則askid" + aTask.agv_tasknum + "AGV浠诲姟闃熷垪涓笉瀛樺湪" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                            ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                            return;
-                                        }
-                                        if (string.IsNullOrEmpty(rel))
-                                        {
-                                            ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},缁橝GV鍐欏叆鍙栨秷浠诲姟鎴愬姛, 鏃堕棿锛歿 DateTime.Now}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                            //鍐欏叆浠诲姟纭1
-                                            bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 2);
-                                            Thread.Sleep(1000);
-                                            ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:2锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                            //璇诲彇AGV淇″彿
-                                            int ReadTask_1_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));
-                                            ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_1_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_1_OK)}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                            if (ReadTask_1_OK == 1)
-                                            {
-                                                //鍐欏叆WCS纭淇″彿0
-                                                bool taskInteractiveW2 = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                                                Thread.Sleep(2000);
-                                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:0锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW2}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                //璇诲彇AGV淇″彿鏄惁涓�0
-                                                int ReadTask_0_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));
-                                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_0_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_0_OK)}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                if (ReadTask_0_OK == 0)
-                                                {
-                                                    //浠h〃鍙嶉AGV娓呮浠诲姟鎴愬姛
-                                                    updateloction(aTask, locationRepository, agvtaskRepository);
-                                                    string Operate = "AGV鍙栨秷2";
-                                                    agvtask_HtyRepository.AddTaskHistory(aTask, Operate);
-                                                    agvtaskRepository.Delete(aTask, true);
-                                                    ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鎴愬姛鍒犻櫎娣诲姞鍘嗗彶璁板綍", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                    ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                    return;
-                                                }
-                                                else
-                                                {
-                                                    isTrue1 = true;
-                                                    name1 = plcClient.PLCName;
-                                                    ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"缁橝GV鍐欏叆浠诲姟纭0澶辫触 浠诲姟鍙穥aTask.agv_tasknum}" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                    ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                    return;
-                                                }
-                                            }
-                                            else if (ReadTask_1_OK == 11)
-                                            {
-                                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"AGV鍙嶉浠诲姟11鐨勫紓甯� 浠诲姟鍙穥aTask.agv_tasknum}" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                                                Thread.Sleep(2000);
-                                                int ReadTask_0_Error = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));
-                                                if (ReadTask_0_Error == 0)
-                                                {
-                                                    updateloction(aTask, locationRepository, agvtaskRepository);
-                                                    string Operate = "AGV鍙栨秷11";
-                                                    agvtask_HtyRepository.AddTaskHistory(aTask, Operate);
-                                                    agvtaskRepository.Delete(aTask, true);
-                                                }
-                                                else
-                                                {
-                                                    isTrue1 = true;
-                                                    name1 = plcClient.PLCName;
-                                                    ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"缁橝GV鍐欏叆浠诲姟寮傚父纭0澶辫触,浠诲姟鍙穥0},鏃堕棿锛�" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                    ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                    return;
-                                                    // throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟寮傚父纭0澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum));
-                                                }
-                                            }
-                                            else
-                                            {
-                                                isTrue1 = true;
-                                                name1 = plcClient.PLCName;
-                                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"缁橝GV鍐欏叆浠诲姟纭1澶辫触,浠诲姟鍙穥0},鏃堕棿锛�" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                                return;
-                                            }
-
-                                        }
-                                    }
-                                    else
-                                    {
-                                        ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write("AGV鍙嶉鐨勪换鍔″彿" + result + "AGV浠诲姟闃熷垪涓笉瀛樺湪锛屾椂闂达細" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                        ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------{Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                        return;
-                                    }
-                                }
+                                break;
                             }
                             else
                             {
-                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------{plcClient.PLCName}鏂紑杩炴帴  鏃堕棿锛歿DateTime.Now}  -------------- {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�");
-                                return;
+                                plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
                             }
-
-
-
                         }
                     }
-                    else
-                    {
-                        bool taskInteractiveW2 = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                    }
-                    if (TaskInteractive == 11)
-                    {
-                        plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                        plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 0);
-                    }
-                    //else  if ( TaskInteractive==1 && TaskInteractiveW == 1)
-                    //  {
-                    //  isTrue1 = true;
-                    //  name1 = plcClient.PLCName;
-                    //  //鍐欏叆WCS纭淇″彿0
-                    //  //bool taskInteractiveW=  plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
-                    //      ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"鍐欏叆 ,鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:0锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW}锛屾椂闂达細{ DateTime.Now}", $"{plcClient.PLCName}SendAGVTask");
-                    //      ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask");
-                    //      return;
-                    //  }
-                    //else if (TaskInteractive == 1 && TaskInteractiveW == 2)
-                    //  {
-                    //  isTrue1 = true;
-                    //  name1 = plcClient.PLCName;
-                    //  //鍐欏叆WCS纭淇″彿0
-                    //  //bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0);
+                }
 
-                    //      return;
-                    //  }
-
-                }
-                catch (Exception ex)
-                {
-                    ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write(ex.Message, $"{plcClient.PLCName}SendAGVTask");
-                }
-                finally
-                {
-                    Interlocked.Exchange(ref _readSendAGVTaskSignalso, 0);
-                }
             }
+            catch (Exception ex)
+            {
+                //throw new Exception(ex.Message);
+                WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write(ex.Message, $"{plcClient.PLCName}SendAGVTask");
+            }
+
         }
 
         private static void updateloction(dt_agvtask aTask, Ibase_ware_locationRepository locationRepository, Idt_agvtaskRepository agvtaskRepository)

--
Gitblit v1.9.3