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/Z_TBSB_UPTask.cs |  186 ++++++++++++++++++++++++----------------------
 1 files changed, 97 insertions(+), 89 deletions(-)

diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_UPTask.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_UPTask.cs
index 176ccb5..8258c82 100644
--- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_UPTask.cs
+++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_UPTask.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading;
+using System.Threading.Tasks;
 using WIDESEA_Common;
 using WIDESEA_Common.DBHelper;
 using WIDESEA_Common.LoctionEnum;
@@ -26,105 +27,112 @@
         {
             if (Interlocked.Exchange(ref _readZTBSignalsoZ, 1) == 0)
             {
-                try
+                Task.Run(() =>
                 {
-                    FreeDB freeDB = new FreeDB();
-                    VOLContext Context = new VOLContext();
-                    Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
-                    Ibase_routing_tableRepository routingRepository = new base_routing_tableRepository(Context);
-                    Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
-                    List<string> TBSBS = new List<string> { "娑傚竷鏈烘鏋�1", "娑傚竷鏈烘鏋�2", "娑傚竷鏈烘鏋�3", "娑傚竷鏈烘鏋�4" };
-
-                    //寰幆澶勭悊娑傚竷璁惧涓婃枡璇锋眰
-                    foreach (var TBSB in TBSBS)
+                    try
                     {
-                        string SB_Up_Location = "ZJSL-TBSB" + TBSB.Replace("娑傚竷鏈烘鏋�", "");//鎷兼帴娑傚竷涓婃枡鍙�
-                        if (WCSService.Clients == null)
-                        {
-                            return;
-                        }
-                        PLCClient plc = WCSService.Clients.Find(v => v.PLCName == TBSB);
-                        if (plc == null)
-                        {
-                            continue;
-                        }
-                        //褰撳墠璁惧鏈夋病鏈変笂鏂欒姹�
-                        bool GYR_RFX = plc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11093.00").Content;
-                        //Convert.ToBoolean(plc.ReadValue("R_Feedingrequest".ToString(), SB_Up_Location));
-                        if (GYR_RFX)
-                        {
-                            //鏌ョ湅褰撳墠娑傚竷鏈鸿澶囨槸鍚︽湁AGV浠诲姟
-                            var SBtask = agvRepository.FindFirst(f => f.agv_fromaddress == SB_Up_Location || f.agv_toaddress == SB_Up_Location);
-                            //鏈夌粨鏉熸湰娆″惊鐜�                            if (SBtask != null) { continue; }
-                            List<base_routing_table> Routing_Table = routingRepository.Find(d => d.route_end == SB_Up_Location);
+                        FreeDB freeDB = new FreeDB();
+                        VOLContext Context = new VOLContext();
+                        Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
+                        Ibase_routing_tableRepository routingRepository = new base_routing_tableRepository(Context);
+                        Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
+                        List<string> TBSBS = new List<string> { "娑傚竷鏈烘鏋�1", "娑傚竷鏈烘鏋�2", "娑傚竷鏈烘鏋�3", "娑傚竷鏈烘鏋�4" };
 
-                            //鎵惧埌瀵瑰簲绠旀潗搴撹揣浣嶏紙36鍙蜂綅缃級锛屽苟纭鏈夋枡
-                            base_ware_location location_36 = locRepository.FindFirst(t => t.upper_code == "ZJ-BCHCJ34" && t.location_state == LoctionStateEnum.LocationState_Stored.ToString() && t.status == 1 && t.logic_col == 1 && t.task == 2);
-                            if (location_36 != null)
+                        //寰幆澶勭悊娑傚竷璁惧涓婃枡璇锋眰
+                        foreach (var TBSB in TBSBS)
+                        {
+                            string SB_Up_Location = "ZJSL-TBSB" + TBSB.Replace("娑傚竷鏈烘鏋�", "");//鎷兼帴娑傚竷涓婃枡鍙�
+                            if (WCSService.Clients == null)
                             {
-                                dt_agvtask agvtask_36 = agvRepository.Find(t => t.agv_fromaddress == location_36.upper_code).FirstOrDefault();
-                                if (agvtask_36 != null)
-                                {
-                                    return;
-                                }
-                                //鐢熸垚娑傚竷鏈轰笂鏂欎换鍔�
-                                dt_agvtask agvtask = new dt_agvtask()
-                                {
-                                    agv_id = Guid.NewGuid(),
-                                    agv_tasknum = "KH-" + IdenxManager.GetTaskNo(),
-                                    agv_fromaddress = location_36.upper_code,
-                                    agv_toaddress = SB_Up_Location,
-                                    agv_code = "姝f瀬AGV璋冨害",
-                                    agv_remark = "娑傚竷涓婃枡浠诲姟",
-                                    agv_taskstate = AGVTaskStateEnum.Create.ToString(),
-                                    agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(),
-                                    agv_worktype = 1,//宸ヤ綔绫诲瀷
-                                    agv_materielid = "",
-                                    agv_qty = 1,
-                                    agv_createtime = DateTime.Now,
-                                    agv_grade = 0,//浠诲姟浼樺厛绾�
-                                    agv_userid = "WCS",
-                                    agv_barcode = "",
-                                };
-                                //WriteLog.GetLog($"浠诲姟鐢熸垚璁板綍").Write($"浠诲姟鍙凤細{agvtask.agv_tasknum}锛岃捣鐐箋location_36.upper_code}鍏夌數锛歿location_36.created_user}=>缁堢偣锛歿SB_Up_Location}锛屼换鍔″凡鐢熸垚", "浠诲姟鐢熸垚璁板綍");
-                            
+                                return;
+                            }
+                            PLCClient plc = WCSService.Clients.Find(v => v.PLCName == TBSB);
+                            if (plc == null)
+                            {
+                                continue;
+                            }
+                            //褰撳墠璁惧鏈夋病鏈変笂鏂欒姹�
+                            bool GYR_RFX = plc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11093.00").Content;
+                            //Convert.ToBoolean(plc.ReadValue("R_Feedingrequest".ToString(), SB_Up_Location));
+                            if (GYR_RFX)
+                            {
+                                //鏌ョ湅褰撳墠娑傚竷鏈鸿澶囨槸鍚︽湁AGV浠诲姟
+                                var SBtask = agvRepository.FindFirst(f => f.agv_fromaddress == SB_Up_Location || f.agv_toaddress == SB_Up_Location);
+                                //鏈夌粨鏉熸湰娆″惊鐜�
+                                if (SBtask != null) { continue; }
+                                #region 璁板綍涓婃枡璇锋眰淇″彿
+                                WriteLog.GetLog().Write($"{plc.PLCName}涓婃枡璇锋眰锛歿GYR_RFX}---{DateTime.Now}", $"姝f瀬娑傚竷涓婃枡璇锋眰");
+                                #endregion
+                                List<base_routing_table> Routing_Table = routingRepository.Find(d => d.route_end == SB_Up_Location);
 
-                                location_36.task = 1;
-                                location_36.update_time = DateTime.Now;
-
-                              int a=  locRepository.Update(location_36, d => new { d.task, d.update_time }, true);
-                                if (a==1)
+                                //鎵惧埌瀵瑰簲绠旀潗搴撹揣浣嶏紙36鍙蜂綅缃級锛屽苟纭鏈夋枡
+                                base_ware_location location_36 = locRepository.FindFirst(t => t.upper_code == "ZJ-BCHCJ34" && t.location_state == LoctionStateEnum.LocationState_Stored.ToString() && t.status == 1 && t.logic_col == 1 && t.task == 2);
+                                if (location_36 != null)
                                 {
+                                    dt_agvtask agvtask_36 = agvRepository.Find(t => t.agv_fromaddress == location_36.upper_code).FirstOrDefault();
+                                    if (agvtask_36 != null)
+                                    {
+                                        return;
+                                    }
+                                    //鐢熸垚娑傚竷鏈轰笂鏂欎换鍔�
+                                    dt_agvtask agvtask = new dt_agvtask()
+                                    {
+                                        agv_id = Guid.NewGuid(),
+                                        agv_tasknum = "KH-" + IdenxManager.GetTaskNo(),
+                                        agv_fromaddress = location_36.upper_code,
+                                        agv_toaddress = SB_Up_Location,
+                                        agv_code = "姝f瀬AGV璋冨害",
+                                        agv_remark = "娑傚竷涓婃枡浠诲姟",
+                                        agv_taskstate = AGVTaskStateEnum.Create.ToString(),
+                                        agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(),
+                                        agv_worktype = 1,//宸ヤ綔绫诲瀷
+                                        agv_materielid = "",
+                                        agv_qty = 1,
+                                        agv_createtime = DateTime.Now,
+                                        agv_grade = 0,//浠诲姟浼樺厛绾�
+                                        agv_userid = "WCS",
+                                        agv_barcode = "",
+                                    };
+                                    //WriteLog.GetLog($"浠诲姟鐢熸垚璁板綍").Write($"浠诲姟鍙凤細{agvtask.agv_tasknum}锛岃捣鐐箋location_36.upper_code}鍏夌數锛歿location_36.created_user}=>缁堢偣锛歿SB_Up_Location}锛屼换鍔″凡鐢熸垚", "浠诲姟鐢熸垚璁板綍");
+
+
+                                    location_36.task = 1;
+                                    location_36.update_time = DateTime.Now;
+
+                                    int a = locRepository.Update(location_36, d => new { d.task, d.update_time }, true);
+                                    if (a == 1)
+                                    {
                                         agvRepository.Add(agvtask, true);
-                                    WriteDBLog.Info($"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum},璧风偣璐т綅銆恵location_36.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36.tpgd},鐘舵�侊細{location_36.location_state},鏇存柊鏃堕棿锛歿location_36.wireless_time}", $"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�");
-                                    WriteDBLog.Info($"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛  {DateTime.Now} -------------- {Environment.NewLine}", $"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�");
-                                
-                            }
-                                //WriteLog.GetLog("璁惧鍛煎彨").Write($"璁惧 {TBSB} 鍛煎彨鎴愬姛锛屼换鍔agvtask.agv_tasknum}鐢熸垚", "璁惧鍛煎彨");
-                                break;
-                            }
-                            else
-                            {
-                                //WriteLog.GetLog("璁惧鍛煎彨").Write($"璁惧 {TBSB} 涓婃枡鍛煎彨锛屾湭鎵惧埌婊¤冻鎼繍鏉′欢鐨勮揣鏋讹紝浠诲姟鐢熸垚澶辫触", "璁惧鍛煎彨");
-                            }
+                                        //WriteDBLog.Info($"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum},璧风偣璐т綅銆恵location_36.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36.tpgd},鐘舵�侊細{location_36.location_state},鏇存柊鏃堕棿锛歿location_36.wireless_time}", $"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�");
+                                        //WriteDBLog.Info($"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛  {DateTime.Now} -------------- {Environment.NewLine}", $"銆恵TBSB}銆戜笂鏂欎换鍔$敓鎴�");
 
+                                    }
+                                    //WriteLog.GetLog("璁惧鍛煎彨").Write($"璁惧 {TBSB} 鍛煎彨鎴愬姛锛屼换鍔agvtask.agv_tasknum}鐢熸垚", "璁惧鍛煎彨");
+                                    break;
+                                }
+                                else
+                                {
+                                    //WriteLog.GetLog("璁惧鍛煎彨").Write($"璁惧 {TBSB} 涓婃枡鍛煎彨锛屾湭鎵惧埌婊¤冻鎼繍鏉′欢鐨勮揣鏋讹紝浠诲姟鐢熸垚澶辫触", "璁惧鍛煎彨");
+                                }
+
+                            }
+                            //else
+                            //{
+
+                            //     //WriteLog.GetLog("TBZ涓婃枡鍛煎彨").Write($"璁惧锛歿TBSB} 鍐呭锛氭棤鍛煎彨璇锋眰  鏃堕棿璁板綍:{DateTime.Now}", "TBZ涓婃枡鍛煎彨");
+                            //}
                         }
-                        //else
-                        //{
-
-                        //     //WriteLog.GetLog("TBZ涓婃枡鍛煎彨").Write($"璁惧锛歿TBSB} 鍐呭锛氭棤鍛煎彨璇锋眰  鏃堕棿璁板綍:{DateTime.Now}", "TBZ涓婃枡鍛煎彨");
-                        //}
                     }
-                }
-                catch (Exception)
-                {
-
-                    throw;
-                }
-                finally
-                {
-                    Interlocked.Exchange(ref _readZTBSignalsoZ, 0);
-                }
+                    catch (Exception ex)
+                    {
+                        WriteLog.GetLog().Write($"姝f瀬娑傚竷涓婃枡锛歿DateTime.Now} --------------{ex}", $"姝f瀬娑傚竷涓婃枡");
+                    }
+                    finally
+                    {
+                        Interlocked.Exchange(ref _readZTBSignalsoZ, 0);
+                    }
+                });
+                
             }
         }
 

--
Gitblit v1.9.3