From bd327b1c240ed2aca48ab6e427285dcb12235f72 Mon Sep 17 00:00:00 2001 From: pengmn <pmn@HanInfo> Date: 星期三, 02 七月 2025 17:38:11 +0800 Subject: [PATCH] 1 --- HH.WCS.Mobox3.HangYang/wms/WMSHelper.cs | 189 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 183 insertions(+), 6 deletions(-) diff --git a/HH.WCS.Mobox3.HangYang/wms/WMSHelper.cs b/HH.WCS.Mobox3.HangYang/wms/WMSHelper.cs index d86ece3..e5816b5 100644 --- a/HH.WCS.Mobox3.HangYang/wms/WMSHelper.cs +++ b/HH.WCS.Mobox3.HangYang/wms/WMSHelper.cs @@ -544,6 +544,50 @@ #region 鏉哀WMS甯姪鏂规硶 /// <summary> + /// 鏂板鐗╂枡涓绘暟鎹�+ /// </summary> + /// <param name="materials"></param> + /// <returns></returns> + internal static bool CreateMaterialData(List<TN_Material> materials) + { + try + { + bool res = false; + var db = new SqlHelper<object>().GetInstance(); + db.BeginTran(); + foreach (var material in materials) + { + var _Material = db.Queryable<TN_Material>().Where(c => c.S_ITEM_CODE == material.S_ITEM_CODE).First(); + if (_Material != null) + { + db.Updateable<TN_Material>(material).UpdateColumns(a => new { a.S_ITEM_NAME, a.S_ITEM_TYPE, a.S_ITEM_SPEC, a.S_MATERIAL, a.S_UOM, a.C_CLEAN, a.T_MODIFY }).ExecuteCommand(); + } + else + { + db.Insertable(material).ExecuteCommand(); + } + } + db.CommitTran(); + res = true; + return res; + } + catch (Exception ex) + { + var sugarEx = ex as SqlSugar.SqlSugarException; + if (sugarEx != null) + { + LogHelper.Error($"鍒涘缓鍏ュ簱鍗昐QL閿欒: {sugarEx.Sql}", sugarEx, "鏉哀"); + } + else + { + LogHelper.Error($"鍒涘缓鍏ュ簱鍗曞け璐�{ex.Message}", ex, "鏉哀"); + } + return false; + } + + } + + /// <summary> /// 鏂板鍏ュ簱鍗� /// </summary> /// <param name="order"></param> @@ -557,8 +601,24 @@ db.BeginTran(); foreach (var orderItem in order) { - db.Insertable(orderItem).ExecuteCommand(); - db.Insertable(orderItem.InOrderDetail).ExecuteCommand(); + var _order = db.Queryable<InOrder>().Where(c => c.S_NO == orderItem.S_NO).First(); + if (_order != null) + { + if (_order.N_B_STATE == 0) + { + db.Updateable<InOrder>(orderItem).UpdateColumns(a => new { a.S_OP_TYPE, a.S_BS_TYPE, a.S_NOTE, a.T_MODIFY }).ExecuteCommand(); + foreach (var item in orderItem.InOrderDetail) + { + db.Updateable<InOrderDetail>(item).UpdateColumns(a => new { a.S_ITEM_CODE, a.S_ITEM_NAME, a.F_QTY }).ExecuteCommand(); + } + } + } + else + { + db.Insertable(orderItem).ExecuteCommand(); + db.Insertable(orderItem.InOrderDetail).ExecuteCommand(); + } + } db.CommitTran(); res = true; @@ -594,8 +654,26 @@ db.BeginTran(); foreach (var orderItem in order) { - db.Insertable(orderItem).ExecuteCommand(); - db.Insertable(orderItem.OutOrderDetail).ExecuteCommand(); + + var _order = db.Queryable<OutOrder>().Where(c => c.S_NO == orderItem.S_NO).First(); + if (_order != null) + { + if (_order.N_B_STATE == 0) + { + db.Updateable<OutOrder>(orderItem).UpdateColumns(a => new { a.S_OP_TYPE, a.S_BS_TYPE, a.S_NOTE, a.T_MODIFY }).ExecuteCommand(); + foreach (var item in orderItem.OutOrderDetail) + { + db.Updateable<InOrderDetail>(item).UpdateColumns(a => new { a.S_ITEM_CODE, a.S_ITEM_NAME, a.F_QTY }).ExecuteCommand(); + } + } + } + else + { + db.Insertable(orderItem).ExecuteCommand(); + db.Insertable(orderItem.OutOrderDetail).ExecuteCommand(); + } + + } db.CommitTran(); res = true; @@ -608,6 +686,105 @@ } } + + /// <summary> + /// 鍏ュ簱鍗曞彇娑�+ /// </summary> + /// <param name="order"></param> + /// <returns></returns> + internal static bool CancelOrderIn(InOrder order) + { + try + { + bool res = false; + var db = new SqlHelper<object>().GetInstance(); + db.BeginTran(); + + var _order = db.Queryable<InOrder>().Where(c => c.S_NO == order.S_NO).First(); + if (_order != null) + { + if (_order.N_B_STATE == 0) + { + foreach (var item in order.InOrderDetail) + { + db.Deleteable<InOrderDetail>().Where(it => it.S_ITEM_CODE.Trim() == item.S_ITEM_CODE && it.S_BS_NO == order.S_BS_NO).ExecuteCommand(); + } + } + } + var _orderItem = db.Queryable<InOrderDetail>().Where(c => c.S_BS_NO == order.S_BS_NO).First(); + if (_orderItem == null) + { + db.Deleteable<InOrder>().Where(it => it.S_BS_NO == order.S_BS_NO).ExecuteCommand(); + } + db.CommitTran(); + res = true; + return res; + } + catch (Exception ex) + { + var sugarEx = ex as SqlSugar.SqlSugarException; + if (sugarEx != null) + { + LogHelper.Error($"鍙栨秷鍏ュ簱鍗昐QL閿欒: {sugarEx.Sql}", sugarEx, "鏉哀"); + } + else + { + LogHelper.Error($"鍙栨秷鍏ュ簱鍗曞け璐�{ex.Message}", ex, "鏉哀"); + } + return false; + } + + } + + /// <summary> + /// 鍑哄簱鍗曞彇娑�+ /// </summary> + /// <param name="order"></param> + /// <returns></returns> + internal static bool CancelOrderOut(OutOrder order) + { + try + { + bool res = false; + var db = new SqlHelper<object>().GetInstance(); + db.BeginTran(); + + var _order = db.Queryable<OutOrder>().Where(c => c.S_NO == order.S_NO).First(); + if (_order != null) + { + if (_order.N_B_STATE == 0) + { + foreach (var item in order.OutOrderDetail) + { + db.Deleteable<OutOrderDetail>().Where(it => it.S_ITEM_CODE.Trim() == item.S_ITEM_CODE && it.S_BS_NO == order.S_BS_NO).ExecuteCommand(); + } + } + } + var _orderItem = db.Queryable<OutOrderDetail>().Where(c => c.S_BS_NO == order.S_BS_NO).First(); + if (_orderItem == null) + { + db.Deleteable<OutOrder>().Where(it => it.S_BS_NO == order.S_BS_NO).ExecuteCommand(); + } + db.CommitTran(); + res = true; + return res; + } + catch (Exception ex) + { + var sugarEx = ex as SqlSugar.SqlSugarException; + if (sugarEx != null) + { + LogHelper.Error($"鍙栨秷鍑哄簱鍗昐QL閿欒: {sugarEx.Sql}", sugarEx, "鏉哀"); + } + else + { + LogHelper.Error($"鍙栨秷鍑哄簱鍗曞け璐�{ex.Message}", ex, "鏉哀"); + } + return false; + } + + } + #endregion #region 鏉哀鐗规畩甯姪鏂规硶 @@ -1092,7 +1269,7 @@ { // 鏂规1锛氬悎骞朵换鍔★紙鐩存帴鍑哄簱澶栦晶璐т綅锛� tasks.Add(CreateOutboundTask(outerLoc, - outbound.First(o => o.locCode == outerLoc.S_CODE),"1")); + outbound.First(o => o.locCode == outerLoc.S_CODE), "1")); } else { @@ -1179,7 +1356,7 @@ .FirstOrDefault(); } - private WCSTask CreateOutboundTask(Location loc, Outbound outbound,string priority = "") => + private WCSTask CreateOutboundTask(Location loc, Outbound outbound, string priority = "") => new WCSTask { S_CODE = GenerateTaskNo(), -- Gitblit v1.9.1