From 1285aeec470dfa1b953878a714e3bc58bba83dec Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期五, 13 六月 2025 17:31:06 +0800
Subject: [PATCH] 优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs |  126 +++++++++++++++++++++++++----------------
 1 files changed, 76 insertions(+), 50 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 d9a1195..ed520ca 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
@@ -12,6 +12,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Reflection.Emit;
+using System.Runtime.CompilerServices;
 using System.ServiceModel;
 using System.Threading;
 using System.Threading.Tasks;
@@ -1076,56 +1077,60 @@
                 #endregion
 
                 #region 浠诲姟鍒涘缓
-                if (!string.IsNullOrEmpty(Start) && !string.IsNullOrEmpty(End))
+                if (string.IsNullOrEmpty(Start))
                 {
-                    if (loc.N_LOCK_STATE != 0)
-                    {
-                        result.code = "1";
-                        result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋Start}鏈夐攣";
-                        AddErrorInfo("璐т綅鏈夐攣", result.msg, Source);
-                        return result;
-                    }
-                    //鍒涘缓wcs浠诲姟
-                    var wcsTask = new WCSTask
-                    {
-                        S_CODE = WCSHelper.GenerateTaskNo(),
-                        S_TYPE = "鍑哄钩搴�,
-                        S_EQ_NO = model.TaskNumber,
-                        S_START_LOC = Start,
-                        S_END_LOC = End,
-                        S_START_WH = loc.S_WH_CODE,
-                        S_START_AREA = loc.S_AREA_CODE,
-                        S_END_WH = Endloc.S_WH_CODE,
-                        S_END_AREA = Endloc.S_AREA_CODE,
-                        N_CNTR_COUNT = 1,
-                        N_SCHEDULE_TYPE = 1,
-                        S_CNTR_CODE = CntrCode,
-                        N_START_LAYER = 1,
-                        N_END_LAYER = 1,
-                        Z_TYPE = n_type
+                    result.code = "1";
+                    result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣";
+                    return result;
+                }
+                if (string.IsNullOrEmpty(End))
+                {
+                    result.code = "1";
+                    result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫嵏璐х偣";
+                    return result;
+                }
+                if (loc.N_LOCK_STATE != 0)
+                {
+                    result.code = "1";
+                    result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋Start}鏈夐攣";
+                    AddErrorInfo("璐т綅鏈夐攣", result.msg, Source);
+                    return result;
+                }
+                //鍒涘缓wcs浠诲姟
+                var wcsTask = new WCSTask
+                {
+                    S_CODE = WCSHelper.GenerateTaskNo(),
+                    S_TYPE = "鍑哄钩搴�,
+                    S_EQ_NO = model.TaskNumber,
+                    S_START_LOC = Start,
+                    S_END_LOC = End,
+                    S_START_WH = loc.S_WH_CODE,
+                    S_START_AREA = loc.S_AREA_CODE,
+                    S_END_WH = Endloc.S_WH_CODE,
+                    S_END_AREA = Endloc.S_AREA_CODE,
+                    N_CNTR_COUNT = 1,
+                    N_SCHEDULE_TYPE = 1,
+                    S_CNTR_CODE = CntrCode,
+                    N_START_LAYER = 1,
+                    N_END_LAYER = 1,
+                    Z_TYPE = n_type
 
-                    };
-                    LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask));
-                    if (WCSHelper.CreateTask(wcsTask))
-                    {
-                        LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
-                        //LocationHelper.LockLoc(Start, 2);
-                        //LocationHelper.LockLoc(End, 1);
-                    }
-                    else
-                    {
-                        result.code = "1";
-                        result.msg = $"浠诲姟鍒涘缓澶辫触";
-                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
-                        return result;
-                    }
+                };
+                LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask));
+                if (WCSHelper.CreateTask(wcsTask))
+                {
+                    LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                    //LocationHelper.LockLoc(Start, 2);
+                    //LocationHelper.LockLoc(End, 1);
                 }
                 else
                 {
                     result.code = "1";
-                    result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣鎴栧嵏璐х偣";
+                    result.msg = $"浠诲姟鍒涘缓澶辫触";
+                    AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
                     return result;
                 }
+
                 #endregion
 
                 return result;
@@ -1424,7 +1429,6 @@
                     #region 鏍规嵁浠撳簱缂栫爜鍒ゆ柇搴撳尯 骞惰绠楀嚭搴撹揣浣�                     var endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == End).First();
                     //鏍规嵁浠撳簱 璁$畻搴撳尯
-
                     if (endloc != null)
                     {
                         var whcode = Settings.wareLoc.Where(a => a.AreaCode == endloc.S_WH_CODE).FirstOrDefault();
@@ -1440,7 +1444,6 @@
                             AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source);
                             return result;
                         }
-
 
                         //璁$畻鍑哄簱鎵樼洏
                         startloc = LocationHelper.GetLocByAreacode(areacode, model.CarrierType);
@@ -1460,7 +1463,14 @@
                                 AddErrorInfo("鏌ユ壘鎵樼洏澶辫触", result.msg, Source);
                                 return result;
                             }
-
+                        }
+                        else
+                        {
+                            result.code = "1";
+                            result.msg = $"鍒涘缓绌哄伐瑁呭懠鍙换鍔�=>鏍规嵁搴撳尯锛歿areacode}锛屾墭鐩樼被鍨嬶細{model.CarrierType}鎵句笉鍒板搴旂┖鎵�;
+                            LogHelper.Info($"callfixture:{result.msg}");
+                            AddErrorInfo("鏌ユ壘鎵樼洏澶辫触", result.msg, Source);
+                            return result;
                         }
 
                     }
@@ -2285,19 +2295,20 @@
 
                     if (loccntr != null)
                     {
-
                         string cntrcode = loccntr.S_CNTR_CODE;
                         var CntrItem = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == cntrcode).First();
                         if (CntrItem != null)
                         {
-                            if (LocationHelper.UnBindingLoc(loc, new List<string>() { cntrcode }))
-                            {
-                                LogHelper.Info($"娓呴櫎鎵樼洏璐т綅鍏崇郴鎴愬姛");
-                            }
+                            //娓呴櫎鎵樼洏鐗╂枡缁戝畾鍏崇郴
+                            db.Deleteable<CntrItemDetail>().Where(it => it.S_CNTR_CODE.Trim() == CntrItem.S_CNTR_CODE).ExecuteCommand();
                         }
                         else
                         {
                             LogHelper.Info($"ClearLocCntr 鎵樼洏{cntrcode}鏃犵墿鏂欑粦瀹氬叧绯�);
+                        }
+                        if (LocationHelper.UnBindingLoc(loc, new List<string>() { cntrcode }))
+                        {
+                            LogHelper.Info($"娓呴櫎鎵樼洏璐т綅鍏崇郴鎴愬姛");
                         }
 
                     }
@@ -2683,6 +2694,21 @@
             }
 
         }
+
+        //internal static bool CreateCntrLoc(taskData taskData)
+        //{
+        //    if ( taskData == null)
+        //    {
+        //        LogHelper.Info($"CreateCntrIteminfo==> 绔嬪簱浠诲姟涓嬪彂鍙傛暟鏈夌┖锛屽垱寤虹墿鏂欐墭鐩樼粦瀹氬叧绯诲け璐�);
+        //        return false;
+        //    }
+        //    else
+        //    {
+        //        LocationHelper.BindingLoc(taskData.pickStation,new  List<string>() { taskData.rfid });
+
+        //    }
+
+        //}
         private static object _lockLocation = new object();
         /// <summary>
         /// 鏍规嵁鎵樼洏缂栫爜锛屾満鍙扮紪鐮侊紝宸ヨ绫诲瀷璁$畻鏈哄彴绾胯竟鍖哄煙

--
Gitblit v1.9.1