From f3a9a3ad429d86028c884e3476dc0badcd8da966 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 21 六月 2025 15:13:18 +0800
Subject: [PATCH] Merge branch 'wxw'

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |  788 +++++++++++++++++++++++++++----------------------------
 1 files changed, 387 insertions(+), 401 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index e0f4851..361b515 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -29,6 +29,7 @@
 using System.Diagnostics;
 using System.Drawing.Drawing2D;
 using Model.ModelDto.LogDto;
+using AutoMapper.Internal;
 
 namespace WMS.BLL.BllSoServer
 {
@@ -1013,10 +1014,11 @@
                     skuList = skuList.Where(m => m.SkuNo == "100088").ToList();
                 }
                 skuStrList = skuList.Select(m => m.SkuNo).ToList();
+                var areaStr = new List<string>() { "B06", "B07", "B09" };
                 var stockRst = new StockServer();
                 var stockDetailRst = new StockDetailServer();
                 Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
-                    .And(it => it.WareHouseNo == house)
+                    .And(it => it.WareHouseNo == house || string.IsNullOrWhiteSpace(it.LocatNo) || (it.WareHouseNo == "W04" && !areaStr.Contains(it.AreaNo)))
                     .AndIF(!string.IsNullOrWhiteSpace(inspectStatus), it => inspectStatus.Contains(it.InspectStatus))
                     .And(m => skuStrList.Contains(m.SkuNo))
                     .AndIF(type == "6", m => m.OwnerNo == ownerNo)//浠e偍鍑哄簱闇�瑕佸叧鑱旇揣涓�
@@ -1249,7 +1251,7 @@
                         IsWave = "0",
                         WaveNo = "",
                         IsDespatch = "0",
-
+                        WareHouseNo = model.WareHouseNo,
                         CreateUser = userId,
                     };
 
@@ -2199,17 +2201,17 @@
                             var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
                             ////瑙f瀽杩斿洖鏁版嵁 
-                            var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                            if (wcsModel.StatusCode == 0)
+                            var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
+                            if (wcsModel.code == 200)
                             {
                                 //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
                                 new TaskServer().EditTaskIssueOk(list2, time1, time2);
                                 str += "涓嬪彂鎴愬姛";
                             }
-                            if (wcsModel.StatusCode == -1)
+                            else
                             {
-                                new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
-                                throw new Exception(wcsModel.Msg);
+                                new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message);
+                                throw new Exception(wcsModel.message);
                             }
                         }
                         catch (Exception ex)
@@ -3025,9 +3027,44 @@
                 try
                 {
                     List<LogTask> logTaskList = new List<LogTask>();//姝ゆ鍑哄簱浠诲姟闆嗗悎锛屼负搴斿鍚屾墭鐩樹笉鍚岀墿鏂欏嚭搴�
+                    var i = 0;
+                    var outLocatelist1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B02" && m.Flag == "0").ToList();
+                    var outLocatelist2 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B05" && m.Flag == "0").ToList();
                     //寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
                     foreach (var item in list)
                     {
+                        var outModeLocate = "";
+                        if (outMode == "17")
+                        {
+                            if (i < outLocatelist1.Count)
+                            {
+                                outModeLocate = outLocatelist1[i].LocatNo;
+                            }
+                            else
+                            {
+                                var j = i % outLocatelist1.Count;
+
+                                outModeLocate = outLocatelist1[j].LocatNo;
+                            }
+                        }
+                        else if (outMode == "18")
+                        {
+                            if (i < outLocatelist1.Count)
+                            {
+                                outModeLocate = outLocatelist2[i].LocatNo;
+                            }
+                            else
+                            {
+                                var j = i % outLocatelist1.Count;
+
+                                outModeLocate = outLocatelist2[j].LocatNo;
+                            }
+                        }
+                        else
+                        {
+                            throw new Exception("鍑哄簱鍙e伐浣嶅紓甯�");
+                        }
+                        
                         var taskNoStr = "";
                                            
                         // 鍌ㄤ綅鍙�
@@ -3050,7 +3087,7 @@
                             {
                                 //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鍒嗛厤淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚 
                                 item.Status = "2";//鐘舵��
-                                item.OutMode = outMode;//鍑哄簱鍙� 
+                                item.OutMode = outModeLocate;//鍑哄簱鍙� 
                                 Db.Updateable(item).ExecuteCommand();
                                 var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.SODetailNo);
                                 if (noticeDetail != null) //鏇存柊鍑哄簱鍗曟嵁鐨勪笅鍙戞暟閲�
@@ -3072,6 +3109,7 @@
                             }
                             flagList.Add(0);
                             continue;
+                            
                         }
 
                         var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo && m.IsDel == "0");//褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭�
@@ -3102,7 +3140,7 @@
                                 IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
                                 StartLocat = locate.LocatNo,//璧峰浣嶇疆
-                                EndLocat = outMode,//鐩爣浣嶇疆
+                                EndLocat = outModeLocate,//鐩爣浣嶇疆
                                 PalletNo = item.PalletNo,//鎵樼洏鐮�
                                 IsSend = 1,//鏄惁鍙啀娆′笅鍙�
                                 IsCancel = 1,//鏄惁鍙彇娑�
@@ -3110,25 +3148,24 @@
                                 Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                                 Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                                 OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                                Msg = "浠�" + locate.LocatNo + "鍒�" + outMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
+                                Msg = "浠�" + locate.LocatNo + "鍒�" + outModeLocate + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
                             };
                             Db.Insertable(exTask).ExecuteCommand();
                             logTaskList.Add(exTask);
 
                             outDto1.Add(new OutCommandDto()
                             {
+                                TaskNo = exTask.TaskNo, // 浠诲姟鍙�
+                                TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉� 
+
                                 PalletNo = item.PalletNo,//鎵樼洏鍙�
                                 StartLocate = locate.LocatNo, // 璧峰浣嶇疆
                                 StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
-                                EndLocate = outMode, // 鐩爣浣嶇疆 
-                                TaskNo = exTask.TaskNo, // 浠诲姟鍙�
-                                TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉� 
-                                OutMode = outMode,  //鍑哄簱鍙� 
-                                Order = 1,
-
-                                //UnstackingMode = "unstackingMode2",//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                //CompleteQty = outCount2,  //鎷嗙殑浠舵暟
-                                //BoxexQty = outCount,      //鎬讳欢鏁�
+                                EndLocate = outModeLocate, // 鐩爣浣嶇疆 
+                                
+                                Order = 999,
+                                Type  = PLCTypeEnum.AGV
+                                 
                             });
                             taskNoStr = exTask.TaskNo;
                             
@@ -3157,17 +3194,21 @@
                             }
                             locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
                             Db.Updateable(locate).ExecuteCommand();
+                            var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
+                            locate2.Status = "4";
+                            Db.Updateable(locate2).ExecuteCommand();
 
                             item.TaskNo = taskNoStr; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
                             item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
                             //item.UnstackingMode = unstackingMode2;//鎷嗗灈鏂瑰紡
-                            item.OutMode = outMode;//鍑哄簱鍙�
+                            item.OutMode = outModeLocate;//鍑哄簱鍙�
                             //item.LoadingAddre = unstackingMode2 == "0" ? loadingAddre : "";//瑁呰溅鍙�
                             Db.Updateable(item).ExecuteCommand();
 
                             #endregion
 
                             flagList.Add(0);
+                            i++;
                         }
                         else if (locate.Status == "3") //鍑哄簱涓�
                         {
@@ -3310,7 +3351,8 @@
 
                 #endregion
                 var com = new Common();
-                
+                var allot = new AllotLocation();
+
                 var notice = Db.Queryable<BllExportNotice>().First(m => m.SONo == soNo && m.IsDel == "0");
                 if (notice == null)
                 {
@@ -3338,11 +3380,12 @@
                 try
                 {
                     List<LogTask> logTaskList = new List<LogTask>();//姝ゆ鍑哄簱浠诲姟闆嗗悎锛屼负搴斿鍚屾墭鐩樹笉鍚岀墿鏂欏嚭搴�
+                    
+                    
                     //寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
                     foreach (var item in list)
                     {
                         var taskNoStr = "";
-                        string toLocation = string.Empty;//鐩爣浣嶇疆
                        
                         // 鍌ㄤ綅鍙�
                         var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo).LocatNo;
@@ -3352,11 +3395,11 @@
                         //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐�
                         if (string.IsNullOrWhiteSpace(locateNo)) //搴撳
                         {
-                            if (notice.Type == "0")
-                            {
-                                flagList.Add(5);
-                                continue;
-                            }
+                            //if (notice.Type == "0")
+                            //{
+                            //    flagList.Add(5);
+                            //    continue;
+                            //}
                             //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ叆搴撲腑
                             var imBl = com.GetImTask(item.PalletNo);
                             if (imBl != null)
@@ -3408,8 +3451,6 @@
                         }
 
                         #endregion
-
-                        
 
                         if (locate.Status == "1") //鏈夌墿鍝�
                         {
@@ -3477,7 +3518,7 @@
                                                 Type = "2",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                                                 Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                                                 OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                                                Msg = "浠�" + locate.LocatNo + "鍒�" + toLocation + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
+                                                Msg = "浠�" + locate.LocatNo + "鍒�" + moveAddress + "鐨勭Щ搴撲换鍔�", //鍏抽敭淇℃伅
                                             };
                                             Db.Insertable(ykTask).ExecuteCommand();
                                             logTaskList.Add(ykTask);
@@ -3487,10 +3528,11 @@
                                                 PalletNo = item.PalletNo,//鎵樼洏鍙�
                                                 StartLocate = locate.LocatNo, // 璧峰浣嶇疆
                                                 StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
-                                                EndLocate = toLocation,//outMode, // 鐩爣浣嶇疆 
+                                                EndLocate = moveAddress,//outMode, // 鐩爣浣嶇疆 
                                                 TaskNo = ykTaskNo, // 浠诲姟鍙�
-                                                TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉�  
+                                                TaskType = "2",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉�  
                                                 Order = Math.Abs(row2 - rows),
+                                                Type = PLCTypeEnum.ShuttleCar
 
                                             }); 
                                             var slotChange = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == s);
@@ -3524,7 +3566,7 @@
                                 IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
                                 StartLocat = locate.LocatNo,//璧峰浣嶇疆
-                                EndLocat = toLocation,//outMode,//鐩爣浣嶇疆
+                                EndLocat = outMode,//outMode,//鐩爣浣嶇疆
                                 PalletNo = item.PalletNo,//鎵樼洏鐮�
                                 IsSend = 1,//鏄惁鍙啀娆′笅鍙�
                                 IsCancel = 1,//鏄惁鍙彇娑�
@@ -3532,21 +3574,23 @@
                                 Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                                 Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                                 OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                                Msg = "浠�" + locate.LocatNo + "鍒�" + toLocation + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
+                                Msg = "浠�" + locate.LocatNo + "鍒�" + outMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
                             };
                             Db.Insertable(exTask).ExecuteCommand();
                             logTaskList.Add(exTask);
-
+                            var endroad = allot.RoadwayToStationNum(locate.RoadwayNo, outMode);
                             outDto1.Add(new OutCommandDto()
                             {
                                 PalletNo = item.PalletNo,//鎵樼洏鍙�
                                 StartLocate = locate.LocatNo, // 璧峰浣嶇疆
-                                StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
-                                EndLocate = toLocation,//outMode, // 鐩爣浣嶇疆 
+                                StartRoadway = locate.RoadwayNo,//璧峰宸烽亾
+                                EndLocate = outMode,//, // 鐩爣浣嶇疆 
+                                EndRoadway = endroad,
                                 TaskNo = exTask.TaskNo, // 浠诲姟鍙�
                                 TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉� 
-                                OutMode = toLocation,  //鍑哄簱鍙� 
+                                OutMode = outMode,  //鍑哄簱鍙� 
                                 Order = Math.Abs(row2 - row1),
+                                Type = PLCTypeEnum.ShuttleCar
 
                             });
                             taskNoStr = exTask.TaskNo;
@@ -3674,23 +3718,23 @@
 
                         try
                         {
-                            //var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                            //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
-                            //var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+                            var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                            response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+                            var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
-                            //////瑙f瀽杩斿洖鏁版嵁 
-                            //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                            //if (wcsModel.StatusCode == 0)
-                            //{
-                            //    //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                            //    new TaskServer().EditTaskIssueOk(list2, time1, time2);
-                            //    str += "涓嬪彂鎴愬姛";
-                            //}
-                            //if (wcsModel.StatusCode == -1)
-                            //{
-                            //    new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
-                            //    throw new Exception(wcsModel.Msg);
-                            //}
+                            ////瑙f瀽杩斿洖鏁版嵁 
+                            var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
+                            if (wcsModel.code == 200)
+                            {
+                                //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                                new TaskServer().EditTaskIssueOk(list2, time1, time2);
+                                str += "涓嬪彂鎴愬姛";
+                            }
+                            else
+                            {
+                                new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message);
+                                throw new Exception(wcsModel.message);
+                            }
                         }
                         catch (Exception ex)
                         {
@@ -4100,7 +4144,6 @@
             return bl;
         }
 
-
         private class addreClass
         {
             public string slotCode { get; set; }
@@ -4113,6 +4156,289 @@
             public string AisleOne { get; set; }
              
         }
+
+        /// <summary>
+        /// wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙鍑哄簱鎴愬姛锛�
+        /// </summary>
+        /// <param name="taskNo"></param>
+        /// <param name="userId"></param>
+        /// <exception cref="Exception"></exception>
+        public void ExportSuccess(string taskNo, int userId)
+        {
+            try
+            {
+                //褰撳墠浠诲姟淇℃伅
+                var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
+                if (task == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
+                }
+                if (task.Status == "2")
+                {
+                    throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
+                }
+                Db.BeginTran();
+                //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
+                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+                var locateNo = stockDetail.Select(m => m.LocatNo).Distinct().FirstOrDefault();
+                //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
+                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo);
+                try
+                {
+                    task.Status = "2";//浠诲姟鐘舵��
+                    task.IsSend = 0;
+                    task.IsCancel = 0;
+                    task.IsFinish = 0;
+                    task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+                    Db.Updateable(task).ExecuteCommand();
+                    if (locate != null)
+                    {
+                        locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
+                        Db.Updateable(locate).ExecuteCommand();
+                    }
+                    foreach (var item in stockDetail)
+                    {
+                        if (item.SkuNo == "100099")//鍒ゆ柇鏄惁鏄┖鎵樺嚭搴�
+                        {
+                            //鍒ゆ柇鎬诲簱瀛樻槸鍚︿负0锛屽鏋滀负0鍒犻櫎 鍚﹀垯鍑忓幓鏁伴噺
+                            var stock = Db.Queryable<DataStock>().First(m => m.SkuNo == "100099");
+
+                            if (stock != null)
+                            {
+                                if (item.LockQty != null)
+                                {
+                                    stock.Qty -= item.LockQty.Value;
+                                    stock.LockQty -= item.LockQty.Value;
+                                    Db.Updateable(stock).ExecuteCommand();
+                                }
+
+                                if (stock.Qty == 0)
+                                {
+                                    Db.Deleteable(stock).ExecuteCommand();
+                                }
+                            }
+
+                            //鎵樼洏鐘舵�佹敼涓烘湭浣跨敤
+                            var sCode = Db.Queryable<SysPallets>().First(m => m.PalletNo == item.PalletNo);
+                            if (sCode != null)
+                            {
+                                sCode.Status = "0";
+                                Db.Updateable(sCode).ExecuteCommand();
+                            }
+                            Db.Deleteable(item).ExecuteCommand();
+
+                            continue;
+                        }
+                        item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
+                        item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
+                        item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
+                        item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
+                        
+                    }
+                    //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級
+                    var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == "1" && m.PalletNo == task.PalletNo))).ToList();
+                    var PalletType = "0"; //0锛氱墿鏂欐墭  1锛氱┖鎵樼洏鎵�
+                    
+                    foreach (var item in allot)
+                    {
+                        if (item.SkuNo == "100099")
+                        {
+                            item.Status = "5";
+                            item.CompleteQty += stockDetail[0].Qty;
+                            PalletType = "1";
+                        }
+                        else
+                        {
+                            item.Status = "2";
+                        }
+
+                    }
+
+                    var endLocateList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && (m.AreaNo == "B02" || m.AreaNo == "B05")).Select(m=>m.LocatNo).ToList();
+                    //鍒ゆ柇鏄惁鏄師杈呮枡鍑哄簱浠诲姟  璐ф灦鍌ㄤ綅=銆嬪钩搴撳偍浣�
+                    if ( endLocateList.Contains(task.EndLocat) && PalletType == "0")
+                    {
+                        //淇敼鐩爣鍦板潃鐘舵��
+                        var endLocat = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == task.EndLocat);
+                        endLocat.Status = "1";
+                        Db.Updateable(endLocat).ExecuteCommand();
+                        foreach (var item in stockDetail)
+                        {
+                            item.LocatNo = endLocat.LocatNo;//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
+                            item.WareHouseNo = endLocat.WareHouseNo;//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
+                            item.RoadwayNo = endLocat.RoadwayNo;//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
+                            item.AreaNo = endLocat.AreaNo;//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
+                        }
+                    }
+                    Db.Updateable(stockDetail).ExecuteCommand();
+                    Db.Updateable(allot).ExecuteCommand();
+
+                    if (userId != 0)
+                    {
+                        //娣诲姞鎿嶄綔鏃ュ織璁板綍
+                        var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
+                    }
+
+                    Db.CommitTran();
+                }
+                catch (Exception ex)
+                {
+                    Db.RollbackTran();
+                    throw new Exception(ex.Message);
+                }
+            }
+            catch (Exception ex)
+            {
+                throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙绉诲簱鎴愬姛锛�
+        /// </summary>
+        /// <param name="taskNo">浠诲姟鍙�</param>
+        /// <param name="userId">鎿嶄綔浜�</param>
+        /// <exception cref="Exception"></exception>
+        public void RelocationSuccess(string taskNo, int userId)
+        {
+            try
+            {
+                //褰撳墠浠诲姟淇℃伅
+                var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
+                if (task == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
+                }
+                if (task.Status == "2")
+                {
+                    throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
+                }
+                Db.BeginTran();
+                //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
+                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+                //褰撳墠浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅
+                //褰撳墠浠诲姟涓殑鍘熷偍浣�
+                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
+                if (locate == null)
+                {
+                    throw new Exception($"WMS绯荤粺涓病鏈夎{task.StartLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+                }
+                var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
+                if (locate2 == null)
+                {
+                    throw new Exception($"WMS绯荤粺涓病鏈夎{task.EndLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+                }
+                //骞冲簱涓偍浣嶉泦鍚�
+                var pingKuLocate = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == "W04" && m.IsDel == "0").ToList();
+                var pingKuList = pingKuLocate.Select(m => m.LocatNo).ToList();
+                try
+                {
+
+                    //task.Status = "5";//浠诲姟鐘舵��
+                    ////鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱  
+                    //if (pingKuList.Contains(task.StartLocat) && pingKuList.Contains(task.EndLocat))
+                    //{
+                        task.Status = "2";
+                    //}
+                    
+                    task.IsSend = 0;
+                    task.IsCancel = 0;
+                    task.IsFinish = 0;
+                    task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+                    Db.Updateable(task).ExecuteCommand();
+
+                    #region 淇敼鍌ㄤ綅鐘舵��
+
+                    if (!pingKuList.Contains(task.StartLocat))
+                    {
+                        //鍘熷偍浣嶆敼涓虹┖鍌ㄤ綅 0
+                        locate.Status = "0";
+                        Db.Updateable(locate).ExecuteCommand();
+                    }
+                    
+
+                    //鐩爣鍌ㄤ綅鏀逛负鏈夎揣鐗� 1
+                    locate2.Status = "1";
+                    Db.Updateable(locate2).ExecuteCommand();
+                    //鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱  
+                    if ( pingKuList.Contains(task.EndLocat))
+                    {
+                        foreach (var item in stockDetail)
+                        {
+                            item.WareHouseNo = locate2.WareHouseNo;
+                            item.AreaNo = locate2.AreaNo;
+                            item.RoadwayNo = locate2.RoadwayNo;
+                            item.LocatNo = locate2.LocatNo;
+                        }
+                        Db.Updateable(stockDetail).ExecuteCommand();
+                    }
+                    
+
+                    #endregion
+
+                    Db.CommitTran();
+                }
+                catch (Exception ex)
+                {
+                    Db.RollbackTran();
+                    throw new Exception(ex.Message);
+                }
+            }
+            catch (Exception ex)
+            {
+                throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// AGV浠诲姟鍙栬揣瀹屾垚鍙嶉
+        /// </summary>
+        /// <param name="taskNo"></param> 
+        public void AGVQuHuoSuccess(string taskNo)
+        {
+            try
+            {
+                Db.BeginTran();
+                var task = Db.Queryable<LogTask>().First(m=>m.IsDel =="0" && m.TaskNo == taskNo);
+                if (task == null)
+                {
+                    throw new Exception("娌℃湁鏌ヨ鍒颁换鍔′俊鎭�");
+                }
+                if (task.Status!="1")
+                {
+                    throw new Exception("浠诲姟鐘舵�佷笉鏄鍦ㄦ墽琛岋紝璇锋牳瀹�");
+                }
+                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat && m.IsDel == "0");
+                if (locate == null)
+                {
+                    throw new Exception("娌℃湁鏌ヨ鍒拌捣濮嬪偍浣嶄俊鎭�");
+                }
+                if (locate.WareHouseNo!="W04")
+                {
+                    throw new Exception("璧峰鍌ㄤ綅涓嶆槸骞冲簱鍌ㄤ綅锛岃鏍稿疄");
+                }
+                locate.Status = "0"; //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣�
+                Db.Updateable(locate).ExecuteCommand();
+                //鏌ヨ鍑烘墭鐩樹俊鎭�  鏇存敼搴撳瓨鍌ㄤ綅淇℃伅
+                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == task.PalletNo).ToList();
+                foreach (var item in stockDetail)
+                {
+                    item.WareHouseNo = "";
+                    item.AreaNo = "";
+                    item.RoadwayNo = "";
+                    item.LocatNo = "";
+                }
+                Db.Updateable(stockDetail).ExecuteCommand();
+                Db.CommitTran();
+            }
+            catch (Exception e)
+            {
+                Db.RollbackTran();
+                throw new Exception(e.Message);
+            }
+        }
+
+        
         #endregion
 
         #endregion
@@ -5251,9 +5577,6 @@
                                     OutMode = toLocation,  //鍑哄簱鍙� 
                                     Order = 1,
 
-                                    UnstackingMode=unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                    CompleteQty= outCount2,  //鎷嗙殑浠舵暟
-                                    BoxexQty = outCount,      //鎬讳欢鏁�
                                 });
                                 taskNoStr = exTask.TaskNo;
                             }
@@ -5368,9 +5691,7 @@
                                                     OutMode = toLocation,  //鐩爣鍦板潃
                                                     Order = 1,
 
-                                                    UnstackingMode = "1",//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                                    CompleteQty = 0,  //鎷嗙殑浠舵暟
-                                                    BoxexQty = 0,      //鎬讳欢鏁�
+                                                    
                                                 });
                                                 #endregion
 
@@ -5426,9 +5747,6 @@
                                     OutMode = toLocation,  //鐩爣鍦板潃
                                     Order = 1,
 
-                                    UnstackingMode = unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                    CompleteQty = outCount2,  //鎷嗙殑浠舵暟
-                                    BoxexQty = outCount,      //鎬讳欢鏁�
                                 });
                                 taskNoStr = exTask1.TaskNo;
                                 #endregion
@@ -5599,338 +5917,6 @@
             }
         }
         
-        //wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙鍑哄簱鎴愬姛锛�
-        public void ExportSuccess(string taskNo, int userId)
-        {
-            try
-            {
-                //褰撳墠浠诲姟淇℃伅
-                var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
-                if (task == null)
-                {
-                    throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
-                }
-                if (task.Status == "2")
-                {
-                    throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
-                }
-                Db.BeginTran();
-                //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
-                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
-                var locateNo = stockDetail.Select(m => m.LocatNo).Distinct().FirstOrDefault();
-                //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
-                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo);
-                try
-                {
-                    task.Status = "2";//浠诲姟鐘舵��
-                    task.IsSend = 0;
-                    task.IsCancel = 0;
-                    task.IsFinish = 0;
-                    task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
-                    Db.Updateable(task).ExecuteCommand();
-                    if (locate != null)
-                    {
-                        locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
-                        Db.Updateable(locate).ExecuteCommand();
-                    }
-                    foreach (var item in stockDetail)
-                    {
-                        if (item.SkuNo == "100099")//鍒ゆ柇鏄惁鏄┖鎵樺嚭搴�
-                        {
-                            //鍒ゆ柇鎬诲簱瀛樻槸鍚︿负0锛屽鏋滀负0鍒犻櫎 鍚﹀垯鍑忓幓鏁伴噺
-                            var stock = Db.Queryable<DataStock>().First(m => m.SkuNo == "100099");
-
-                            if (stock != null)
-                            {
-                                if (item.LockQty != null)
-                                {
-                                    stock.Qty -= item.LockQty.Value;
-                                    stock.LockQty -= item.LockQty.Value;
-                                    Db.Updateable(stock).ExecuteCommand();
-                                }
-
-                                if (stock.Qty == 0)
-                                {
-                                    Db.Deleteable(stock).ExecuteCommand();
-                                }
-                            }
-
-                            //鎵樼洏鐘舵�佹敼涓烘湭浣跨敤
-                            var sCode = Db.Queryable<SysPallets>().First(m => m.PalletNo == item.PalletNo);
-                            if (sCode != null)
-                            {
-                                sCode.Status = "0";
-                                Db.Updateable(sCode).ExecuteCommand();
-                            }
-                            Db.Deleteable(item).ExecuteCommand();
-
-                            #region 鎷h揣淇℃伅
-
-                            //var pickQty = 0;//鎷h揣鐨勬暟閲�
-                            //var comList = new List<BllCompleteDetail>();
-                            //    //娣诲姞鎷h揣鏄庣粏
-                            //    var completeDetail = new BllCompleteDetail()
-                            //    {
-                            //        SONo = "",
-                            //        SODetailNo = 0,
-                            //        ExportAllotId = 0,
-                            //        StockId = exportAllot.StockId,
-                            //        BoxNo = item.BoxNo,
-                            //        BoxNo2 = item.BoxNo2,
-                            //        BoxNo3 = item.BoxNo3,
-
-                            //        LotNo = exportAllot.LotNo,
-                            //        LotText = exportAllot.LotText,
-                            //        SupplierLot = exportAllot.SupplierLot,
-                            //        SkuNo = exportAllot.SkuNo,
-                            //        SkuName = exportAllot.SkuName,
-                            //        Standard = exportAllot.Standard,
-                            //        PalletNo = palletNo,
-                            //        CompleteQty = item.Qty,
-
-                            //        CreateUser = userId
-                            //    };
-                            //    comList.Add(completeDetail);
-
-                            //    //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
-                            //    Db.Deleteable(item).ExecuteCommand();
-                            //    pickQty += item.Qty;
-
-                            //    exportAllot.Status = "5"; //寰呭洖搴� : 宸插畬鎴�
-                            //    exportAllot.CompleteQty += item.Qty; //鎷h揣鏁伴噺
-                            //    exportAllot.UpdateUser = userId; //淇敼浜�
-                            //    exportAllot.UpdateTime = serverTime; //淇敼鏃堕棿
-
-                            //    Db.Updateable(exportAllot).ExecuteCommand();
-
-                            //    //楠岃瘉鎷h揣淇℃伅鏄惁涓哄凡瀹屾垚
-                            //    if (exportAllot.Status == "5")
-                            //    {
-                            //        break;
-                            //    }
-
-
-                            //Db.Insertable(comList).ExecuteCommand();
-
-
-                            #endregion
-
-                            continue;
-                        }
-                        item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
-                        item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
-                        item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
-                        item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
-                        Db.Updateable(item).ExecuteCommand();
-                    }
-                    //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級
-                    var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == "1" && m.PalletNo == task.PalletNo))).ToList();
-                    var PalletType = "0"; //0锛氱墿鏂欐墭  1锛氱┖鎵樼洏鎵�
-                    var soNo = "";
-                    var sku = "";
-                    foreach (var item in allot)
-                    {
-                        if (item.SkuNo == "100099")
-                        {
-                            item.Status = "5";
-                            item.CompleteQty += stockDetail[0].Qty;
-                            PalletType = "1";
-                        }
-                        else
-                        {
-                            item.Status = "2";
-                            soNo = item.SONo;
-                            sku = item.SkuNo;
-                        }
-
-                    }
-                    //涓嬪彂鍥涙ゼ璋冨害AGV鐨勪换鍔�
-                    if ((task.EndLocat == "outMode" || task.EndLocat == "outMode") && PalletType == "0")
-                    {
-                        foreach (var item in allot)
-                        {
-                            var detail = Db.Queryable<DataStockDetail>().First(m => m.Id == item.StockId);
-                            detail.SONo = item.SONo;
-                            Db.Updateable(detail).ExecuteCommand();
-                        }
-
-                        var locatePing = new AllotLocation().GetPingLocate(soNo, sku);
-                        if (locatePing == null)
-                        {
-                            throw new Exception("骞冲簱鏈煡璇㈠埌绌轰綅缃�");
-                        }
-                        var exTask = new LogTask    //鍑哄簱浠诲姟
-                        {
-                            TaskNo = new Common().GetMaxNo("TK"),
-                            Sender = "WMS",
-                            Receiver = "AGV",
-                            IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
-
-                            StartLocat = task.EndLocat,//璧峰浣嶇疆
-                            EndLocat = locatePing.LocatNo,//outMode,//鐩爣浣嶇疆
-                            PalletNo = task.PalletNo,//鎵樼洏鐮�
-                            IsSend = 1,//鏄惁鍙啀娆′笅鍙�
-                            IsCancel = 1,//鏄惁鍙彇娑�
-                            IsFinish = 1,//鏄惁鍙畬鎴�
-                            Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
-                            Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
-                            OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                            Msg = "浠�" + task.EndLocat + "鍒�" + locatePing.LocatNo + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
-                        };
-                        Db.Insertable(exTask).ExecuteCommand();
-
-                        var outDto = new List<OutCommandDto>
-                        {
-                            new OutCommandDto()
-                            {
-                                PalletNo = task.PalletNo,//鎵樼洏鍙�
-                                StartLocate = task.EndLocat, // 璧峰浣嶇疆
-                                StartRoadway = "",//鍏跺疄宸烽亾
-                                EndLocate = locatePing.LocatNo,//outMode, // 鐩爣浣嶇疆 
-                                TaskNo = exTask.TaskNo, // 浠诲姟鍙�
-                                TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉� 
-                                OutMode = "",  //鍑哄簱鍙� 
-                                Order = 1,
-
-                                //UnstackingMode = unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                //CompleteQty = outCount2,  //鎷嗙殑浠舵暟
-                                //BoxexQty = outCount,      //鎬讳欢鏁�
-                            }
-                        };
-                        // 姝e紡杩愯绋嬪簭鏀惧紑
-                        var list2 = outDto.Select(m => m.TaskNo).ToList();
-                        var jsonData = JsonConvert.SerializeObject(outDto);
-                        string response = "";
-
-                        try
-                        {
-                            var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                            //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
-                            var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
-
-                            //////瑙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);
-                            //}
-                        }
-                        catch (Exception ex)
-                        {
-                            throw new Exception(ex.Message);
-                        }
-                    }
-
-                    Db.Updateable(allot).ExecuteCommand();
-
-                    if (userId != 0)
-                    {
-                        //娣诲姞鎿嶄綔鏃ュ織璁板綍
-                        var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
-                    }
-
-                   
-
-                    Db.CommitTran();
-                }
-                catch (Exception ex)
-                {
-                    Db.RollbackTran();
-                    throw new Exception(ex.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙绉诲簱鎴愬姛锛�
-        /// </summary>
-        /// <param name="taskNo">浠诲姟鍙�</param>
-        /// <param name="userId">鎿嶄綔浜�</param>
-        /// <exception cref="Exception"></exception>
-        public void RelocationSuccess(string taskNo, int userId)
-        {
-            try
-            {
-                //褰撳墠浠诲姟淇℃伅
-                var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
-                if (task == null)
-                {
-                    throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
-                }
-                if (task.Status == "2")
-                {
-                    throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
-                }
-                Db.BeginTran();
-                //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
-                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
-                //褰撳墠浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅
-                //褰撳墠浠诲姟涓殑鍘熷偍浣�
-                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
-                if (locate == null)
-                {
-                    throw new Exception($"WMS绯荤粺涓病鏈夎{task.StartLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
-                }
-                var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
-                if (locate2 == null)
-                {
-                    throw new Exception($"WMS绯荤粺涓病鏈夎{task.EndLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
-                }
-
-                try
-                {
-                    task.Status = "2";//浠诲姟鐘舵��
-                    task.IsSend = 0;
-                    task.IsCancel = 0;
-                    task.IsFinish = 0;
-                    task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
-                    Db.Updateable(task).ExecuteCommand();
-
-                    #region 淇敼鍌ㄤ綅鐘舵��
-
-                    //鍘熷偍浣嶆敼涓虹┖鍌ㄤ綅 0
-                    locate.Status = "0";
-                    Db.Updateable(locate).ExecuteCommand();
-
-                    //鐩爣鍌ㄤ綅鏀逛负鏈夎揣鐗� 1
-                    locate2.Status = "1";
-                    Db.Updateable(locate2).ExecuteCommand();
-                    foreach (var item in stockDetail)
-                    {
-                        item.WareHouseNo = locate2.WareHouseNo;
-                        item.AreaNo = locate2.AreaNo;
-                        item.RoadwayNo = locate2.RoadwayNo;
-                        item.LocatNo = locate2.LocatNo;
-                    }
-                    Db.Updateable(stockDetail).ExecuteCommand();
-
-                    #endregion
-
-                    Db.CommitTran();
-                }
-                catch (Exception ex)
-                {
-                    Db.RollbackTran();
-                    throw new Exception(ex.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
-            }
-        }
-
-
         //閲嶆柊涓嬪彂鍑哄簱浠诲姟
         public OutCommandDto AgainSendSoTask(string taskNo, int userId, string url)
         {
@@ -5987,17 +5973,17 @@
                     var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
                     ////瑙f瀽杩斿洖鏁版嵁 
-                    var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                    if (wcsModel.StatusCode == 0)
+                    var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
+                    if (wcsModel.code == 200)
                     {
                         //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
                         new TaskServer().EditTaskIssueOk(list, time1, time2);
 
                     }
-                    if (wcsModel.StatusCode == -1)
+                    else
                     {
-                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg);
-                        throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.Msg}");
+                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message);
+                        throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.message}");
                     }
                 }
                 catch (Exception ex)

--
Gitblit v1.8.0