From e1a97fc8b29f063e96e3ebbae2f07ee95b276069 Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期四, 05 六月 2025 17:25:31 +0800
Subject: [PATCH] 合肥佳通优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs |  193 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 165 insertions(+), 28 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 6a1287d..c86d343 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
@@ -162,19 +162,19 @@
                     startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First();
                     if (startloc != null)
                     {
+                        Start = startloc.S_CODE;
                         var CntrRel = LocationHelper.GetLocCntrRel(startloc.S_CODE).FirstOrDefault();
                         if (CntrRel != null)
                         {
-                            Start = startloc.S_CODE;
                             CntrCode = CntrRel.S_CNTR_CODE;
                         }
-                        else
-                        {
-                            result.code = "1";
-                            result.msg = $"鏍规嵁璧风偣{Start},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�;
-                            AddErrorInfo("鎵樼洏鏌ユ壘澶辫触", result.msg, Source);
-                            return result;
-                        }
+                        //else
+                        //{
+                        //    result.code = "1";
+                        //    result.msg = $"鏍规嵁璧风偣{Start},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�;
+                        //    AddErrorInfo("鎵樼洏鏌ユ壘澶辫触", result.msg, Source);
+                        //    return result;
+                        //}
 
                     }
 
@@ -273,9 +273,16 @@
                             LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask");
                             if (WCSHelper.CreateTask(wcsTask))
                             {
-                                LocationHelper.LockLoc(End, 2);
+                             //   LocationHelper.LockLoc(End, 2);
 
                                 LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                            }
+                            else
+                            {
+                                result.code = "1";
+                                result.msg = $"浠诲姟鍒涘缓澶辫触";
+                                AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                                return result;
                             }
                         }
                         else if (startArea.N_FLOOR != endArea.N_FLOOR)
@@ -333,8 +340,15 @@
                                 {
 
                                     // LocationHelper.LockLoc(Start, 1);
-                                    LocationHelper.LockLoc(End, 2);
+                                    //LocationHelper.LockLoc(End, 2);
                                     LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                                }
+                                else
+                                {
+                                    result.code = "1";
+                                    result.msg = $"浠诲姟鍒涘缓澶辫触";
+                                    AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                                    return result;
                                 }
                             }
 
@@ -552,9 +566,16 @@
                         LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask");
                         if (WCSHelper.CreateTask(wcsTask))
                         {
-                            LocationHelper.LockLoc(Start, 2);
-                            LocationHelper.LockLoc(End, 1);
+                           // LocationHelper.LockLoc(Start, 2);
+                            //LocationHelper.LockLoc(End, 1);
                             LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                        }
+                        else
+                        {
+                            result.code = "1";
+                            result.msg = $"浠诲姟鍒涘缓澶辫触";
+                            AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                            return result;
                         }
                     }
                     else
@@ -890,9 +911,16 @@
                     LogHelper.Info("鍒涘缓鍏ュ钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask));
                     if (WCSHelper.CreateTask(wcsTask))
                     {
-                        LocationHelper.LockLoc(Start, 2);
-                        LocationHelper.LockLoc(End, 1);
+                        //LocationHelper.LockLoc(Start, 2);
+                        //LocationHelper.LockLoc(End, 1);
                         LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                    }
+                    else
+                    {
+                        result.code = "1";
+                        result.msg = $"浠诲姟鍒涘缓澶辫触";
+                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                        return result;
                     }
                 }
                 else
@@ -1066,8 +1094,15 @@
                     if (WCSHelper.CreateTask(wcsTask))
                     {
                         LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
-                        LocationHelper.LockLoc(Start, 2);
-                        LocationHelper.LockLoc(End, 1);
+                        //LocationHelper.LockLoc(Start, 2);
+                        //LocationHelper.LockLoc(End, 1);
+                    }
+                    else
+                    {
+                        result.code = "1";
+                        result.msg = $"浠诲姟鍒涘缓澶辫触";
+                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                        return result;
                     }
                 }
                 else
@@ -1289,15 +1324,22 @@
                         N_END_LAYER = endlayer,
                         Z_TYPE = 5
                     };
-                    LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask));
+                    LogHelper.Info("鍒涘缓绌烘墭鍥炲簱浠诲姟锛� + JsonConvert.SerializeObject(wcsTask));
                     if (WCSHelper.CreateTask(wcsTask))
                     {
-                        LocationHelper.LockLoc(startloc.S_CODE, 2);
-                        LocationHelper.LockLoc(loc.S_CODE, 1);
+                        //LocationHelper.LockLoc(startloc.S_CODE, 2);
+                        //LocationHelper.LockLoc(loc.S_CODE, 1);
                         //  绌烘墭鍥炲簱鍒ゆ柇鎵樼洏鏈夋棤缁戝畾鐗╂枡淇℃伅 濡傛灉鏈夊垯鍒犻櫎
                         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(); }
                         LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                    }
+                    else
+                    {
+                        result.code = "1";
+                        result.msg = $"浠诲姟鍒涘缓澶辫触";
+                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                        return result;
                     }
                 }
                 else
@@ -1435,9 +1477,16 @@
                     LogHelper.Info("鍒涘缓鍛煎彨绌烘墭浠诲姟锛� + JsonConvert.SerializeObject(wcsTask));
                     if (WCSHelper.CreateTask(wcsTask))
                     {
-                        LocationHelper.LockLoc(Start, 2);
-                        LocationHelper.LockLoc(End, 1);
+                        //LocationHelper.LockLoc(Start, 2);
+                        //LocationHelper.LockLoc(End, 1);
                         LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                    }
+                    else
+                    {
+                        result.code = "1";
+                        result.msg = $"浠诲姟鍒涘缓澶辫触";
+                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                        return result;
                     }
                 }
                 else
@@ -1671,8 +1720,8 @@
                     LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask));
                     if (WCSHelper.CreateTask(wcsTask))
                     {
-                        LocationHelper.LockLoc(Start, 2);
-                        LocationHelper.LockLoc(End, 1);
+                        //LocationHelper.LockLoc(Start, 2);
+                        //LocationHelper.LockLoc(End, 1);
                         //鍒涘缓浠诲姟鎴愬姛 鏇存柊浣欐枡淇℃伅
                         var CntrItem = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).First();
                         if (CntrItem != null)
@@ -1685,6 +1734,13 @@
                             db.Updateable(CntrItem).UpdateColumns(a => new { a.F_WEIGHT, a.S_BS_TYPE }).ExecuteCommand();
                         }
                         LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                    }
+                    else
+                    {
+                        result.code = "1";
+                        result.msg = $"浠诲姟鍒涘缓澶辫触";
+                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                        return result;
                     }
                 }
                 else
@@ -1898,9 +1954,16 @@
                     LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask");
                     if (WCSHelper.CreateTask(wcsTask))
                     {
-                        LocationHelper.LockLoc(Start, 2);
-                        LocationHelper.LockLoc(End, 1);
+                        //LocationHelper.LockLoc(Start, 2);
+                        //LocationHelper.LockLoc(End, 1);
                         LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                    }
+                    else
+                    {
+                        result.code = "1";
+                        result.msg = $"浠诲姟鍒涘缓澶辫触";
+                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                        return result;
                     }
                 }
                 else
@@ -2031,9 +2094,16 @@
                     if (WCSHelper.CreateTask(wcsTask) && WCSHelper.CreateTask(wcsTask1))
                     {
 
-                        LocationHelper.LockLoc(startloc.S_CODE, 2);
-                        LocationHelper.LockLoc(endloc.S_CODE, 1);
+                        //LocationHelper.LockLoc(startloc.S_CODE, 2);
+                        //LocationHelper.LockLoc(endloc.S_CODE, 1);
                         LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                    }
+                    else
+                    {
+                        result.code = "1";
+                        result.msg = $"浠诲姟鍒涘缓澶辫触";
+                        AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source);
+                        return result;
                     }
 
                 }
@@ -2127,6 +2197,73 @@
         }
 
         /// <summary>
+        /// 搴撲綅娓呯┖
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        internal static Result ClearLocCntr(ClearTask model)
+        {
+            Result result = new Result() { code = "200", msg = "搴撲綅娓呴櫎鎴愬姛" };
+            string Source = "MES";
+            if (model == null)
+            {
+                result.code = "1";
+                result.msg = "鍙傛暟涓簄ull";
+                AddErrorInfo("鍙傛暟涓虹┖", result.msg, Source);
+                return result;
+            }
+            string loc = model.LocationNum;
+            var db = new SqlHelper<object>().GetInstance();
+            try
+            {
+                var location = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == loc).First();
+                if (location != null)
+                {
+                    var loccntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == loc).First();
+
+                    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($"娓呴櫎鎵樼洏璐т綅鍏崇郴鎴愬姛");
+                            }
+                        }
+                        else
+                        {
+                            LogHelper.Info($"ClearLocCntr 鎵樼洏{cntrcode}鏃犵墿鏂欑粦瀹氬叧绯�);
+                        }
+
+                    }
+                    else
+                    {
+                        LogHelper.Info($"ClearLocCntr 璐т綅{loc}鏃犳墭鐩樿揣浣嶇粦瀹氬叧绯�);
+                    }
+                }
+                else
+                {
+                    result.code = "1";
+                    result.msg = $"鏍规嵁璐т綅:{loc}鎵句笉鍒拌揣浣嶅叧绯�;
+                    AddErrorInfo("璐т綅涓虹┖", result.msg, Source);
+                    return result;
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Info($"ClearLocCntr Error锛歿ex}");
+                db.Ado.CommitTran();
+                result.code = "1";
+                result.msg = $"Error锛歿ex}";
+                return result;
+
+            }
+
+            return result;
+        }  /// <summary>
         /// 搴撲綅娓呯┖
         /// </summary>
         /// <param name="model"></param>
@@ -2492,7 +2629,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).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;

--
Gitblit v1.9.1