From 4a3a2c6ec04cb9680915d29b1a3c9cec6957bf60 Mon Sep 17 00:00:00 2001
From: 杨张扬 <634643841@qq.com>
Date: 星期一, 16 六月 2025 17:40:15 +0800
Subject: [PATCH] 双钱-复检区合格物料自动回库

---
 core/Monitor.cs  |   24 +++++++++++++++---------
 api/ApiHelper.cs |    2 +-
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index 6046611..d4f7731 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -692,7 +692,7 @@
                     return result;
                 }
 
-                model.RfId = WMSHelper.ConvertHexToAscii(model.RfId);
+                model.RfId = WMSHelper.ConvertHexToAscii(model.RfId.Substring(0,16));
 
                 //璇ヤ骇绾跨殑婊℃墭涓嬬嚎浣嶇疆锛岃捣鐐�                 var startPoint = Settings.ProductionLines.FirstOrDefault(a => a.PointOut == model.StartLoc);
diff --git a/core/Monitor.cs b/core/Monitor.cs
index 0bdcc36..8ffc3c5 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -375,7 +375,7 @@
                 && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == a.S_CODE).NotAny()//涓嶈兘鏈夎揣
                 );
 
-                if (endLoc != null)
+                if (endLoc == null)
                 {
                     LogHelper.Info("缁堢偣搴撳尯宸叉弧鎴栬�宸插叏閮ㄩ攣浣�);
                     return;
@@ -385,15 +385,15 @@
                     .LeftJoin<TN_Loc_Container>((o, i) => o.S_CNTR_CODE == i.S_CNTR_CODE)
                     .Where((o, i) => i.S_LOC_CODE == startLoc.S_CODE).First();
 
-                if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, "澶嶆鑷姩鍚堟牸鍥炲簱", 3, cginfo.S_CNTR_CODE, out string taskNo, cginfo.S_SPE))//鍒涘缓鎼�浠诲姟锛岃捣鐐圭粓鐐瑰鍣�+                if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, "澶嶆鍚堟牸鑷姩鍥炲簱", 3, cginfo.S_CNTR_CODE, out string taskNo, cginfo.S_SPE))//鍒涘缓鎼�浠诲姟锛岃捣鐐圭粓鐐瑰鍣�                 {
                     LocationHelper.LockLoc(startLoc.S_CODE, 2);//璧风偣鍑哄簱閿侊紝
                     LocationHelper.LockLoc(endLoc.S_CODE, 1);//缁堢偣鍏ュ簱閿�-                    LogHelper.Info($"鐢熸垚澶嶆鑷姩鍚堟牸鍥炲簱浠诲姟鎴愬姛锛屽鍣ㄥ彿{cginfo.S_CNTR_CODE}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐箋endLoc.S_CODE}");
+                    LogHelper.Info($"鐢熸垚澶嶆鍚堟牸鑷姩鍥炲簱浠诲姟鎴愬姛锛屽鍣ㄥ彿{cginfo.S_CNTR_CODE}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐箋endLoc.S_CODE}");
 
                     Task task99 = Task.Run(() =>
                     {
-                        WMSHelper.InsertOpInfo("鑷姩杞", "澶嶆鑷姩鍚堟牸鍥炲簱", cginfo.S_CNTR_CODE);
+                        WMSHelper.InsertOpInfo("鑷姩杞", "澶嶆鍚堟牸鑷姩鍥炲簱", cginfo.S_CNTR_CODE);
                     });
 
                     Task task27 = Task.Run(() =>
@@ -416,7 +416,7 @@
                 }
                 else
                 {
-                    LogHelper.Info($"鐢熸垚澶嶆鑷姩鍚堟牸鍥炲簱浠诲姟澶辫触锛屽鍣ㄥ彿{cginfo.S_CNTR_CODE}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐箋endLoc.S_CODE}");
+                    LogHelper.Info($"鐢熸垚澶嶆鍚堟牸鑷姩鍥炲簱浠诲姟澶辫触锛屽鍣ㄥ彿{cginfo.S_CNTR_CODE}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐箋endLoc.S_CODE}");
                     return;
                 }
 
@@ -614,7 +614,10 @@
 
               
                 targetInM = db.Queryable<TN_InventoryM>().LeftJoin<TN_CG_Detail>((o, i) => o.S_ID == i.S_ID).
-                   Where((o, i) => System.DateTime.Now >= o.EXPIRATION && i.S_ITEM_STATE == "寰呮" && i.N_ITEM_STATE == 1).First();
+                   Where((o, i) => System.DateTime.Now >= o.EXPIRATION
+                  && ((i.S_ITEM_STATE == "寰呮" && i.N_ITEM_STATE == 1)
+                   || (i.S_ITEM_STATE == "鍚堟牸" && i.N_ITEM_STATE == 0))
+                   ).First();
 
                 if (targetInM != null)//妫�祴鍑哄凡杩囨湡鐨勮揣鍝�                 {
@@ -629,7 +632,10 @@
                 }
 
                 targetInM = db.Queryable<TN_InventoryM>().LeftJoin<TN_CG_Detail>((o, i) => o.S_ID == i.S_ID).
-                 Where((o, i) => System.DateTime.Now < o.EXPIRATION && i.S_ITEM_STATE == "寰呮" && i.N_ITEM_STATE == 1).First();
+                 Where((o, i) => System.DateTime.Now < o.EXPIRATION
+                   && ((i.S_ITEM_STATE == "寰呮" && i.N_ITEM_STATE == 1)
+                   || (i.S_ITEM_STATE == "鍚堟牸" && i.N_ITEM_STATE == 0))
+                 ).First();
 
                 if (targetInM != null)//妫�祴鍑哄揩杩囨湡鐨勮揣鍝�                 {
@@ -637,8 +643,8 @@
                     db.Updateable<TN_InventoryM>(targetInM).UpdateColumns(it => new { it.EXPIRATION_DAY }).ExecuteCommand();
                 }
 
-                targetInM = db.Queryable<TN_InventoryM>().First(a => Convert.ToInt32(a.EXPIRATION_DAY) > 0 && a.ITEMSTATE == "杩囨湡");//宸茶繃鏈熺殑璐у搧锛屽墿浣欏ぉ鏁版敼涓�
-                if (targetInM != null)
+                targetInM = db.Queryable<TN_InventoryM>().First(a => Convert.ToInt32(a.EXPIRATION_DAY) > 0 && a.ITEMSTATE == "杩囨湡");
+                if (targetInM != null)//宸茶繃鏈熺殑璐у搧锛屽墿浣欏ぉ鏁版敼涓�
                 {
                     targetInM.EXPIRATION_DAY = "0";
                     db.Updateable<TN_InventoryM>(targetInM).UpdateColumns(it => new { it.EXPIRATION_DAY }).ExecuteCommand();

--
Gitblit v1.9.1