From 78279bd340545f8c07d1ff08764bd859ba404c83 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期四, 19 十二月 2024 10:42:23 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/BllTransServer/RcsServer.cs |   58 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 41 insertions(+), 17 deletions(-)

diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index 270b6ef..afa76e9 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -373,8 +373,9 @@
                 {
                     case "3"://娓呮礂璁惧鐢宠鍌ㄤ綅锛堝噣妗剁敵璇峰偍浣嶏級
                         //鏌ユ壘鍒拌杞﹂棿鍑�妗跺尯
-                        List<string> areaNoList = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "0" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
-                        loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList.Contains(w.AreaNo)).OrderByDescending(o => o.CreateTime).First();
+                        //List<string> areaNoList = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "0" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
+                        //loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList.Contains(w.AreaNo) && w.Status == "0" && w.Flag == "0").OrderByDescending(o => o.CreateTime).First();
+                        loction = GetLocatModel(houseNo, "0");
                         if (loction == null)
                         {
                             throw new Exception("璇ヨ溅闂村噣妗跺尯鏆傛棤绌轰綑鍌ㄤ綅");
@@ -389,8 +390,9 @@
                             throw new Exception("鎵规鍙蜂负绌猴紒");
                         }
                         //鏌ユ壘鍒拌杞﹂棿棰勬贩鍖�
-                        List<string> areaNoList2 = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "1" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
-                        loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList2.Contains(w.AreaNo)).OrderByDescending(o => o.CreateTime).First();
+                        //List<string> areaNoList2 = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "1" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
+                        //loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList2.Contains(w.AreaNo) && w.Status == "0" && w.Flag == "0").OrderByDescending(o => o.CreateTime).First();
+                        loction = GetLocatModel(houseNo, "1");
                         if (loction == null)
                         {
                             throw new Exception("璇ヨ溅闂撮娣峰尯鏆傛棤绌轰綑鍌ㄤ綅");
@@ -425,8 +427,9 @@
                         Db.Updateable(notice).ExecuteCommand();
 
                         //鏌ユ壘鍒拌杞﹂棿鍗婃垚鍝佸尯
-                        List<string> areaNoList3 = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "2" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
-                        loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList3.Contains(w.AreaNo)).OrderByDescending(o => o.CreateTime).First();
+                        //List<string> areaNoList3 = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "2" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
+                        //loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList3.Contains(w.AreaNo) && w.Status == "0" && w.Flag == "0").OrderByDescending(o => o.CreateTime).First();
+                        loction = GetLocatModel(houseNo, "2");
                         if (loction == null)
                         {
                             throw new Exception("璇ヨ溅闂村崐鎴愬搧鍖烘殏鏃犵┖浣欏偍浣�");
@@ -436,8 +439,9 @@
                         break;
                     case "2"://涓嬫枡璁惧鐢宠鍌ㄤ綅锛堣剰妗剁敵璇峰偍浣嶏級
                         //鏌ユ壘鍒拌杞﹂棿鑴忔《鍖�
-                        List<string> areaNoList4 = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "3" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
-                        loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList4.Contains(w.AreaNo)).OrderByDescending(o => o.CreateTime).First();
+                        //List<string> areaNoList4 = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == "3" && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
+                        //loction = storageLocat.Where(w => w.WareHouseNo == houseNo && areaNoList4.Contains(w.AreaNo) && w.Status == "0" && w.Flag == "0").OrderByDescending(o => o.CreateTime).First();
+                        loction = GetLocatModel(houseNo, "3");
                         if (loction == null)
                         {
                             throw new Exception("璇ヨ溅闂磋剰妗跺尯鏆傛棤绌轰綑鍌ㄤ綅");
@@ -508,6 +512,33 @@
             {
                 //鍥炴粴浜嬪姟
                 Db.RollbackTran();
+                throw new Exception(ex.Message);
+            }
+        }
+        /// <summary>
+        /// 鑾峰彇绌哄偍浣�
+        /// </summary>
+        /// <param name="houseNo">杞﹂棿缂栧彿</param>
+        /// <param name="Type">绫诲埆 0:鍑�妗跺尯 1:棰勬贩鍖� 2:鍗婃垚鍝佸尯 3:鑴忔《鍖�</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        private SysStorageLocat GetLocatModel(string houseNo,string type)
+        {
+            try
+            {
+                //閫氳繃绫诲埆鏌ユ壘杞﹂棿鍖哄煙
+                List<string> areaNoList = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Type == type && w.WareHouseNo == houseNo).Select(s => s.AreaNo).ToList();
+                //鏌ユ壘鍌ㄤ綅
+                var loctionModel = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Flag == "0" && w.WareHouseNo == houseNo && areaNoList.Contains(w.AreaNo))
+                    .OrderBy(o => o.Row).OrderByDescending(o => o.Column).First();
+                if (loctionModel == null)
+                {
+                    throw new Exception("璇ヨ溅闂村噣妗跺尯鏆傛棤绌轰綑鍌ㄤ綅");
+                }
+                return loctionModel;
+            }
+            catch (Exception ex)
+            {
                 throw new Exception(ex.Message);
             }
         }
@@ -943,8 +974,6 @@
             bool result = false;
 
             #region 鍛煎彨灏忚溅浠g爜
-            List<AgvSchedulingTask> agvTaskList = new List<AgvSchedulingTask>();
-
             List<PositionCodePath> pahtList = new List<PositionCodePath>();
             //璧峰浣嶇疆
             PositionCodePath path1 = new PositionCodePath();
@@ -977,7 +1006,7 @@
             agvTask.reqCode = taskDetial.Taskno;//璇锋眰缂栧彿
             agvTask.taskCode = taskDetial.Taskno;//浠诲姟鍙�
             agvTask.ctnrCode = taskDetial.Pallno;//妗跺彿
-            agvTask.ctnrTyp = "1";
+            agvTask.ctnrTyp = "1";// 1:妗� 3锛氭墭鐩�
             agvTask.reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//璇锋眰鏃堕棿                
             agvTask.wbCode = "";
             agvTask.positionCodePath = pahtList;//灏忚溅璺緞
@@ -991,14 +1020,9 @@
             {
                 agvTask.taskTyp = "Z4";//浠诲姟绫诲瀷 绾胯竟鍒版墭鐩樻敹闆嗗櫒 Z1锛� 鎵樼洏鍨涚敵璇峰叆搴� Z2
             }
-            agvTaskList.Add(agvTask);
 
             // 姝e紡杩愯绋嬪簭鏀惧紑
-            var list2 = agvTaskList.Select(m => m.reqCode).ToList();
-            var jsonData = JsonConvert.SerializeObject(agvTaskList);
-            jsonData = jsonData.Substring(1);
-            jsonData = jsonData.Substring(0, jsonData.Length - 1);
-
+            var jsonData = JsonConvert.SerializeObject(agvTask);
             string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV杞繍鍛戒护", "AGV");
             //瑙f瀽杩斿洖鏁版嵁 
             var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);

--
Gitblit v1.8.0