From 011d17bc8df981ba31e895873ab0e4a17da8288f Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期四, 26 六月 2025 17:46:13 +0800 Subject: [PATCH] 优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs | 71 +++++++++++++++++++++++++++++++++-- 1 files changed, 67 insertions(+), 4 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 e543e7e..d0cffe9 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs @@ -20,7 +20,9 @@ { var res = false; var db = new SqlHelper<WCSTask>().GetInstance(); + task.S_B_STATE = status; + db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand(); return res; } @@ -172,6 +174,7 @@ internal static bool AddActionRecord(string no, int state, string forkliftNo, string extData) { var db = new SqlHelper<TaskAction>().GetInstance(); + var action = new TaskAction() { N_ACTION_CODE = state, @@ -187,7 +190,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) @@ -197,8 +200,24 @@ 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.S_WORKSHOP_NO }).ExecuteCommand(); } + + } + } + + internal static void UpdateAgvNo(WCSTask task, string agvno) + { + var db = new SqlHelper<WCSTask>().GetInstance(); + if (task != null) + { + + + task.T_START_TIME = DateTime.Now; + task.S_WORKSHOP_NO = agvno; + db.Updateable(task).UpdateColumns(it => new { it.T_START_TIME, it.S_WORKSHOP_NO }).ExecuteCommand(); + } } @@ -226,13 +245,57 @@ } 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; + LogHelper.Info($"浠诲姟锛歿TN_Task.S_CODE}寮�鍒涘缓"); + 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; + } + else + { + LogHelper.Info($"浠诲姟:{TN_Task.S_CODE}鐢熸垚澶辫触,璧风偣璐т綅涓嶅彲鐢�); + db.RollbackTran(); + return false; + } + 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