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 | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 42 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..aa6c5da 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/WCSHelper.cs @@ -187,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) @@ -197,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(); } } @@ -226,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