From 51141e4955e3021058664bea526f16b368738b3a Mon Sep 17 00:00:00 2001
From: pengmn <pmn@HanInfo>
Date: 星期二, 24 六月 2025 18:20:26 +0800
Subject: [PATCH] test

---
 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..117ce1e 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.OrderDetail)
+                        {
+                            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.OrderDetail)
+                        {
+                            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