From f928756ecbf68886443ab87ce458b99aba73a763 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-JIE70N9>
Date: 星期四, 08 五月 2025 15:13:25 +0800
Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/JC34WMS

---
 Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs |  140 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 117 insertions(+), 23 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
index 790a092..f5c6885 100644
--- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -1435,6 +1435,7 @@
                 var skuNo = ""; //鍏ュ簱鐗╂枡
                 var isAddTask = true; //鏄惁娣诲姞鏂颁换鍔�
                 var oldTaskNo = "";  //鏃т换鍔″彿
+                var starLocate = ""; // 璧峰鍌ㄤ綅
                 var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).ToList();
                 //楠岃瘉鐗╂枡鏄惁鏈夋垚鍝�
                 foreach (var item in stockDetail)
@@ -1461,7 +1462,7 @@
                             {
                                 PalletNo = palletNo,//鎵樼洏鍙�
                                 StartRoadway = beingTask.StartRoadway, // 璧峰宸烽亾
-                                StartLocate = "", // 璧峰浣嶇疆
+                                StartLocate = starLocate, // 璧峰浣嶇疆
                                 EndLocate = beingTask.EndLocat, // 鐩爣浣嶇疆
                                 EndRoadway = beingTask.EndRoadway,                           //  鐩爣宸烽亾
                                 TaskNo = beingTask.TaskNo, // 浠诲姟鍙�
@@ -1529,9 +1530,21 @@
                     {
                         throw new Exception($"{palletNo}鎵樼洏鏉$爜涓嶅叿鏈夌鐮佷俊鎭紝涓嶅彲鍏ュ簱锛�");
                     }
-                    if (stockDetail.Count(m => !string.IsNullOrWhiteSpace(m.LocatNo)) > 0)
+                    if (stockDetail.Count(m => !string.IsNullOrWhiteSpace(m.LocatNo)) == 0)
                     {
-                        throw new Exception("褰撳墠鎵樼洏宸插湪搴撳唴锛岃鏍稿疄");
+                        throw new Exception("褰撳墠鎵樼洏娌℃湁鍦ㄥ钩搴撳偍浣嶄笂锛岃鏍稿疄");
+                    }
+                    starLocate = stockDetail.First().LocatNo;
+
+                    var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m=>m.AreaNo).ToList();
+                    var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == starLocate && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0");
+                    if (pingLocateInfo == null )
+                    {
+                        throw new Exception("褰撳墠鎵樼洏鎵�鍦ㄧ殑鍌ㄤ綅娌℃湁鍦ㄧ郴缁熶腑鎵惧埌淇℃伅");
+                    }
+                    if (pingLocateInfo.Status != "1")
+                    {
+                        throw new Exception("褰撳墠鎵樼洏鎵�鍦ㄧ殑鍌ㄤ綅鐘舵�侀敊璇紝涓嶆槸绌哄偍浣�");
                     }
                     skuNo = stockDetail.First().SkuNo;
 
@@ -1545,13 +1558,14 @@
                             {
                                 PalletNo = palletNo,//鎵樼洏鍙�
                                 StartRoadway = beingTask.StartRoadway, // 璧峰宸烽亾
-                                StartLocate = "", // 璧峰浣嶇疆
+                                StartLocate = beingTask.StartLocat, // 璧峰浣嶇疆
                                 EndLocate = beingTask.EndLocat, // 鐩爣浣嶇疆
                                 EndRoadway = beingTask.EndRoadway,                           //  鐩爣宸烽亾
                                 TaskNo = beingTask.TaskNo, // 浠诲姟鍙�
                                 TaskType = "0",// 浠诲姟绫诲瀷 (鍑哄簱)
                                 OutMode = "",  //鐩爣鍦板潃
-                                Order = 1
+                                Order = 1,
+                                Type = PLCTypeEnum.AGV
                             };
                             if (beingTask.IsSuccess == 0)
                             {
@@ -1663,7 +1677,7 @@
                             SendDate = DateTime.Now,  //鍙戦�佹椂闂�
                             BackDate = DateTime.Now,  //杩斿洖鏃堕棿
                             StartRoadway = "",            // 璧峰宸烽亾
-                            StartLocat = "",//璧峰浣嶇疆
+                            StartLocat = starLocate,//璧峰浣嶇疆
                             EndLocat = locate.LocatNo,//鐩爣浣嶇疆
                             EndRoadway = locate.RoadwayNo,  // 鐩爣宸烽亾
                             PalletNo = palletNo,//鎵樼洏鐮�
@@ -1779,13 +1793,14 @@
                     {
                         PalletNo = palletNo,//鎵樼洏鍙�
                         StartRoadway = "",
-                        StartLocate = "", // 璧峰浣嶇疆
+                        StartLocate = starLocate, // 璧峰浣嶇疆
                         EndLocate = locate.LocatNo, // 鐩爣浣嶇疆 
                         EndRoadway = locate.RoadwayNo,   // 鐩爣宸烽亾
                         TaskNo = oldTaskNo, // 浠诲姟鍙�
                         TaskType = "0",// 浠诲姟绫诲瀷 (鍑哄簱)
                         OutMode = "",  //鐩爣鍦板潃
-                        Order = 1
+                        Order = 1,
+                        Type = PLCTypeEnum.AGV
                     };
 
                 }
@@ -2558,7 +2573,7 @@
         }
 
         /// <summary>
-        /// 涓嬪彂鍏ュ簱鐢宠鍌ㄤ綅浠诲姟锛堜笅鍙�==銆婣GV灏忚溅锛�
+        /// 涓嬪彂鍏ュ簱鐢宠鍌ㄤ綅浠诲姟锛堜笅鍙�==銆媁CS锛�
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
@@ -2574,22 +2589,21 @@
                 try
                 {
                     var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                    //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV鍙枡鍑哄簱鍛戒护", "AGV");
+                    response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍏ュ簱鍛戒护", "WCS");
                     var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+                    var list = new List<string>() { model.TaskNo };
+                    //瑙f瀽杩斿洖鏁版嵁 
+                    var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
+                    if (wcsModel.code == 200)
+                    {
+                        //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                        new TaskServer().EditTaskIssueOk(list, time1, time2);
 
-                    ////瑙f瀽杩斿洖鏁版嵁 
-                    //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                    //if (wcsModel.StatusCode == 0)
-                    //{
-                    //    //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                    //new TaskServer().EditTaskIssueOk(list2, time1, time2);
-
-                    //}
-                    //if (wcsModel.StatusCode == -1)
-                    //{
-                    //    new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
-                    //    throw new Exception(wcsModel.Msg);
-                    //}
+                    }else
+                    {
+                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message);
+                        throw new Exception("WCS鍙嶉锛�"+wcsModel.message);
+                    }
                 }
                 catch (Exception ex)
                 {
@@ -2602,6 +2616,86 @@
             }
         }
 
+        /// <summary>
+        /// 鍏ュ簱浠诲姟瀹屾垚JC34
+        /// </summary>
+        /// <param name="taskNo"></param>
+        /// <param name="userId"></param>
+        /// <exception cref="Exception"></exception>
+        public void ArrivalSuccess2(string taskNo, int userId)
+        {
+            try
+            {
+                //姝e父鍏ュ簱 
+                var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == taskNo);
+                if (task == null)
+                {
+                    throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅");
+                }
+                if (task.Status == "2")
+                {
+                    throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
+                }
+
+                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+                var upShelf = Db.Queryable<BllPalletUpShelf>().First(m => m.TaskNo == taskNo);
+                if (upShelf == null)
+                {
+                    throw new Exception("娌℃湁鎵惧埌鎵樼洏涓婃灦淇℃伅");
+                }
+                //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
+                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
+                if (locate == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑鍌ㄤ綅淇℃伅");
+                }
+                Db.BeginTran();
+
+                task.Status = "2";//浠诲姟鐘舵��
+                task.IsSend = 0;
+                task.IsCancel = 0;
+                task.IsFinish = 0;
+                task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+                Db.Updateable(task).ExecuteCommand();
+                if (userId != 0)
+                {
+                    //娣诲姞鎿嶄綔鏃ュ織璁板綍
+                    var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
+                }
+
+                //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
+                if (stockDetail.Any())
+                {
+                    throw new Exception("娌℃湁鏌ヨ鍒板簱瀛樹俊鎭�");
+                }
+
+                foreach (var item in stockDetail)
+                {
+                    item.WareHouseNo = locate.WareHouseNo;
+                    item.RoadwayNo = locate.RoadwayNo;
+                    item.AreaNo = locate.AreaNo;
+                    item.LocatNo = locate.LocatNo;
+                    item.UpdateTime = DateTime.Now;
+                    if (userId != 0)
+                    {
+                        item.UpdateUser = userId;
+                    }
+                }
+                upShelf.Status = "2";
+                Db.Updateable(upShelf).ExecuteCommand();
+
+                locate.Status = "1";
+                Db.Updateable(locate).ExecuteCommand();
+                Db.Updateable(stockDetail).ExecuteCommand();
+                Db.CommitTran();
+
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
         #endregion
 
         #region 鎸囧畾鍌ㄤ綅

--
Gitblit v1.8.0