From 8741f7e84dc7c0a1150c92758ebb2cf4b7d18c73 Mon Sep 17 00:00:00 2001
From: pulg <plg@Haninfo>
Date: 星期五, 18 七月 2025 14:49:30 +0800
Subject: [PATCH] 1

---
 HH.WCS.QingXiNongfu/wms/TaskHelper.cs |  105 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 67 insertions(+), 38 deletions(-)

diff --git a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs
index 8ac43a7..cae6c27 100644
--- a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs
+++ b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs
@@ -1,4 +1,5 @@
-锘縰sing HH.WCS.QingXigongchang.process;
+锘縰sing HH.WCS.QingXigongchang.dispatch;
+using HH.WCS.QingXigongchang.process;
 using HH.WCS.QingXigongchang.util;
 using Newtonsoft.Json;
 using SqlSugar;
@@ -86,18 +87,19 @@
         {
             var fromLoc = LocationHelper.GetLoc(from);
             var endLoc = LocationHelper.GetLoc(to);
-
+            var chi = new SqlHelper<object>().GetInstance();
+            var newDb = chi.CopyNew();
             //NDCHelper.ChangeParam(taskNo, agvsite, 2);
             //NDCHelper.ChangeParam(taskNo, 2, 6);
 
             if (fromLoc.S_AREA_CODE == "YWLRGDD")
             {
                 //鏌ヨ浠诲姟琛� 瑕佹眰鏄彧鑳界敓鎴愪袱涓换鍔�璧风偣搴撳尯涓篩WLRGDD  hh_plg  2025骞�鏈�鏃�
-                List<string> TaskState = new List<string>() { "瀹屾垚", "鍙栨秷" };
-                var TaskListNum = LocationHelper.GetList<WMSTask>(x => x.S_START_LAREA == "YWLRGDD" && !TaskState.Contains(x.S_B_STATE));
-                if (TaskListNum.Count() >= 2)
+
+                var TaskListNum = newDb.Queryable<Location>().Where(l => l.S_AREA_CODE == "YWLRGDD" && l.S_LOCK_STATE == "鍑哄簱閿�).ToList();
+                if (TaskListNum.Count() >= 3)
                 {
-                    LogHelper.Info($"CreateTransport-  CreateTask Error" + $"璧风偣搴撳尯涓篩WLRGDD 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�);
+                    LogHelper.Info($"CreateTransport-  CreateTask Error" + $"璧风偣搴撳尯涓篩WLRGDD 鍒欐渶澶氬彧鑳界敓鎴愪笁涓换鍔�);
                     return false;
                 }
             }
@@ -238,43 +240,70 @@
         }
         internal static void End(WMSTask task)
         {
-            var db = new SqlHelper<WMSTask>().GetInstance();
+            var db = new SqlHelper<object>().GetInstance();
 
-
-            //plg 2025骞�鏈�3鏃�10:42:24
-            if (task.S_END_LAREA == "YWLWJJB" && task.S_START_LAREA != "YWLRGDD" && !string.IsNullOrEmpty(task.S_TWO_END_LOC))
+            if (task.S_START_LOC == "YWLT1TSJCD-1" && task.N_START_LAYER == 2)
             {
-                var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First();
-                if (model != null)
-                {
-                    //鍏堣В閿佺粓鐐�鍦ㄩ攣瀹�-                    db.Ado.BeginTran();
-                    try
-                    {
-                        model.S_LOCK_STATE = "鏃�;
-                        var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
-                        LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:閿佺粨鏋� + res);
-                        db.Ado.CommitTran();
-                    }
-                    catch (Exception ex)
-                    {
-                        db.Ado.RollbackTran();
-                        LogHelper.Info("CreateTask 澶辫触 " + ex.Message);
-                    }
+                var _clrel = LocationHelper.GetLocCntrRel(task.S_START_LOC);
 
-                    LogHelper.Info(task.S_TWO_END_LOC + "浜屾浠诲姟 寮�銆�");
-                    var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
-                    //if (b)
-                    //{
-                    //    if (task != null)
-                    //    {
-                    //        task.S_B_STATE = "瀹屾垚";
-                    //        task.T_END_TIME = DateTime.Now;
-                    //        db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand();
-                    //    }
-                    //}
+                if (_clrel != null)
+                {
+                    var sta = db.Queryable<Location>().Where(l => l.S_LOC_CODE == task.S_START_LOC).First();
+                    if (sta.N_CURRENT_NUM > 0 && sta.S_LOCK_STATE == "鏃�)
+                    {
+                        var sign = Settings.GetTimeStamp();
+                        var res = TaskProcess.CreateTransport(sign, task.S_START_LOC, task.S_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sta.N_CURRENT_NUM, 1, 1, 60);
+                    }
                 }
             }
+
+            if (task.S_END_LAREA == "YWLYLTKQ" || task.S_END_LAREA == "YWLTKKTQ")
+            {
+                //鏌ヨ鍑哄簱閿乊WLWJJB
+                var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == "YWLWJJB" && x.S_LOCK_STATE == "鍑哄簱閿�);
+                if (ls.Any())
+                {
+                    var tas = db.Queryable<WMSTask>().Where(a => a.S_START_LOC == ls.First().S_LOC_CODE).ToList().FirstOrDefault();
+                    if (tas.S_B_STATE == "宸叉帹閫�)
+                    {
+                        NDC.ChangeParamPri(tas.S_TASK_NO, 70);
+                    }
+                }
+            }
+            ////plg 2025骞�鏈�3鏃�10:42:24
+            //if (task.S_END_LAREA == "YWLWJJB" && task.S_START_LAREA != "YWLRGDD" && !string.IsNullOrEmpty(task.S_TWO_END_LOC))
+            //{
+            //    var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First();
+            //    if (model != null)
+            //    {
+            //        //鍏堣В閿佺粓鐐�鍦ㄩ攣瀹�+            //        db.Ado.BeginTran();
+            //        try
+            //        {
+            //            model.S_LOCK_STATE = "鏃�;
+            //            var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
+            //            LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:閿佺粨鏋� + res);
+            //            db.Ado.CommitTran();
+            //        }
+            //        catch (Exception ex)
+            //        {
+            //            db.Ado.RollbackTran();
+            //            LogHelper.Info("CreateTask 澶辫触 " + ex.Message);
+            //        }
+
+            //        LogHelper.Info(task.S_TWO_END_LOC + "浜屾浠诲姟 寮�銆�");
+            //        var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
+            //        //if (b)
+            //        //{
+            //        //    if (task != null)
+            //        //    {
+            //        //        task.S_B_STATE = "瀹屾垚";
+            //        //        task.T_END_TIME = DateTime.Now;
+            //        //        db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand();
+            //        //    }
+            //        //}
+            //    }
+            //}
             if (task != null)
             {
                 task.S_B_STATE = "瀹屾垚";

--
Gitblit v1.9.1