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/Equipment/F_BCK_Task.cs |  517 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 258 insertions(+), 259 deletions(-)

diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/F_BCK_Task.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/F_BCK_Task.cs
index f71eb1f..74a0cf3 100644
--- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/F_BCK_Task.cs
+++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/F_BCK_Task.cs
@@ -4,6 +4,7 @@
 using System;
 using System.Linq;
 using System.Threading;
+using System.Threading.Tasks;
 using WIDESEA_Common;
 using WIDESEA_Common.DBHelper;
 using WIDESEA_Common.Tools;
@@ -27,53 +28,22 @@
         {
             if (Interlocked.Exchange(ref _readFBCKSignalsoZBCK, 1) == 0)
             {
-
-                try
+                Task.Run(() =>
                 {
-                    FreeDB freeDB = new FreeDB();
-                    VOLContext Context = new VOLContext();
-                    Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
-                    Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
-
-                    //34鍑哄彛锛屼緵缁欒緤鍒嗕笂鏂欏彛
-                    var location_34 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ34" && t.location_state == "LocationState_Empty" && t.status == 1 && t.task == 2 && t.tpgd == 0).First();
-                    //36绌烘灦绔嬪嵆琛ユ枡
-                    //34绌烘灦绔嬪嵆琛ユ枡
-                    if (location_34 != null)
+                    try
                     {
+                        FreeDB freeDB = new FreeDB();
+                        VOLContext Context = new VOLContext();
+                        Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
+                        Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
 
-                        var location_34_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TBXL-BCK" && t.logic_col == 1/*姝e父鏂�*/ && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).OrderBy(t => t.update_time).First();
-                        //dt_agvtask task_34 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ34" || t.agv_toaddress == "FJ-BCHCJ34").FirstOrDefault();
-
-                        if (location_34_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
+                        //34鍑哄彛锛屼緵缁欒緤鍒嗕笂鏂欏彛
+                        var location_34 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ34" && t.location_state == "LocationState_Empty" && t.status == 1 && t.task == 2 && t.tpgd == 0).First();
+                        //36绌烘灦绔嬪嵆琛ユ枡
+                        //34绌烘灦绔嬪嵆琛ユ枡
+                        dt_agvtask dt_Agvtask34 = agvRepository.FindFirst(x=>x.agv_toaddress== "FJ-BCHCJ34");
+                        if (dt_Agvtask34 != null && location_34.task==2)
                         {
-                            //34璐т綅琛ユ枡浠诲姟
-                            dt_agvtask agvtask = new dt_agvtask();
-                            agvtask.agv_id = Guid.NewGuid();
-                            agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
-                            agvtask.agv_fromaddress = location_34_cp.upper_code;
-                            agvtask.agv_toaddress = location_34.upper_code;
-                            agvtask.agv_code = "璐熸瀬AGV璋冨害";
-                            agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(34琛ユ枡)";
-                            agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
-                            agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
-                            agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
-                            agvtask.agv_materielid = "";
-                            agvtask.agv_qty = 1;
-                            agvtask.agv_createtime = DateTime.Now;
-                            agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
-                            agvtask.agv_userid = "WCS";
-                            agvtask.agv_barcode = "";
-
-                            location_34_cp.update_time = DateTime.Now;
-                            location_34_cp.task = 1;
-                            var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
-                            if (entry != null)
-                            {
-                                entry.State = EntityState.Detached;
-                            }
-                          int begin=  locRepository.Update(location_34_cp, d => new { d.update_time, d.task }, true);
-
                             location_34.update_time = DateTime.Now;
                             location_34.task = 1;
                             location_34.logic_col = 1;
@@ -82,127 +52,95 @@
                             {
                                 entrys.State = EntityState.Detached;
                             }
-                          int end=  locRepository.Update(location_34, d => new { d.update_time, d.task, d.logic_col }, true);
-                            if (begin==1&& end==1)
-                            {
-                                agvRepository.Add(agvtask, true);
-
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_34_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_34_cp.tpgd},鐘舵�侊細{location_34_cp.location_state},鏇存柊鏃堕棿锛歿location_34_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_34.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_34.tpgd},鐘舵�侊細{location_34.location_state},鏇存柊鏃堕棿锛歿location_34.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛  {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
-                            }
-                
+                            int end = locRepository.Update(location_34, true);
                         }
-
-                    }
-
-                    //36鍑哄彛锛屼緵缁欐秱甯冧笂鏂欏彛
-                    var location_36 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ36" && t.location_state == "LocationState_Empty" && t.status == 1 && t.task == 2 && t.tpgd == 0).First();
-                    //36绌烘灦绔嬪嵆琛ユ枡
-                    if (location_36 != null)
-                    {
-
-
-                        var location_36_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TSJXL-BCK" && t.logic_col == 1 && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).OrderBy(t => t.update_time).First();
-                        //dt_agvtask task_36 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ36" || t.agv_toaddress == "FJ-BCHCJ36").FirstOrDefault();
-
-                        if (location_36_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
+                        if (location_34 != null && dt_Agvtask34==null)
                         {
 
-                            //36璐т綅琛ユ枡浠诲姟
-                            dt_agvtask agvtask = new dt_agvtask();
-                            agvtask.agv_id = Guid.NewGuid();
-                            agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
-                            agvtask.agv_fromaddress = location_36_cp.upper_code;
-                            agvtask.agv_toaddress = location_36.upper_code;
-                            agvtask.agv_code = "璐熸瀬AGV璋冨害";
-                            agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(36琛ユ枡)";
-                            agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
-                            agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
-                            agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
-                            agvtask.agv_materielid = "";
-                            agvtask.agv_qty = 1;
-                            agvtask.agv_createtime = DateTime.Now;
-                            agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
-                            agvtask.agv_userid = "WCS";
-                            agvtask.agv_barcode = "";
+                            var location_34_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TBXL-BCK" && t.logic_col == 1/*姝e父鏂�*/ && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).OrderBy(t => t.update_time).First();
+                            //dt_agvtask task_34 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ34" || t.agv_toaddress == "FJ-BCHCJ34").FirstOrDefault();
 
+                            if (location_34_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
+                            {
+                                //34璐т綅琛ユ枡浠诲姟
+                                dt_agvtask agvtask = new dt_agvtask();
+                                agvtask.agv_id = Guid.NewGuid();
+                                agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
+                                agvtask.agv_fromaddress = location_34_cp.upper_code;
+                                agvtask.agv_toaddress = location_34.upper_code;
+                                agvtask.agv_code = "璐熸瀬AGV璋冨害";
+                                agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(34琛ユ枡)";
+                                agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
+                                agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
+                                agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
+                                agvtask.agv_materielid = "";
+                                agvtask.agv_qty = 1;
+                                agvtask.agv_createtime = DateTime.Now;
+                                agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
+                                agvtask.agv_userid = "WCS";
+                                agvtask.agv_barcode = "";
 
-                            location_36_cp.update_time = DateTime.Now;
-                            location_36_cp.task = 1;
+                                location_34_cp.update_time = DateTime.Now;
+                                location_34_cp.task = 1;
+                                var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+                                if (entry != null)
+                                {
+                                    entry.State = EntityState.Detached;
+                                }
+                                int begin = locRepository.Update(location_34_cp, d => new { d.update_time, d.task }, true);
+
+                                location_34.update_time = DateTime.Now;
+                                location_34.task = 1;
+                                location_34.logic_col = 1;
+                                var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+                                if (entrys != null)
+                                {
+                                    entrys.State = EntityState.Detached;
+                                }
+                                int end = locRepository.Update(location_34, d => new { d.update_time, d.task, d.logic_col }, true);
+                                if (begin == 1 && end == 1)
+                                {
+                                    agvRepository.Add(agvtask, true);
+                                }
+
+                            }
+
+                        }
+
+                        //36鍑哄彛锛屼緵缁欐秱甯冧笂鏂欏彛
+                        var location_36 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ36" && t.location_state == "LocationState_Empty" && t.status == 1 && t.task == 2 && t.tpgd == 0).First();
+                        //36绌烘灦绔嬪嵆琛ユ枡
+                        dt_agvtask dt_Agvtask36 = agvRepository.FindFirst(x => x.agv_toaddress == "FJ-BCHCJ36");
+                        if (dt_Agvtask36 != null && location_36.task == 2)
+                        {
+                            location_36.update_time = DateTime.Now;
+                            location_36.task = 1;
+                            location_36.logic_col = 1;
                             var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
                             if (entrys != null)
                             {
                                 entrys.State = EntityState.Detached;
                             }
-                          int begin=  locRepository.Update(location_36_cp, d => new { d.update_time, d.task }, true);
-
-                            location_36.update_time = DateTime.Now;
-                            location_36.task = 1;
-                            location_36.logic_col = 1;
-                            var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
-                            if (entry != null)
-                            {
-                                entry.State = EntityState.Detached;
-                            }
-                          int end=  locRepository.Update(location_36, d => new { d.update_time, d.task, d.logic_col }, true);
-
-                            if (begin == 1 && end == 1)
-                            {
-                                agvRepository.Add(agvtask, true);
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_36_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36_cp.tpgd},鐘舵�侊細{location_36_cp.location_state},鏇存柊鏃堕棿锛歿location_36_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_36.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36.tpgd},鐘舵�侊細{location_36.location_state},鏇存柊鏃堕棿锛歿location_36.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛  {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
-                            }
+                            int end = locRepository.Update(location_36, true);
                         }
-
-
-                    }
-
-
-                    //35鍏ュ彛锛屼緵娑傚竷涓嬫枡
-                    var location_35 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ35" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2 && t.tpgd == 1 && (t.logic_row == "TBXL-BCK" || t.logic_col == 1)).First();
-                    //35鏈夋枡绔嬪嵆鎼蛋
-                    if (location_35 != null)
-                    {
-
-                        int index = 0;
-                        int b = 7;
-                        DateTime time = DateTime.Now;
-                        Double STAMP = 0;
-                        do
+                        if (location_36 != null && dt_Agvtask36 == null)
                         {
-                            DateTime time2 = DateTime.Now;
-                            STAMP = (time2 - time).TotalSeconds;
-                            base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_35.upper_code
-                && d.location_state == "LocationState_Stored" && location_35.tpgd == 1 && d.status == 1 && (location_35.logic_row == "TBXL-BCK" || location_35.logic_col == 1));
-                            if (ware_Location == null)
-                            {
-                                index = 3;
-                                break;
-                            }
 
-                        } while (STAMP < b);
-                        if (index != 3)
-                        {
-                            var location_35_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).First();
-                            if (location_35_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
+
+                            var location_36_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TSJXL-BCK" && t.logic_col == 1 && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).OrderBy(t => t.update_time).First();
+                            //dt_agvtask task_36 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ36" || t.agv_toaddress == "FJ-BCHCJ36").FirstOrDefault();
+
+                            if (location_36_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
                             {
-                                //35璐т綅琛ユ枡浠诲姟
+
+                                //36璐т綅琛ユ枡浠诲姟
                                 dt_agvtask agvtask = new dt_agvtask();
                                 agvtask.agv_id = Guid.NewGuid();
                                 agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
-                                agvtask.agv_fromaddress = location_35.upper_code;
-                                agvtask.agv_toaddress = location_35_cp.upper_code;
+                                agvtask.agv_fromaddress = location_36_cp.upper_code;
+                                agvtask.agv_toaddress = location_36.upper_code;
                                 agvtask.agv_code = "璐熸瀬AGV璋冨害";
-                                agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(35)";
+                                agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(36琛ユ枡)";
                                 agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
                                 agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
                                 agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
@@ -214,137 +152,198 @@
                                 agvtask.agv_barcode = "";
 
 
-                                location_35_cp.update_time = DateTime.Now;
-                                location_35_cp.task = 1;
-                                //location_35_cp.logic_row = "TBXL-BCK";
-                                var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
-                                if (entry != null)
-                                {
-                                    entry.State = EntityState.Detached;
-                                }
-                             int end=   locRepository.Update(location_35_cp, d => new { d.update_time, d.task }, true);
-
-                                location_35.update_time = DateTime.Now;
-                                location_35.task = 1;
+                                location_36_cp.update_time = DateTime.Now;
+                                location_36_cp.task = 1;
                                 var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
                                 if (entrys != null)
                                 {
                                     entrys.State = EntityState.Detached;
                                 }
-                             int begin=   locRepository.Update(location_35, d => new { d.update_time, d.task }, true);
+                                int begin = locRepository.Update(location_36_cp, d => new { d.update_time, d.task }, true);
+
+                                location_36.update_time = DateTime.Now;
+                                location_36.task = 1;
+                                location_36.logic_col = 1;
+                                var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+                                if (entry != null)
+                                {
+                                    entry.State = EntityState.Detached;
+                                }
+                                int end = locRepository.Update(location_36, d => new { d.update_time, d.task, d.logic_col }, true);
 
                                 if (begin == 1 && end == 1)
                                 {
                                     agvRepository.Add(agvtask, true);
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_35.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_35.tpgd},鐘舵�侊細{location_35.location_state},鏇存柊鏃堕棿锛歿location_35.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_35_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_35_cp.tpgd},鐘舵�侊細{location_35_cp.location_state},鏇存柊鏃堕棿锛歿location_35_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛  {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
                                 }
                             }
+
+
                         }
 
 
+                        //35鍏ュ彛锛屼緵娑傚竷涓嬫枡
+                        var location_35 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ35" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2 && t.tpgd == 1 && (t.logic_row == "TBXL-BCK" || t.logic_col == 1)).First();
+                        //35鏈夋枡绔嬪嵆鎼蛋
+                        if (location_35 != null)
+                        {
+
+                            int index = 0;
+                            int b = 7;
+                            DateTime time = DateTime.Now;
+                            Double STAMP = 0;
+                            do
+                            {
+                                DateTime time2 = DateTime.Now;
+                                STAMP = (time2 - time).TotalSeconds;
+                                base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_35.upper_code
+                    && d.location_state == "LocationState_Stored" && location_35.tpgd == 1 && d.status == 1 && (location_35.logic_row == "TBXL-BCK" || location_35.logic_col == 1));
+                                if (ware_Location == null)
+                                {
+                                    index = 3;
+                                    break;
+                                }
+
+                            } while (STAMP < b);
+                            if (index != 3)
+                            {
+                                var location_35_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).First();
+                                if (location_35_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
+                                {
+                                    //35璐т綅琛ユ枡浠诲姟
+                                    dt_agvtask agvtask = new dt_agvtask();
+                                    agvtask.agv_id = Guid.NewGuid();
+                                    agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
+                                    agvtask.agv_fromaddress = location_35.upper_code;
+                                    agvtask.agv_toaddress = location_35_cp.upper_code;
+                                    agvtask.agv_code = "璐熸瀬AGV璋冨害";
+                                    agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(35)";
+                                    agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
+                                    agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
+                                    agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
+                                    agvtask.agv_materielid = "";
+                                    agvtask.agv_qty = 1;
+                                    agvtask.agv_createtime = DateTime.Now;
+                                    agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
+                                    agvtask.agv_userid = "WCS";
+                                    agvtask.agv_barcode = "";
+
+
+                                    location_35_cp.update_time = DateTime.Now;
+                                    location_35_cp.task = 1;
+                                    //location_35_cp.logic_row = "TBXL-BCK";
+                                    var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+                                    if (entry != null)
+                                    {
+                                        entry.State = EntityState.Detached;
+                                    }
+                                    int end = locRepository.Update(location_35_cp, d => new { d.update_time, d.task }, true);
+
+                                    location_35.update_time = DateTime.Now;
+                                    location_35.task = 1;
+                                    var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+                                    if (entrys != null)
+                                    {
+                                        entrys.State = EntityState.Detached;
+                                    }
+                                    int begin = locRepository.Update(location_35, d => new { d.update_time, d.task }, true);
+
+                                    if (begin == 1 && end == 1)
+                                    {
+                                        agvRepository.Add(agvtask, true);
+                                    }
+                                }
+                            }
+
+
+                        }
+
+                        //37鍏ュ彛锛屼緵鎻愬崌鏈轰笅鏂�
+                        var location_37 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ37" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2 && t.tpgd == 1 && (t.logic_row == "TSJXL-BCK" || t.logic_col == 1)).First();
+
+                        //37鏈夋枡绔嬪嵆鎼蛋
+                        if (location_37 != null)
+                        {
+
+                            int index = 0;
+                            int b = 7;
+                            DateTime time = DateTime.Now;
+                            Double STAMP = 0;
+                            do
+                            {
+                                DateTime time2 = DateTime.Now;
+                                STAMP = (time2 - time).TotalSeconds;
+                                base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_37.upper_code
+                    && d.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_37.tpgd == 1 && d.status == 1 && (location_37.logic_row == "TSJXL-BCK" || location_37.logic_col == 1));
+                                if (ware_Location == null)
+                                {
+                                    index = 3;
+                                    break;
+                                }
+
+                            } while (STAMP < b);
+                            if (index != 3)
+                            {
+                                var location_37_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).First();
+                                //dt_agvtask task_37 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ37" || t.agv_toaddress == "FJ-BCHCJ37").FirstOrDefault();
+                                if (location_37_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
+                                {
+                                    //37璐т綅鎼繍浠诲姟
+                                    dt_agvtask agvtask = new dt_agvtask();
+                                    agvtask.agv_id = Guid.NewGuid();
+                                    agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
+                                    agvtask.agv_fromaddress = location_37.upper_code;
+                                    agvtask.agv_toaddress = location_37_cp.upper_code;
+                                    agvtask.agv_code = "璐熸瀬AGV璋冨害";
+                                    agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(37)";
+                                    agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
+                                    agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
+                                    agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
+                                    agvtask.agv_materielid = "";
+                                    agvtask.agv_qty = 1;
+                                    agvtask.agv_createtime = DateTime.Now;
+                                    agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
+                                    agvtask.agv_userid = "WCS";
+                                    agvtask.agv_barcode = "";
+
+                                    location_37_cp.update_time = DateTime.Now;
+                                    location_37_cp.task = 1;
+                                    //location_37_cp.logic_row = "TSJXL-BCK";
+                                    var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+                                    if (entry != null)
+                                    {
+                                        entry.State = EntityState.Detached;
+                                    }
+                                    int end = locRepository.Update(location_37_cp, d => new { d.task, d.update_time }, true);
+
+                                    location_37.update_time = DateTime.Now;
+                                    location_37.task = 1;
+                                    var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+                                    if (entrys != null)
+                                    {
+                                        entrys.State = EntityState.Detached;
+                                    }
+                                    int begin = locRepository.Update(location_37, d => new { d.task, d.update_time }, true);
+                                    if (begin == 1 && end == 1)
+                                    {
+                                        agvRepository.Add(agvtask, true);
+                                    }
+                                }
+                            }
+
+
+                        }
                     }
-
-                    //37鍏ュ彛锛屼緵鎻愬崌鏈轰笅鏂�
-                    var location_37 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "FJ-BCHCJ37" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2 && t.tpgd == 1 && (t.logic_row == "TSJXL-BCK" || t.logic_col == 1)).First();
-
-                    //37鏈夋枡绔嬪嵆鎼蛋
-                    if (location_37 != null)
+                    catch (Exception ex)
                     {
-               
-                        int index = 0;
-                        int b = 7;
-                        DateTime time = DateTime.Now;
-                        Double STAMP = 0;
-                        do
-                        {
-                            DateTime time2 = DateTime.Now;
-                            STAMP = (time2 - time).TotalSeconds;
-                            base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_37.upper_code
-                && d.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_37.tpgd == 1 && d.status == 1 && (location_37.logic_row == "TSJXL-BCK" || location_37.logic_col == 1));
-                            if (ware_Location == null)
-                            {
-                                index = 3;
-                                break;
-                            }
-
-                        } while (STAMP < b);
-                        if (index != 3)
-                        {
-                            var location_37_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("FJ-BCHCJ") && t.light_color != "SB" && t.status == 1 && t.task == 2).First();
-                            //dt_agvtask task_37 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ37" || t.agv_toaddress == "FJ-BCHCJ37").FirstOrDefault();
-                            if (location_37_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
-                            {
-                                //37璐т綅鎼繍浠诲姟
-                                dt_agvtask agvtask = new dt_agvtask();
-                                agvtask.agv_id = Guid.NewGuid();
-                                agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
-                                agvtask.agv_fromaddress = location_37.upper_code;
-                                agvtask.agv_toaddress = location_37_cp.upper_code;
-                                agvtask.agv_code = "璐熸瀬AGV璋冨害";
-                                agvtask.agv_remark = "璐熸瀬绠旀潗搴撴惉杩�(37)";
-                                agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
-                                agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
-                                agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
-                                agvtask.agv_materielid = "";
-                                agvtask.agv_qty = 1;
-                                agvtask.agv_createtime = DateTime.Now;
-                                agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
-                                agvtask.agv_userid = "WCS";
-                                agvtask.agv_barcode = "";
-
-                                location_37_cp.update_time = DateTime.Now;
-                                location_37_cp.task = 1;
-                                //location_37_cp.logic_row = "TSJXL-BCK";
-                                var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
-                                if (entry != null)
-                                {
-                                    entry.State = EntityState.Detached;
-                                }
-                             int end=   locRepository.Update(location_37_cp, d => new { d.task, d.update_time }, true);
-
-                                location_37.update_time = DateTime.Now;
-                                location_37.task = 1;
-                                var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
-                                if (entrys != null)
-                                {
-                                    entrys.State = EntityState.Detached;
-                                }
-                              int begin=  locRepository.Update(location_37, d => new { d.task, d.update_time }, true);
-                                if (begin == 1 && end == 1)
-                                {
-                                    agvRepository.Add(agvtask, true);
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_37.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_37.tpgd},鐘舵�侊細{location_37.location_state},鏇存柊鏃堕棿锛歿location_37.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_37_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_37_cp.tpgd},鐘舵�侊細{location_37_cp.location_state},鏇存柊鏃堕棿锛歿location_37_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
-                                    WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛  {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
-                                }
-                            }
-                        }
-
-
+                        WriteLog.GetLog().Write($"璐熸瀬娉婃潗锛歿DateTime.Now} --------------{ex}", $"璐熸瀬娉婃潗璋冨害");
                     }
-                }
-                catch (Exception ex)
-                {
+                    finally
+                    {
 
-                    throw new Exception(ex.Message);
-                }
-                finally
-                {
-
-                    Interlocked.Exchange(ref _readFBCKSignalsoZBCK, 0);
-                }
+                        Interlocked.Exchange(ref _readFBCKSignalsoZBCK, 0);
+                    }
+                });
+                
             }
         }
 

--
Gitblit v1.9.3