From a8baebe7ac7d7e03ae833815e8d94b996dfd3b5e Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期五, 16 五月 2025 17:23:15 +0800
Subject: [PATCH] 叠盘机流程开发与问题优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs |   55 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 8 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 a658aa4..c9ea9be 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
@@ -6,6 +6,7 @@
 using HH.WCS.JiaTong.wms;
 using Newtonsoft.Json;
 using NLog.Fluent;
+using S7.Net;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
@@ -171,6 +172,12 @@
                             return result;
                         }
 
+                    }
+                    //鍒ゆ柇鏄惁鏄┖鎵樺洖搴�+                    var CntrItem = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == CntrCode).First();
+                    if (CntrItem == null)
+                    {
+                        note = "绌烘墭鍥炲簱";//浜曟澗绌烘墭鍥炲簱锛岄渶瑕佷笌鍙犵洏鏈哄畨鍏ㄤ氦浜�                     }
                     endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First();
                     if (endloc != null)
@@ -507,6 +514,8 @@
 
         }
 
+
+
         /// <summary>
         /// 棰勫搴撲换鍔$姸鎬佷笅鍙�         /// </summary>
@@ -667,7 +676,8 @@
             string areacode = "";
             try
             {
-                #region 鍒ゆ柇鎵樼洏缁戝畾璐т綅鏄惁鍜屼笅鍙戠粦瀹氳捣鐐圭浉鍚�+                
+                #region 鍒ゆ柇鎵樼洏缁戝畾璐т綅鏄惁鍜屼笅鍙戠粦瀹氳捣鐐圭浉鍚�濡傛灉娌$粦瀹氭墭鐩樺垯缁戝畾鎵樼洏
                 var CntrLoc = db.Queryable<LocCntrRel>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).First();
                 if (CntrLoc != null)
                 {
@@ -682,11 +692,12 @@
                 }
                 else
                 {
-                    LogHelper.Info($"ItemBack锛氬垱寤轰换鍔″け璐ワ紝鎵樼洏:{model.Rfid}鏈壘鍒扮粦瀹氳揣浣�);
-                    result.code = "1";
-                    result.msg = $"鍒涘缓浠诲姟澶辫触锛屾墭鐩�{model.Rfid}鏈壘鍒扮粦瀹氳揣浣�;
-                    AddErrorInfo("鏌ユ壘鎵樼洏璐т綅澶辫触", result.msg);
-                    return result;
+                    LocationHelper.BindingLoc(Start, new List<string> { model.Rfid });
+                    //LogHelper.Info($"ItemBack锛氬垱寤轰换鍔″け璐ワ紝鎵樼洏:{model.Rfid}鏈壘鍒扮粦瀹氳揣浣�);
+                    //result.code = "1";
+                    //result.msg = $"鍒涘缓浠诲姟澶辫触锛屾墭鐩�{model.Rfid}鏈壘鍒扮粦瀹氳揣浣�;
+                    //AddErrorInfo("鏌ユ壘鎵樼洏璐т綅澶辫触", result.msg);
+                    //return result;
                 }
                 // Console.WriteLine("鏌ヨ璐т綅缁戝畾鍏崇郴");
                 //鍒ゆ柇鎵樼洏涓庤揣浣嶆槸鍚︽湁缁戝畾鍏崇郴锛屽鏋滄病鏈夊垯杩涜缁戝畾
@@ -712,7 +723,6 @@
 
                 //}
                 #endregion
-
 
                 #region 鏍规嵁璧风偣璐т綅鐨勪粨搴撶紪鐮�鑾峰彇骞冲簱缂栫爜,骞惰绠楀叆搴撹揣浣�                 string End = "";
@@ -802,6 +812,7 @@
                     return result;
                 }
                 #endregion
+
                 return result;
             }
             catch (Exception ex)
@@ -1032,7 +1043,7 @@
                         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)}");
+                            // LogHelper.Info($"鑾峰彇鍙犵洏璐т綅:{JsonConvert.SerializeObject(dploc)}");
                             loc = dploc.FindAll(a => a.N_LOCK_STATE == 0 && a.N_CURRENT_NUM < 6).OrderByDescending(a => a.N_CURRENT_NUM).FirstOrDefault();
                             if (loc == null)
                             {
@@ -1055,6 +1066,34 @@
                             return result;
                         }
                     }
+                    else if (startloc.S_NOTE == "PM")
+                    {
+                        //鎵惧潡鑳跺爢鍙犲尯
+                        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();
+                            if (loc == null)
+                            {
+                                result.code = "1";
+                                result.msg = $"鍙犵洏璐т綅涓嶅彲鐢�;
+                                AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg);
+                                return result;
+                            }
+                            else
+                            {
+                                endlayer = loc.N_CURRENT_NUM + 1;
+                            }
+                        }
+                        else
+                        {
+                            LogHelper.Info($"鏍规嵁璐т綅澶囨敞锛氱墖鑳跺爢鍙犱綅,璐т綅浠撳簱:{startloc.S_WH_CODE}锛屾壘涓嶅埌鍙犵洏璐т綅");
+                            result.code = "1";
+                            result.msg = $"鍙犵洏璐т綅涓嶅彲鐢�;
+                            AddErrorInfo("鏌ユ壘璐т綅澶辫触", result.msg);
+                            return result;
+                        }
+                    }
                     else
                     {
                         #region 鏍规嵁鎵樼洏鎵惧懠鍙┖鎵樹换鍔★紝骞惰幏寰楀嚭搴撳簱鍖�
--
Gitblit v1.9.1