From e1a97fc8b29f063e96e3ebbae2f07ee95b276069 Mon Sep 17 00:00:00 2001 From: lss <Lss@HanInfo> Date: 星期四, 05 六月 2025 17:25:31 +0800 Subject: [PATCH] 合肥佳通优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 51 insertions(+), 7 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs index c6c002d..aa6c5da 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs @@ -1,6 +1,7 @@ 锘縰sing HH.WCS.JiaTong.util; using System; using System.Collections.Generic; +using System.IdentityModel.Protocols.WSTrust; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -56,11 +57,16 @@ var task = db.Queryable<WCSTask>().Where(a => a.S_CODE.Trim() == no).First(); return task; } - + /// <summary> + /// 鏍规嵁璧风偣璐т綅鏈畬鎴愮殑浠诲姟 + /// </summary> + /// <param name="loc"></param> + /// <returns></returns> internal static WCSTask GetTaskByStartloc(string loc) { var db = new SqlHelper<WCSTask>().GetInstance(); - var task = db.Queryable<WCSTask>().Where(a => a.S_START_LOC.Trim() == loc && a.S_B_STATE.Trim() != "瀹屾垚").First(); + string[] statue = new string[] { "瀹屾垚", "鍙栨秷", "閿欒" }; + var task = db.Queryable<WCSTask>().Where(a => a.S_START_LOC.Trim() == loc && !statue.Contains(a.S_B_STATE.Trim())).First(); return task; } /// <summary> @@ -71,7 +77,7 @@ internal static List<WCSTask> GetTaskBycntrcode(string no) { var db = new SqlHelper<WCSTask>().GetInstance(); - var task = db.Queryable<WCSTask>().Where(a => a.S_CNTR_CODE.Trim() == no && a.S_B_STATE.Trim() == "瀹屾垚" ).ToList(); + var task = db.Queryable<WCSTask>().Where(a => a.S_CNTR_CODE.Trim() == no && a.S_B_STATE.Trim() == "瀹屾垚").ToList(); return task; } internal static WCSTask GetTaskBySrcNo(string no) @@ -181,7 +187,7 @@ var db = new SqlHelper<TaskAction>().GetInstance(); return db.Queryable<TaskAction>().Count(a => a.S_TASK_CODE == no && a.N_ACTION_CODE == code) > 0; } - internal static void Begin(WCSTask task) + internal static void Begin(WCSTask task, string agvno) { var db = new SqlHelper<WCSTask>().GetInstance(); if (task != null) @@ -191,7 +197,8 @@ task.N_B_STATE = 2; task.S_B_STATE = WCSTask.GetStateStr(task.N_B_STATE); task.T_START_TIME = DateTime.Now; - db.Updateable(task).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_START_TIME }).ExecuteCommand(); + task.S_WORKSHOP_NO = agvno; + db.Updateable(task).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_START_TIME, it.S_WORKSHOP_NO }).ExecuteCommand(); } } @@ -220,13 +227,50 @@ } internal static bool CreateTask(WCSTask TN_Task) { + + var db = new SqlHelper<WCSTask>().GetInstance(); try { - var db = new SqlHelper<WCSTask>().GetInstance(); - return db.Insertable(TN_Task).ExecuteCommand() > 0; + bool res = false; + db.BeginTran(); + res = db.Insertable(TN_Task).ExecuteCommand() > 0; + if (res) + { + var Startmodel = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == TN_Task.S_START_LOC).First(); + var Endmodel = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == TN_Task.S_END_LOC).First(); + if (Startmodel != null && Startmodel.S_LOCK_STATE.Trim() == "鏃�) + { + Startmodel.N_LOCK_STATE = 2; + Startmodel.S_LOCK_STATE = Location.GetLockStateStr(2); + res = db.Updateable(Startmodel).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() > 0; + } + if (Endmodel != null && Endmodel.S_LOCK_STATE.Trim() == "鏃�) + { + Endmodel.N_LOCK_STATE = 1; + Endmodel.S_LOCK_STATE = Location.GetLockStateStr(1); + res = db.Updateable(Endmodel).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() > 0; + } + if (res) + { + LogHelper.Info($"閿佸畾璐т綅鎴愬姛"); + db.CommitTran(); + } + else + { + LogHelper.Info($"閿佸畾璐т綅澶辫触"); + db.RollbackTran(); + } + } + else + { + LogHelper.Info($"浠诲姟:{TN_Task.S_CODE}鐢熸垚澶辫触"); + db.RollbackTran(); + } + return res; } catch (Exception ex) { + db.RollbackTran(); Console.WriteLine(ex.Message); throw; } -- Gitblit v1.9.1