From c3202f7d43746c084066d88e58913d85c0173d88 Mon Sep 17 00:00:00 2001
From: 杨张扬 <634643841@qq.com>
Date: 星期五, 13 六月 2025 17:14:42 +0800
Subject: [PATCH] 双钱-需求变更,增加复检合格物料自动搬送流程

---
 wms/SpecHelper.cs |  137 +++++++++++++++++++++++++++++++--------------
 1 files changed, 95 insertions(+), 42 deletions(-)

diff --git a/wms/SpecHelper.cs b/wms/SpecHelper.cs
index 12c9718..257bb58 100644
--- a/wms/SpecHelper.cs
+++ b/wms/SpecHelper.cs
@@ -77,7 +77,7 @@
                 var log = JsonConvert.SerializeObject(model);
                 if (model != null)
                 {
-                    model.Expiration = System.DateTime.Now.AddMinutes(GetExportTime(model.Spec));
+                    model.EXPIRATION = System.DateTime.Now.AddHours(GetExportTime(model.SPEC));
 
                     if (db.Insertable<TN_EquipProDetail>(model).ExecuteCommand() > 0)
                     {
@@ -87,27 +87,6 @@
                     {
                         LogHelper.Info($"鎻掑叆璁惧鐢熶骇鏄庣粏澶辫触锛寋log}");
                     }
-                }
-            }
-            catch (Exception ex)
-            {
-                LogHelper.Error("鎻掑叆璁惧鐢熶骇鏄庣粏澶辫触", ex);
-            }
-        }
-
-        /// <summary>
-        /// 鏇存柊璁惧鐢熶骇鏄庣粏鐨勮繃鏈熸椂闂�-        /// </summary>
-        public static void UpdateEquipProDetail(string cg_SID)
-        {
-            try
-            {
-                var db = new SqlHelper<object>().GetInstance();
-                var target = db.Queryable<TN_EquipProDetail>().First(a => a.S_ID == cg_SID);
-                if (target != null)
-                {
-                    target.Expiration = System.DateTime.Now.AddMinutes(GetExportTime(target.Spec));
-                    db.Updateable<TN_EquipProDetail>().UpdateColumns(it => new { it.Expiration }).ExecuteCommand();
                 }
             }
             catch (Exception ex)
@@ -129,8 +108,8 @@
                 var log = JsonConvert.SerializeObject(model);
                 if (model != null)
                 {
-                    model.OutAreaTime = System.DateTime.Now;
-                    model.Type = "婊℃墭鍑哄簱涓婄嚎";
+                    model.OUTAREATIME = System.DateTime.Now;
+                    model.TYPE = "婊℃墭鍑哄簱涓婄嚎";
 
                     if (db.Insertable<TN_Component_Detail>(model).ExecuteCommand() > 0)
                     {
@@ -156,11 +135,11 @@
             try
             {
                 var db = new SqlHelper<object>().GetInstance();
-                var target  = db.Queryable<TN_Component_Detail>().First(o => o.TaskNo == taskNo);
+                var target  = db.Queryable<TN_Component_Detail>().First(o => o.TASKNO == taskNo);
 
                 if (target != null)
                 {
-                    target.EndTime = System.DateTime.Now;
+                    target.ENDTIME = System.DateTime.Now;
 
                     if (db.Updateable<TN_Component_Detail>(target).ExecuteCommand() > 0)
                     {
@@ -191,7 +170,7 @@
                 var log = JsonConvert.SerializeObject(model);
                 if (model != null)
                 {
-                    model.RemeltTime = System.DateTime.Now;
+                    model.REMELTTIME = System.DateTime.Now;
 
                     if (db.Insertable<TN_RemeltDetail>(model).ExecuteCommand() > 0)
                     {
@@ -217,11 +196,11 @@
             try
             {
                 var db = new SqlHelper<object>().GetInstance();
-                var target = db.Queryable<TN_RemeltDetail>().First(o => o.TaskNo == taskNo);
+                var target = db.Queryable<TN_RemeltDetail>().First(o => o.TASKNO == taskNo);
 
                 if (target != null)
                 {
-                    target.EndTime = System.DateTime.Now;
+                    target.ENDTIME = System.DateTime.Now;
 
                     if (db.Updateable<TN_RemeltDetail>(target).ExecuteCommand() > 0)
                     {
@@ -252,7 +231,7 @@
                 var log = JsonConvert.SerializeObject(model);
                 if (model != null)
                 {
-                    model.RemeltTime = System.DateTime.Now;
+                    model.REMELTTIME = System.DateTime.Now;
 
                     if (db.Insertable<TN_SurplusDetail>(model).ExecuteCommand() > 0)
                     {
@@ -278,11 +257,11 @@
             try
             {
                 var db = new SqlHelper<object>().GetInstance();
-                var target = db.Queryable<TN_SurplusDetail>().First(o => o.TaskNo == taskNo);
+                var target = db.Queryable<TN_SurplusDetail>().First(o => o.TASKNO == taskNo);
 
                 if (target != null)
                 {
-                    target.EndTime = System.DateTime.Now;
+                    target.ENDTIME = System.DateTime.Now;
 
                     if (db.Updateable<TN_SurplusDetail>(target).ExecuteCommand() > 0)
                     {
@@ -308,11 +287,11 @@
             try
             {
                 var db = new SqlHelper<object>().GetInstance();
-                var target = db.Queryable<TN_SurplusDetail>().First(o => o.TaskNo == taskNo);
+                var target = db.Queryable<TN_SurplusDetail>().First(o => o.TASKNO == taskNo);
 
                 if (target != null)
                 {
-                    target.Weight = weight;
+                    target.WEIGHT = weight;
                     if (db.Updateable<TN_SurplusDetail>(target).ExecuteCommand() > 0)
                     {
                         LogHelper.Info($"鏇存柊浣欐枡鍥炲簱鏄庣粏鎴愬姛锛寋taskNo}");
@@ -347,7 +326,7 @@
                     {
                         db.Deleteable<TN_InventoryM>(target).ExecuteCommand();
                     }
-                    model.Expiration = System.DateTime.Now.AddMinutes(GetExportTime(model.Spec));
+                    model.EXPIRATION = System.DateTime.Now.AddHours(GetExportTime(model.SPEC));
                     if (db.Insertable<TN_InventoryM>(model).ExecuteCommand() > 0)
                     {
                         LogHelper.Info($"鎻掑叆WMS搴撳瓨鏄庣粏鎴愬姛锛寋log}");
@@ -364,25 +343,99 @@
             }
         }
 
-
         /// <summary>
-        /// 鏇存柊WMS搴撳瓨鏄庣粏鐨勮繃鏈熸椂闂�+        /// 鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂�         /// </summary>
-        public static void UpdateInventoryM(string cg_SID)
+        public static void UpdateInventoryM_RuKu(string cntId)
         {
             try
             {
                 var db = new SqlHelper<object>().GetInstance();
-                var target = db.Queryable<TN_InventoryM>().First(a => a.S_ID == cg_SID);
+                var target = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == cntId);
                 if (target != null)
                 {
-                    target.Expiration = System.DateTime.Now.AddMinutes(GetExportTime(target.Spec));
-                    db.Updateable<TN_InventoryM>().UpdateColumns(it => new { it.Expiration }).ExecuteCommand();
+                    var targetM = db.Queryable<TN_InventoryM>().First(a => a.S_ID == target.S_ID || a.RFID == cntId);
+
+                    if (targetM != null)
+                    {
+                        targetM.INAREATIME = System.DateTime.Now;
+                        if(db.Updateable<TN_InventoryM>(targetM).UpdateColumns(it => new { it.INAREATIME }).ExecuteCommand() > 0)
+                        {
+                            LogHelper.Info($"鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂达紝鎴愬姛锛屽鍣ㄥ彿锛歿cntId}");
+                        }
+                        else
+                        {
+                            LogHelper.Info($"鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂达紝澶辫触锛屽鍣ㄥ彿锛歿cntId}");
+                        }
+                    }
+                    else
+                    {
+                        LogHelper.Info($"鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂达紝澶辫触锛屽鍣ㄥ彿锛歿cntId}锛孴N_InventoryM涓虹┖");
+                    }
+                }
+                else
+                {
+                    LogHelper.Info($"鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂达紝澶辫触锛屽鍣ㄥ彿锛歿cntId}锛孴N_CG_Detail涓虹┖");
                 }
             }
             catch (Exception ex)
             {
-                LogHelper.Error("鎻掑叆璁惧鐢熶骇鏄庣粏澶辫触", ex);
+                LogHelper.Error("鏇存柊WMS搴撳瓨鏄庣粏鐨勫叆搴撴椂闂村け璐�, ex);
+            }
+        }
+
+        /// <summary>
+        /// 鍒犻櫎WMS搴撳瓨鏄庣粏
+        /// </summary>
+        public static void DeleteInventoryM(string cg_SID)
+        {
+            try
+            {
+                var db = new SqlHelper<object>().GetInstance();
+                if(db.Deleteable<TN_InventoryM>().Where(it => it.S_ID == cg_SID).ExecuteCommand() > 0)
+                {
+                    LogHelper.Info($"鍒犻櫎WMS搴撳瓨鏄庣粏锛屾垚鍔燂紝鐗╂枡涓婚敭锛歿cg_SID}");
+                }
+                else
+                {
+                    LogHelper.Info($"鍒犻櫎WMS搴撳瓨鏄庣粏锛屽け璐ワ紝鐗╂枡涓婚敭锛歿cg_SID}");
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Error("鍒犻櫎WMS搴撳瓨鏄庣粏", ex);
+            }
+        }
+
+        /// <summary>
+        /// 璁$畻鏃堕棿宸�+        /// </summary>
+        /// <param name="start"></param>
+        /// <param name="end"></param>
+        /// <returns></returns>
+        public static int CalculateDaysDifference(DateTime start, DateTime end)
+        {
+            try
+            {
+                // 璁$畻鎬绘椂闂村樊
+                TimeSpan difference = end - start;
+
+                // 濡傛灉宸�涓鸿礋锛坋nd鏃╀簬start锛夛紝杩斿洖0
+                if (difference.TotalDays < 0)
+                {
+                    return 0;
+                }
+
+
+                // 鑾峰彇鎬诲皬鏃舵暟锛堝寘鎷皬鏁伴儴鍒嗭級
+                double totalHours = difference.TotalHours;
+
+                // 鍚戜笂鍙栨暣
+                return (int)Math.Ceiling(totalHours);
+            }
+            catch (Exception ex)
+            {
+                return 0;
             }
         }
     }

--
Gitblit v1.9.1