From 157abc191c34e57c1b958ae74fc3de6518ca8a30 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期五, 28 二月 2025 11:06:36 +0800
Subject: [PATCH] 修改客户需求

---
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs |  148 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 52a0b07..12de074 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -20,6 +20,7 @@
 using WMS.Entity.LogEntity;
 using Model.ModelDto.SysDto;
 using Model.ModelDto.BllSoDto;
+using System.Security.Policy;
 
 namespace WMS.BLL.BllPdaServer
 {
@@ -2411,6 +2412,153 @@
         }
 
 
+        /// <summary>
+        /// WMS鐢宠鎷h揣绌烘墭
+        /// </summary>
+        /// <param name="model"> </param>
+        /// <param name="userId"> </param>
+        /// <param name="url"> </param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public string IssuePlnCehckHouseWcs(CheckModePalletVm model, int userId, string url)
+        {
+            try
+            {
+                string StartLocate = "" ,EndLocate = "";
+                
+                Db.BeginTran();
+                if (model.OutMode == "001") //瑗夸晶鎷h揣浣嶅彨绌烘墭鐩�
+                {
+                    var xLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13010101" || w.LocatNo == "B13020101" || w.LocatNo == "B13030101"));
+                    if (xLocate == null)
+                    {
+                        throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏");
+                    }
+                    StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13010101" || w.LocatNo == "B13020101" || w.LocatNo == "B13030101")).LocatNo;
+                    EndLocate = "B15010101";
+                }
+                else//涓滀晶鎷h揣浣嶅彨绌烘墭鐩�
+                {
+                    var dLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13030101" || w.LocatNo == "B13040101" || w.LocatNo == "B13050101"));
+                    if (dLocate == null)
+                    {
+                        throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏");
+                    }
+                    StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13030101" || w.LocatNo == "B13040101" || w.LocatNo == "B13050101")).LocatNo;
+                    EndLocate = "B15020101";
+                }
+
+                //娣诲姞鍑哄簱浠诲姟
+                var taskNo = new Common().GetMaxNo("TK");
+                var exTask = new LogTask
+                {
+                    TaskNo = taskNo,
+                    Sender = "WMS",
+                    Receiver = "AGV",
+                    IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+
+                    StartLocat = StartLocate,//璧峰浣嶇疆
+                    EndLocat = EndLocate,//鐩爣浣嶇疆
+                    PalletNo = "",//鎵樼洏鐮�
+                    Msg = string.Format("杞繍浠诲姟锛歿0}=>>{1}", StartLocate, EndLocate),
+                    IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+                    IsCancel = 1,//鏄惁鍙彇娑�
+                    IsFinish = 1,//鏄惁鍙畬鎴�
+                    Type = "2",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
+                    Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+                    OrderType = "3",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
+
+                    CreateTime = DateTime.Now
+                };
+                Db.Insertable(exTask).ExecuteCommand();
+
+                var storageLocatEnd = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == EndLocate);
+                //淇敼鐩爣鍌ㄤ綅鍦板潃鐘舵��
+                if (storageLocatEnd != null)
+                {
+                    storageLocatEnd.Status = "4";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 
+                    Db.Updateable(storageLocatEnd).ExecuteCommand();
+                }
+
+                #region 鍛煎彨灏忚溅浠g爜
+
+                var endlono = EndLocate;
+                string tasktype = "D01";
+
+                //鐐瑰埌鐐规寚浠ら泦鍚�
+                object[] position = new object[2];
+                position[0] = new
+                {
+                    positionCode = StartLocate,
+                    type = "00"
+                };
+                position[1] = new
+                {
+                    positionCode = endlono,
+                    type = "00"
+                };
+
+                List<AgvSchedulingTask> agvTaskList = new List<AgvSchedulingTask>();
+                AgvSchedulingTask agvTask = new AgvSchedulingTask();
+                Random r = new Random();
+                long ran = DateTime.Now.Ticks;
+                agvTask.ReqCode = ran.ToString();
+                agvTask.TaskCode = taskNo;
+                agvTask.TaskTyp = tasktype;
+                agvTask.PositionCodePath = position;
+                agvTask.CtnrTyp = "1";
+
+                agvTaskList.Add(agvTask);
+
+                string str = "";
+                var list2 = agvTaskList.Select(m => m.TaskCode).ToList();
+                var jsonData = JsonConvert.SerializeObject(agvTaskList);
+                jsonData = jsonData.Substring(1, jsonData.Length - 1);
+                jsonData = jsonData.Substring(0, jsonData.Length - 1);
+                string response = "";
+
+                try
+                {
+                    var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                    response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV杞繍鍛戒护", "AGV");
+                    var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+                    //////瑙f瀽杩斿洖鏁版嵁 
+                    var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
+                    if (agvModel.Code == "0")
+                    {
+                        //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                        new TaskServer().EditTaskIssueOk(list2, time1, time2);
+                        str += "涓嬪彂鎴愬姛";
+                    }
+                    if (agvModel.Code == "1")
+                    {
+                        new TaskServer().EditTaskIssueNo(list2, time1, time2, agvModel.Message);
+                        throw new Exception(agvModel.Message);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+
+                #endregion
+
+                //娣诲姞鎿嶄綔鏃ュ織璁板綍
+                var k = new OperationCrServer().AddLogOperationCr("PDA妯″潡", "AGV杞繍", "", "绉诲簱", $"PDA鍛煎彨灏忚溅鎷嗙┖鎵樼洏鎷h揣", userId);
+                Db.CommitTran();
+
+                return "";
+            }
+            catch (Exception e)
+            {
+                Db.RollbackTran();
+                throw new Exception(e.Message);
+            }
+        }
+
+
+
         public string MoveAddress(string oldAddress, string roadWay, string skuNo,string areaNo="")//01020201  鎺�-鍒�-灞�-娣卞害
         {
             string nowAddress = "";

--
Gitblit v1.8.0