From ae75edc771b0161f90f3e5a596d13bee8a4b71cc Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期四, 19 六月 2025 17:24:20 +0800
Subject: [PATCH] 现场优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs |   87 ++++++++++++++-----------------------------
 1 files changed, 29 insertions(+), 58 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
index ac7cbf3..4a3662a 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
@@ -693,63 +693,23 @@
             try
             {
                 string[] state = new string[] { "鍙栨秷", "澶辫触", "閿欒", "瀹屾垚" };
-                if (model.type == "1")
+                //鎵惧埌浠诲姟
+                var task = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == model.task_no && !state.Contains(a.S_B_STATE)).First();
+                if (task != null)
                 {
-                    //鎵惧埌浠诲姟
-                    var task = db.Queryable<WCSTask>().Where(a => a.S_START_LOC.Trim() == model.loc && !state.Contains(a.S_B_STATE)).ToList();
-                    if (task.Count > 0)
+                    if (model.type == "1" || model.type == "2")
                     {
-                        foreach (var item in task)
-                        {
-                            var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == item.S_CODE).OrderByDescending(a => a.T_CREATE).First();
-                            if (taskAction.N_ACTION_CODE == 1101)
-                            {
-                                NDCApi.ChangeOrderParam(item.S_CODE.Trim(), 6, "1");
-                                return result;
-                            }
-                            result.code = "1";
-                            result.msg = $"鏍规嵁涓嬪彂璐т綅{model.loc}鏈壘鍒板搴旂敵璇峰彇璐х姸鎬佷换鍔�;
-                            AddErrorInfo("鏈壘鍒颁换鍔�, result.msg, "", model.task_no);
-                            return result;
-                        }
+                        NDCApi.ChangeOrderParam(task.S_CODE.Trim(), 6, "1");
                     }
-                    else
-                    {
-                        result.code = "1";
-                        result.msg = $"鏍规嵁涓嬪彂璐т綅{model.loc}鏈壘鍒板搴斾换鍔�;
-                        AddErrorInfo("鏈壘鍒颁换鍔�, result.msg, "", model.task_no);
-                        return result;
-                    }
-                }
-                else if (model.type == "2")
-                {
-                    //鎵惧埌浠诲姟
-                    var task = db.Queryable<WCSTask>().Where(a => a.S_END_LOC.Trim() == model.loc && !state.Contains(a.S_B_STATE)).ToList();
-                    if (task.Count > 0)
-                    {
-                        foreach (var item in task)
-                        {
-                            var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == item.S_CODE).OrderByDescending(a => a.T_CREATE).First();
-                            if (taskAction.N_ACTION_CODE == 1103)
-                            {
-                                NDCApi.ChangeOrderParam(item.S_CODE.Trim(), 6, "1");
-                                return result;
-                            }
-                        }
-                        result.code = "1";
-                        result.msg = $"鏍规嵁涓嬪彂璐т綅{model.loc}鏈壘鍒板搴旂敵璇峰嵏璐х姸鎬佷换鍔�;
-                        AddErrorInfo("鏈壘鍒颁换鍔�, result.msg, "", model.task_no);
-                        return result;
-                    }
-                    else
-                    {
-                        result.code = "1";
-                        result.msg = $"鏍规嵁涓嬪彂璐т綅{model.loc}鏈壘鍒板搴斾换鍔�;
-                        AddErrorInfo("鏈壘鍒颁换鍔�, result.msg, "", model.task_no);
-                        return result;
-                    }
-                }
 
+                }
+                else
+                {
+                    result.code = "1";
+                    result.msg = $"鏍规嵁涓嬪彂浠诲姟鍙穥model.task_no}鏈壘鍒板搴斾换鍔�;
+                    AddErrorInfo("鏈壘鍒颁换鍔�, result.msg, "", model.task_no);
+                    return result;
+                }
                 return result;
             }
             catch (Exception ex)
@@ -1260,7 +1220,8 @@
                         if (startloc.N_LAYER == 3)
                         {
                             //鍙犵洏璐т綅璁$畻鍙犵洏璐т綅
-                            var dploc = db.Queryable<Location>().Where(a => a.S_NOTE.Trim() == "鍙犵洏" && a.N_LAYER == startloc.N_LAYER && a.S_WH_CODE.Trim() == startloc.S_WH_CODE && a.C_ENABLE == "Y").ToList();
+                           // var dploc = db.Queryable<Location>().Where(a => a.S_NOTE.Trim() == "鍙犵洏" && a.N_LAYER == startloc.N_LAYER && a.S_WH_CODE.Trim() == startloc.S_WH_CODE && a.C_ENABLE == "Y").ToList();
+                            var dploc = db.Queryable<Location>().Where(a => a.S_NOTE.Trim() == "鍙犵洏" && a.N_LAYER == startloc.N_LAYER && a.S_WH_CODE.Trim() == startloc.S_WH_CODE ).ToList();
                             if (dploc.Count > 0)
                             {
                                 // LogHelper.Info($"鑾峰彇鍙犵洏璐т綅:{JsonConvert.SerializeObject(dploc)}");
@@ -1291,7 +1252,8 @@
                         else if (startloc.S_NOTE == "PB")
                         {
                             //鎵惧潡鑳跺爢鍙犲尯
-                            var KjDploc = db.Queryable<Location>().Where(a => a.S_NOTE.Trim() == "鐗囪兌鍫嗗彔浣� && a.S_WH_CODE.Trim() == startloc.S_WH_CODE && a.C_ENABLE == "Y").ToList();
+                          //  var KjDploc = db.Queryable<Location>().Where(a => a.S_NOTE.Trim() == "鐗囪兌鍫嗗彔浣� && a.S_WH_CODE.Trim() == startloc.S_WH_CODE && a.C_ENABLE == "Y").ToList();
+                            var KjDploc = db.Queryable<Location>().Where(a => a.S_NOTE.Trim() == "鐗囪兌鍫嗗彔浣� && a.S_WH_CODE.Trim() == startloc.S_WH_CODE).ToList();
                             if (KjDploc.Count > 0)
                             {
                                 loc = KjDploc.FindAll(a => a.N_LOCK_STATE == 0 && a.N_CURRENT_NUM < 6).OrderByDescending(a => a.N_CURRENT_NUM).FirstOrDefault();
@@ -1413,6 +1375,12 @@
                             //  绌烘墭鍥炲簱鍒ゆ柇鎵樼洏鏈夋棤缁戝畾鐗╂枡淇℃伅 濡傛灉鏈夊垯鍒犻櫎
                             var itemcntr = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).First();
                             if (itemcntr != null) { db.Deleteable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).ExecuteCommand(); }
+                            var container = db.Queryable<Container>().Where(a => a.S_CODE.Trim() == model.Rfid).First();
+                            if (container == null)
+                            {
+                                container = new Container { S_CODE = model.Rfid };
+                                db.Insertable<Container>(container).ExecuteCommand();
+                            }
                             LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
                         }
                         else
@@ -2134,7 +2102,8 @@
 
                 var startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == model.Data.start_loc_code).First();
 
-                var endloc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.Data.end_loc_code && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.C_ENABLE == "Y").First();
+              //  var endloc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.Data.end_loc_code && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.C_ENABLE == "Y").First();
+                var endloc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.Data.end_loc_code && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0).First();
 
 
                 //鍒ゆ柇妤煎眰鏄惁鐩哥瓑锛屽鏋滀笉鐩稿悓闇�鐢熸垚鍒嗘浠诲姟杩涜鐢垫璋冪敤
@@ -2587,6 +2556,7 @@
         internal static Location StorageCompute(string itemcode, string areacode)
         {
             var db = new SqlHelper<object>().GetInstance();
+         //   Location result = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0 ).First();
             Location result = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0 && a.C_ENABLE == "Y").First();
             //鏌ヨ鎵�湁鏈夋墭鐩樼殑鎺掓病閿佺殑鎺�             // var list = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM > 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0).OrderByDescending(a => a.N_COL).Take(1).PartitionBy(a => a.N_ROW).ToList();
@@ -2784,7 +2754,7 @@
 
             lock (_lockLocation)
             {
-                var loc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == jtcode.Trim() && a.S_NOTE == cntrType && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y").First();
+                var loc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == jtcode.Trim() && a.S_NOTE == cntrType && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃�).First();
                 if (loc != null)
                 {
                     End = loc;
@@ -2857,7 +2827,8 @@
                         Location other = null;
                         //褰撳墠鎺掓病鏈夐攣骞朵笖鏈夌┖浣嶇疆
                         //鍏堟壘婊′綅锛岀劧鍚庡悗闈竴灞傝涔堟槸绌猴紝瑕佷箞涓嶅瓨鍦�-                        other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.C_ENABLE == "Y").FirstOrDefault();
+                       /// other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.C_ENABLE == "Y").FirstOrDefault();
+                        other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 ).FirstOrDefault();
                         //if (full == null)
                         //{
                         //    //娌℃湁婊′綅锛岄偅灏辨壘鏈�皬鐨勭┖浣�
--
Gitblit v1.9.1