From 85321209305d0188314427ec2e392b47a48b28eb Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期四, 10 七月 2025 08:39:16 +0800
Subject: [PATCH] 接口属性类型变更

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |  139 +++++++++++++++++++++++-----------------------
 1 files changed, 69 insertions(+), 70 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 398927b..361b515 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -1014,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 || string.IsNullOrWhiteSpace(it.LocatNo))
+                    .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偍鍑哄簱闇�瑕佸叧鑱旇揣涓�
@@ -2200,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)
@@ -3033,7 +3034,7 @@
                     foreach (var item in list)
                     {
                         var outModeLocate = "";
-                        if (outMode == "1")
+                        if (outMode == "17")
                         {
                             if (i < outLocatelist1.Count)
                             {
@@ -3042,11 +3043,11 @@
                             else
                             {
                                 var j = i % outLocatelist1.Count;
-                                
+
                                 outModeLocate = outLocatelist1[j].LocatNo;
                             }
                         }
-                        else if(outMode == "2")
+                        else if (outMode == "18")
                         {
                             if (i < outLocatelist1.Count)
                             {
@@ -3058,6 +3059,10 @@
 
                                 outModeLocate = outLocatelist2[j].LocatNo;
                             }
+                        }
+                        else
+                        {
+                            throw new Exception("鍑哄簱鍙e伐浣嶅紓甯�");
                         }
                         
                         var taskNoStr = "";
@@ -3150,18 +3155,17 @@
 
                             outDto1.Add(new OutCommandDto()
                             {
+                                TaskNo = exTask.TaskNo, // 浠诲姟鍙�
+                                TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉� 
+
                                 PalletNo = item.PalletNo,//鎵樼洏鍙�
                                 StartLocate = locate.LocatNo, // 璧峰浣嶇疆
                                 StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
                                 EndLocate = outModeLocate, // 鐩爣浣嶇疆 
-                                TaskNo = exTask.TaskNo, // 浠诲姟鍙�
-                                TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉� 
-                                OutMode = outModeLocate,  //鍑哄簱鍙� 
-                                Order = 1,
-
-                                //UnstackingMode = "unstackingMode2",//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                //CompleteQty = outCount2,  //鎷嗙殑浠舵暟
-                                //BoxexQty = outCount,      //鎬讳欢鏁�
+                                
+                                Order = 999,
+                                Type  = PLCTypeEnum.AGV
+                                 
                             });
                             taskNoStr = exTask.TaskNo;
                             
@@ -3347,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)
                 {
@@ -3375,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;
@@ -3389,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)
@@ -3445,8 +3451,6 @@
                         }
 
                         #endregion
-
-                        
 
                         if (locate.Status == "1") //鏈夌墿鍝�
                         {
@@ -3514,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);
@@ -3524,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);
@@ -3561,7 +3566,7 @@
                                 IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
                                 StartLocat = locate.LocatNo,//璧峰浣嶇疆
-                                EndLocat = toLocation,//outMode,//鐩爣浣嶇疆
+                                EndLocat = outMode,//outMode,//鐩爣浣嶇疆
                                 PalletNo = item.PalletNo,//鎵樼洏鐮�
                                 IsSend = 1,//鏄惁鍙啀娆′笅鍙�
                                 IsCancel = 1,//鏄惁鍙彇娑�
@@ -3569,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;
@@ -3711,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)
                         {
@@ -4327,12 +4334,12 @@
                 try
                 {
 
-                    task.Status = "5";//浠诲姟鐘舵��
-                    //鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱  
-                    if (pingKuList.Contains(task.StartLocat) && pingKuList.Contains(task.EndLocat))
-                    {
+                    //task.Status = "5";//浠诲姟鐘舵��
+                    ////鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱  
+                    //if (pingKuList.Contains(task.StartLocat) && pingKuList.Contains(task.EndLocat))
+                    //{
                         task.Status = "2";
-                    }
+                    //}
                     
                     task.IsSend = 0;
                     task.IsCancel = 0;
@@ -5570,9 +5577,6 @@
                                     OutMode = toLocation,  //鍑哄簱鍙� 
                                     Order = 1,
 
-                                    UnstackingMode=unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                    CompleteQty= outCount2,  //鎷嗙殑浠舵暟
-                                    BoxexQty = outCount,      //鎬讳欢鏁�
                                 });
                                 taskNoStr = exTask.TaskNo;
                             }
@@ -5687,9 +5691,7 @@
                                                     OutMode = toLocation,  //鐩爣鍦板潃
                                                     Order = 1,
 
-                                                    UnstackingMode = "1",//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                                    CompleteQty = 0,  //鎷嗙殑浠舵暟
-                                                    BoxexQty = 0,      //鎬讳欢鏁�
+                                                    
                                                 });
                                                 #endregion
 
@@ -5745,9 +5747,6 @@
                                     OutMode = toLocation,  //鐩爣鍦板潃
                                     Order = 1,
 
-                                    UnstackingMode = unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑�  1 浜哄伐鎷h揣鍑�
-                                    CompleteQty = outCount2,  //鎷嗙殑浠舵暟
-                                    BoxexQty = outCount,      //鎬讳欢鏁�
                                 });
                                 taskNoStr = exTask1.TaskNo;
                                 #endregion
@@ -5974,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