From 2f14ad3cc01d575bfde0850bae05fded8acb7af6 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期日, 12 一月 2025 00:20:26 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn

---
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2aeac101-1f3c-408b-8198-15ca81fb399f.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/辅料仓/AGV_FLExtend.cs                                              |    2 
 代码管理/淮安PDA/static/KCCX.png                                                                                   |    0 
 代码管理/淮安PDA/pages/index/index.vue                                                                             |    9 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs                                       |    9 +
 代码管理/淮安PDA/static/WMSRK.png                                                                                  |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RouterExtension.cs                                               |   55 ++++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs                                      |   35 ++-
 代码管理/淮安PDA/static/FL.png                                                                                     |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs                                 |    1 
 代码管理/淮安PDA/static/ZXRK.png                                                                                   |    0 
 代码管理/淮安PDA/pages.json                                                                                        |   15 +
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d6a25fc6-8079-499f-9986-415a52105ed7.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs             |   10 +
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/油墨仓/CommonHoisterJob.cs                                          |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs                                          |    7 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                                         |   54 ++++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs                           |   25 +++
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile1.pubxml                |    6 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/IRouterExtension.cs                                              |   15 +
 代码管理/淮安PDA/static/CSJ.png                                                                                    |    0 
 代码管理/淮安PDA/static/BC.png                                                                                     |    0 
 代码管理/淮安PDA/static/CP.png                                                                                     |    0 
 代码管理/淮安PDA/static/YM.png                                                                                     |    0 
 代码管理/淮安PDA/static/pp.png                                                                                     |    0 
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/21c29b54-96c7-4ef4-8769-97b93b4579e9.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/47e7ae83-7241-4034-8668-0cff8bf46000.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs                                     |    9 +
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f0f1270a-ac4e-4e2b-b52d-3beb9a80089a.vsidx |    0 
 代码管理/淮安PDA/static/CK.png                                                                                     |    0 
 代码管理/淮安PDA/static/JX.png                                                                                     |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json                                                |    4 
 代码管理/淮安PDA/static/KCPD.png                                                                                   |    0 
 代码管理/淮安PDA/static/SH.png                                                                                     |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs                          |    8 
 /dev/null                                                                                                    |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/ConveyorLineJob_BC.cs                                        |   21 ++
 代码管理/淮安PDA/static/GM.png                                                                                     |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/StackerCraneJob_BC.cs                                        |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs                 |   12 +
 代码管理/淮安PDA/static/RK.png                                                                                     |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs                              |   11 +
 代码管理/淮安PDA/static/CPCK.png                                                                                   |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json                                                |    4 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/8418c4b5-1bc9-4cbc-b42e-fc61309bcce6.vsidx |    0 
 代码管理/淮安PDA/pages/stash/outraworderboxing.vue                                                                 |  107 ++----------
 46 files changed, 303 insertions(+), 120 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/21c29b54-96c7-4ef4-8769-97b93b4579e9.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/21c29b54-96c7-4ef4-8769-97b93b4579e9.vsidx"
new file mode 100644
index 0000000..f9bc1c8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/21c29b54-96c7-4ef4-8769-97b93b4579e9.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2aeac101-1f3c-408b-8198-15ca81fb399f.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2aeac101-1f3c-408b-8198-15ca81fb399f.vsidx"
new file mode 100644
index 0000000..70aef67
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2aeac101-1f3c-408b-8198-15ca81fb399f.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/47e7ae83-7241-4034-8668-0cff8bf46000.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/47e7ae83-7241-4034-8668-0cff8bf46000.vsidx"
new file mode 100644
index 0000000..80d1404
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/47e7ae83-7241-4034-8668-0cff8bf46000.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a596cb47-ab88-4895-a28c-478a351b517d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a596cb47-ab88-4895-a28c-478a351b517d.vsidx"
deleted file mode 100644
index f27125b..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a596cb47-ab88-4895-a28c-478a351b517d.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d6a25fc6-8079-499f-9986-415a52105ed7.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d6a25fc6-8079-499f-9986-415a52105ed7.vsidx"
new file mode 100644
index 0000000..a451f14
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d6a25fc6-8079-499f-9986-415a52105ed7.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f0f1270a-ac4e-4e2b-b52d-3beb9a80089a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f0f1270a-ac4e-4e2b-b52d-3beb9a80089a.vsidx"
new file mode 100644
index 0000000..5ae21ab
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f0f1270a-ac4e-4e2b-b52d-3beb9a80089a.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index cd1e7e5..889d452 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -65,6 +65,8 @@
         /// <returns></returns>
         WebResponseContent RequestWMSTask(string palletCode, string sourceAddress);
 
+        WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway);
+
         /// <summary>
         /// 鍚慦MS鐢宠鍒嗛厤璐т綅
         /// </summary>
@@ -180,5 +182,12 @@
         /// <param name="roadwayNos"></param>
         /// <returns></returns>
         WebResponseContent RequestWMSAssignRoadway(int taskNum, List<string> roadwayNos);
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="roadwayNos"></param>
+        /// <returns></returns>
+        WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos);
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
index 9ed8a34..89f653a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
@@ -6,6 +6,7 @@
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_Tasks;
 
 namespace WIDESEAWCS_WCSServer.Controllers.Task
 {
@@ -14,9 +15,12 @@
     public class TaskController : ApiBaseController<ITaskService, Dt_Task>
     {
         private readonly IHttpContextAccessor _httpContextAccessor;
-        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor) : base(service)
+        private readonly IRouterExtension _routerExtension;
+
+        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension) : base(service)
         {
             _httpContextAccessor = httpContextAccessor;
+            _routerExtension = routerExtension;
         }
 
         [HttpPost, Route("ReceiveTask"), AllowAnonymous]
@@ -65,5 +69,10 @@
         {
             return Service.SendSecureReplyToAgv(taskNum);
         }
+        [HttpPost, HttpGet, Route("GetRouteEndPoint"), AllowAnonymous]
+        public WebResponseContent GetRouteEndPoint(string startPoint, int routeType)
+        {
+            return WebResponseContent.Instance.OK(data: _routerExtension.GetEndPoint(startPoint, routeType));
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile1.pubxml" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile1.pubxml"
index 36847ea..81b9175 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile1.pubxml"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile1.pubxml"
@@ -4,7 +4,7 @@
 -->
 <Project>
   <PropertyGroup>
-    <DeleteExistingFiles>false</DeleteExistingFiles>
+    <DeleteExistingFiles>true</DeleteExistingFiles>
     <ExcludeApp_Data>false</ExcludeApp_Data>
     <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
     <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
@@ -13,5 +13,9 @@
     <PublishUrl>bin\Release\net6.0\publish\</PublishUrl>
     <WebPublishMethod>FileSystem</WebPublishMethod>
     <_TargetId>Folder</_TargetId>
+    <SiteUrlToLaunchAfterPublish />
+    <TargetFramework>net6.0</TargetFramework>
+    <ProjectGuid>487fa45b-ea1a-4aca-bb5b-0f6708f462c0</ProjectGuid>
+    <SelfContained>false</SelfContained>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
index 0d51fe7..18ef079 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
@@ -12,8 +12,8 @@
   "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
   //杩炴帴瀛楃涓�
   //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
-  //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  "ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TestWCS_TC;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TestWCS_TC;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   "WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //璺ㄥ煙
   "Cors": {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 0b81e70..5be3edc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -314,6 +314,35 @@
             return content;
         }
 
+        public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={roadway}&palletCode={palletCode}");
+                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+                if (responseContent != null && responseContent.Status && responseContent.Data != null)
+                {
+                    WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString());
+                    if (taskDTO != null)
+                    {
+                        content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
+                    }
+                }
+
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
         public WebResponseContent RequestWMSAssignRoadway(int taskNum, List<string> roadwayNos)
         {
             WebResponseContent content = new WebResponseContent();
@@ -339,6 +368,31 @@
             return content;
         }
 
+        public WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Post($"{address}/api/Task/SingleAssignRoadway", roadwayNos.Serialize());
+                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+                if (responseContent != null && responseContent.Status && responseContent.Data != null)
+                {
+                    return responseContent;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
         /// <summary>
         /// 鍚慦MS鐢宠鍒嗛厤璐т綅
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/IRouterExtension.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/IRouterExtension.cs"
new file mode 100644
index 0000000..d7df6d0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/IRouterExtension.cs"
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_QuartzJob.Models;
+
+namespace WIDESEAWCS_Tasks
+{
+    public interface IRouterExtension : IDependency
+    {
+        List<Dt_Router> GetEndPoint(string startPoint, int routeType);
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RouterExtension.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RouterExtension.cs"
new file mode 100644
index 0000000..c42f79f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RouterExtension.cs"
@@ -0,0 +1,55 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+
+namespace WIDESEAWCS_Tasks
+{
+    public class RouterExtension : IRouterExtension
+    {
+        private readonly IRouterRepository _routerRepository;
+
+        public RouterExtension(IRouterRepository routerRepository)
+        {
+            _routerRepository = routerRepository;
+        }
+
+        public List<Dt_Router> GetEndPoint(string startPoint, int routeType)
+        {
+            List<Dt_Router> routers = new List<Dt_Router>();
+            try
+            {
+                List<Dt_Router> dt_Routers = _routerRepository.QueryData(x => x.StartPosi == startPoint && x.InOutType == routeType);
+                foreach (var item in dt_Routers)
+                {
+                    if (item.IsEnd && !routers.Any(x => x.Id == item.Id))
+                    {
+                        routers.Add(item);
+                    }
+                    else
+                    {
+                        List<Dt_Router> tempRouters = GetEndPoint(item.NextPosi, routeType);
+                        foreach (var router in tempRouters)
+                        {
+                            //濡傛灉涓嬩竴涓矾鐢辩殑璧风偣鍜岀粓鐐归兘鍖归厤锛屽垯娣诲姞鍒拌矾鐢卞垪琛ㄤ腑
+                            if (router.IsEnd && !routers.Any(x => x.Id == router.Id))
+                            {
+                                routers.Add(router);
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+
+            }
+
+            return routers;
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
index cffd0bb..b028806 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
@@ -17,6 +17,7 @@
 using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.Models;
 using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 
 namespace WIDESEAWCS_Tasks
@@ -30,14 +31,18 @@
         private readonly ITaskRepository _taskRepository;
         private readonly IStationMangerRepository _stationMangerRepository;
         private readonly IRouterRepository _routerRepository;
+        private readonly IRouterService _routerService;
+        private readonly IRouterExtension _routerExtension;
 
-        public ConveyorLineJob_BC(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository)
+        public ConveyorLineJob_BC(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
             _taskRepository = taskRepository;
             _stationMangerRepository = stationMangerRepository;
             _routerRepository = routerRepository;
+            _routerService = routerService;
+            _routerExtension = routerExtension;
         }
 
         public Task Execute(IJobExecutionContext context)
@@ -76,10 +81,18 @@
                             {
                                 if (conveyorLineInfoRead.TaskNum == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
                                 {
-                                    WebResponseContent content = _taskService.RequestWMSTask(conveyorLineInfoRead.Barcode, item.StationCode);
-                                    if (content.Status)
+                                    List<Dt_Router> routers = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt());
+
+                                    List<string> stations = routers.Select(x => x.NextPosi).ToList();
+
+                                    WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(stations);
+                                    if (responseContent.Status)
                                     {
-                                        device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                                        WebResponseContent content = _taskService.RequestWMSTask(conveyorLineInfoRead.Barcode, item.StationCode);
+                                        if (content.Status)
+                                        {
+                                            device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                                        }
                                     }
                                 }
                                 else//鐢熶骇閫�搴�
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
index 3263fcf..b206974 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
@@ -150,7 +150,7 @@
                             return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
                         }
 
-                        _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: task.TargetAddress);
+                        _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi, targetAddress: router.NextPosi);
                     }
                     else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                     {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs"
index 549f044..48878a9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs"
@@ -103,7 +103,7 @@
                         }
                         else if (leisure && !tray && !requestIn && !inbounding && !requestOut && !outbounding)
                         {
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType));
+                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskType != TaskTypeEnum.MesOutbound.ObjToInt());
                             if (task != null)
                             {
                                 task.TaskState=TaskStatusEnum.HT_Executing.ObjToInt();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\350\276\205\346\226\231\344\273\223/AGV_FLExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\350\276\205\346\226\231\344\273\223/AGV_FLExtend.cs"
index 8d00a08..4c97e00 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\350\276\205\346\226\231\344\273\223/AGV_FLExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\350\276\205\346\226\231\344\273\223/AGV_FLExtend.cs"
@@ -22,7 +22,7 @@
         {
             try
             {
-                var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && nameof(AGV_FLJob).Contains(x.DeviceCode)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
+                var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && nameof(AGV_FLJob).Contains(x.DeviceCode) && !string.IsNullOrEmpty(x.DeviceCode)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
                 foreach (var task in newTasks)
                 {
                     try
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/8418c4b5-1bc9-4cbc-b42e-fc61309bcce6.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/8418c4b5-1bc9-4cbc-b42e-fc61309bcce6.vsidx"
new file mode 100644
index 0000000..ec43b15
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/8418c4b5-1bc9-4cbc-b42e-fc61309bcce6.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs"
index b2aff79..b93725a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs"
@@ -75,6 +75,14 @@
 
                 List<Dt_LocationInfo> definedTypeEmptyLocations = locationInfos.Where(x => (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() || x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.LocationType == palletType.ObjToInt() && !lockLocationCodes.Contains(x.LocationCode)).OrderByDescending(x => x.Depth).ThenBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).ToList();
 
+                if (palletTypeInfo.LocaitonCount == 2)
+                {
+                    if (roadwayNo != "SC01_BC")
+                        definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
+                    else
+                        definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
+                }
+
                 if (definedTypeEmptyLocations.Any())
                 {
                     for (int i = 0; i < definedTypeEmptyLocations.Count; i++)
@@ -103,7 +111,7 @@
                         Dt_LocationInfo? locationInfo = GetUsableLocation_BC(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo);
                         if (locationInfo != null)
                         {
-                            UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId);
+                            //UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId);
                             locationCaches_BC.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
                             return locationInfo;
                         }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs"
index a6c169c..90d7b6e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs"
@@ -84,28 +84,37 @@
         private string RequestDataLog(HttpContext context)
         {
             var request = context.Request;
-            if (request.ContentType?.ToLower() != "multipart/form-data" && request.ContentLength <= 100000)
-            {
-                var sr = new StreamReader(request.Body);
 
-                object obj = new
+            var sr = new StreamReader(request.Body);
+
+            object obj;
+            string bodyData = sr.ReadToEndAsync().Result;
+            if (request.ContentLength <= 100000)
+            {
+                obj = new
                 {
                     QueryString = request.QueryString.ToString(),
-                    BodyData = sr.ReadToEndAsync().Result
+                    BodyData = bodyData
                 };
-
-                string data = JsonConvert.SerializeObject(obj);
-
-                request.Body.Position = 0;
-
-                return data;
             }
-            return "";
+            else
+            {
+                obj = new
+                {
+                    QueryString = request.QueryString.ToString(),
+                    BodyData = ""
+                };
+            }
+            string data = JsonConvert.SerializeObject(obj);
+
+            request.Body.Position = 0;
+
+            return data; ;
         }
 
         private string ResponseDataLog(HttpResponse response)
         {
-            if (response.ContentType?.ToLower() != "multipart/form-data" && response.ContentLength <= 100000)
+            if (response.ContentLength <= 100000)
             {
                 response.Body.Position = 0;
                 using StreamReader stream = new StreamReader(response.Body, leaveOpen: true);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
index 0720448..f3c54c3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
@@ -18,6 +18,7 @@
         IOutboundOrderRepository Repository { get; }
 
         WebResponseContent GetOutboundOrders(SaveModel saveModel);
+        WebResponseContent outpinku(SaveModel saveModel);
         WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model);
         WebResponseContent TestOutUpload(int id,List<Dt_OutStockLockInfo>? outStockLockInfos=null);
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index 021df9b..8d0a9e8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -206,6 +206,13 @@
         WebResponseContent AssignRoadway(int taskNum, List<string> roadwayNos);
 
         /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="roadwayNos"></param>
+        /// <returns></returns>
+        WebResponseContent AssignRoadway(List<string> roadwayNos);
+
+        /// <summary>
         /// 淇敼浠诲姟鐘舵��
         /// </summary>
         /// <param name="task"></param>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
index 8e1f0ed..524e624 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
@@ -879,6 +879,15 @@
                 }
                 return palletTypeInfo.PalletType;
             }
+            else if (warehouse.WarehouseCode == WarehouseEnum.HA57.ObjToString())
+            {
+                Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 3));
+                if (palletTypeInfo == null)
+                {
+                    throw new Exception($"鎵樼洏鍙烽敊璇�");
+                }
+                return palletTypeInfo.PalletType;
+            }
             return -1;
         }
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs"
index ba1c709..b982e9b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs"
@@ -35,7 +35,7 @@
                     return WebResponseContent.Instance.OK(data: task.TargetAddress);
                 }
 
-                List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == task.PalletType || x.LocationType == 0) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo)).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList();
+                List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == task.PalletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo)).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList();
 
                 string roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? "";
                 
@@ -48,6 +48,29 @@
             }
         }
 
+        /// <summary>
+        /// 鍏ュ簱浠诲姟鐢宠鍒嗛厤璐т綅
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <param name="roadwayNos">宸烽亾鍙�</param>
+        /// <returns></returns>
+        public WebResponseContent AssignRoadway(List<string> roadwayNos)
+        {
+            try
+            {
+                List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo)).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList();
+
+                string roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? "";
+
+                return !string.IsNullOrEmpty(roadwayNo) ? WebResponseContent.Instance.OK(data: roadwayNo) : WebResponseContent.Instance.Error("鏈壘鍒板彲鍒嗛厤宸烽亾");
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+
         public class LocationCount
         {
             public string RoadwayNo { get; set; }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
index ac85e2f..5dbaca8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
@@ -33,9 +33,19 @@
         /// <param name="saveModel"></param>
         /// <returns></returns>
         [HttpPost, Route("GetOutboundOrders"), AllowAnonymous]
-        public WebResponseContent GetOutboundOrders([FromBody]SaveModel saveModel)
+        public WebResponseContent GetOutboundOrders([FromBody] SaveModel saveModel)
         {
             return Service.GetOutboundOrders(saveModel);
         }
+        /// <summary>
+        /// 鍑哄钩搴撳簱瀛�
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        [HttpPost, Route("outpinku"), AllowAnonymous]
+        public WebResponseContent outpinku([FromBody] SaveModel saveModel)
+        {
+            return Service.outpinku(saveModel);
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index b5f0c14..db78b1a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -64,7 +64,7 @@
         [HttpPost, HttpGet, Route("OutEmpty"), AllowAnonymous]
         public WebResponseContent OutEmpty(int qty, string address, int WarehouseId, string barcode)
         {
-            return Service.OutEmpty(qty, address, WarehouseId,barcode);
+            return Service.OutEmpty(qty, address, WarehouseId, barcode);
         }
 
         [HttpPost, HttpGet, Route("DeviceRequestInboundTask"), AllowAnonymous]
@@ -187,6 +187,12 @@
             return Service.AssignRoadway(taskNum, roadwayNos);
         }
 
+        [HttpPost, Route("SingleAssignRoadway"), AllowAnonymous]
+        public WebResponseContent AssignRoadway([FromBody] List<string> roadwayNos)
+        {
+            return Service.AssignRoadway(roadwayNos);
+        }
+
         /// <summary>
         /// 淇敼浠诲姟鐘舵��
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
index 227fd0f..f7b61c7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
@@ -12,8 +12,8 @@
   "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
   //杩炴帴瀛楃涓�
   //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
-  //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  "ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TestWMS_CTUAGV;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TestWMS_CTUAGV;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //鏃MS鏁版嵁搴撹繛鎺�
   "TeConnectionString": "Data Source=10.30.4.92;Initial Catalog=TeChuang;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //璺ㄥ煙
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
index 2db61c0..3830d1a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
@@ -43,7 +43,20 @@
 				"enablePullDownRefresh": false
 			}
 		},
-		
+		{
+			"path": "pages/stash/outboundorder",
+			"style": {
+				"navigationBarTitleText": "鍑哄簱鍗�",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
+			"path": "pages/stash/outraworderboxing",
+			"style": {
+				"navigationBarTitleText": "骞冲簱鍑哄簱",
+				"enablePullDownRefresh": false
+			}
+		},
 		{
 			"path": "pages/stash/boxing",
 			"style": {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue"
index 445e832..4236ecb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue"
@@ -5,8 +5,7 @@
 		<u-grid :col="2">
 			<u-grid-item @tap="clickCoupon(item.url,item.menuId,item.description,item.menuName)" v-for="(item) in tree"
 				:key="item.menuId">
-				<u-icon  :name="item.icon" custom-prefix="custom-icon" size="50"
-					color="#888888"></u-icon>
+				<u-icon :name="item.icon" custom-prefix="custom-icon" size="50" color="#888888"> </u-icon>
 				<view class="grid-text">{{item.menuName}}</view>
 			</u-grid-item>
 		</u-grid>
@@ -32,7 +31,7 @@
 		},
 		onShow() {
 			console.log();
-			
+
 			uni.getSystemInfo({
 				success: (res) => {
 					this.version = res.appWgtVersion;
@@ -54,7 +53,7 @@
 			AndroidCheckUpdate: function() {
 				var _this = this;
 				uni.request({
-					url: this.$u.http.config.baseUrl+'/api/PDA/GetPDAVersion?version=' + this.version,
+					url: this.$u.http.config.baseUrl + '/api/PDA/GetPDAVersion?version=' + this.version,
 					method: 'GET',
 					data: {},
 					success: res => {
@@ -67,7 +66,7 @@
 								icon: "none"
 							});
 							var dtask = plus.downloader.createDownload(
-								this.$u.http.config.baseUrl+"/api/PDA/DownLoadApp", {},
+								this.$u.http.config.baseUrl + "/api/PDA/DownLoadApp", {},
 								function(d, status) {
 									// 涓嬭浇瀹屾垚 
 									if (status == 200) {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outraworderboxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outraworderboxing.vue"
index 1bc1830..ac2fe9c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outraworderboxing.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outraworderboxing.vue"
@@ -7,39 +7,24 @@
 				<view class="itemstyle">
 					<uni-forms style="margin-left: 2%;margin-top: 20px;" label-width="180">
 						<uni-forms-item :label="label" style="margin-top: -20px;"></uni-forms-item>
-						<!-- <uni-forms-item label="鍗曟嵁绫诲瀷锛氱敓浜ч鏂欏崟" style="margin-top: -20px;"></uni-forms-item> -->
 						<uni-forms-item label="鐗╂枡鐮侊細" style="margin-top: -20px;">
-							<uni-easyinput type="text" placeholder="璇锋壂鎻忕墿鏂欑爜" ref='midInput' :focus="focus"
-								v-model="innerCode" @input="snInput" />
+							<uni-easyinput type="text" placeholder="璇锋壂鎻忕墿鏂欑爜" ref='midInput' :focus="!focus"
+								v-model="materSn" @input="snInput" />
 						</uni-forms-item>
-						<!-- <uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item>
-						<uni-forms-item :label="matCode" style="margin-top: -20px;"></uni-forms-item>
-						<uni-forms-item :label="LotNo" style="margin-top: -20px;"></uni-forms-item>
-						<uni-forms-item :label="ProductionDate" style="margin-top: -20px;"></uni-forms-item>
-						<uni-forms-item :label="EffectiveDate" style="margin-top: -20px;"></uni-forms-item>
-						<uni-forms-item :label="orderQty" style="margin-top: -20px;"></uni-forms-item>
-						<uni-forms-item :label="remaindQty" style="margin-top: -20px;"> -->
 						<uni-list>
-							<uni-list-item direction="column" v-for="item in matInfos" :key="item.palletCode">
+							<uni-list-item direction="column" v-for="(item,index) in matInfos" :key="index">
 								<template v-slot:body>
 									<view class="uni-content">
-										<view>鍗曟嵁缂栧彿锛歿{item.orderNo}}</view>
-										<view>鎵樼洏缂栧彿锛歿{item.palletCode}}</view>
-										<view>鐗╂枡鎵规锛歿{item.batchNo}}</view>
+										<!-- <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view> -->
 										<view>鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
-										<view>鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
-										<view>鍗曟嵁鏁伴噺锛歿{item.orderQuantity}}</view>
-										<view>鍘熷搴撳瓨锛歿{item.originalQuantity}}</view>
-										<view>鍒嗛厤搴撳瓨锛歿{item.assignQuantity}}</view>
-										<view>鍓╀綑搴撳瓨锛歿{item.originalQuantity-item.assignQuantity}}</view>
+										<view>鎵规鍙凤細{{item.lotNo}}</view>
+										<view>鏁伴噺锛歿{item.quantity}}</view>
+										<!-- <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+										<view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view> -->
 									</view>
 								</template>
 							</uni-list-item>
 						</uni-list>
-						<uni-forms-item label="鍑哄簱鏁伴噺锛�" style="margin-top: -20px;">
-							<uni-easyinput type="text" placeholder="璇疯緭鍏ュ嚭搴撴暟閲�" ref='midInput' :focus="focus"
-								v-model="outQty" />
-						</uni-forms-item>
 						</uni-forms-item>
 					</uni-forms>
 					<uni-forms-item>
@@ -58,8 +43,8 @@
 										<view>鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
 										<view>鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
 										<view>鏁伴噺锛歿{item.orderQuantity+item.unit}}</view>
-										<view>鍑哄簱鏁伴噺锛歿{item.orderQuantity}}</view>
-										<view>宸插嚭鏁伴噺锛歿{item.overOutQuantity}}</view>
+										<view>鍑哄簱鏁伴噺锛歿{item.orderQuantity+item.unit}}</view>
+										<view>宸插嚭鏁伴噺锛歿{item.overOutQuantity+item.unit}}</view>
 									</view>
 								</view>
 							</template>
@@ -79,40 +64,19 @@
 			return {
 				items: ['鐗╂枡淇℃伅', '鍗曟嵁淇℃伅'],
 				current: 0,
-				matTotal: [],
 				matInfos: [],
 				orderNo: "",
 				label: "",
-				outQty: "",
 				orderInfo: [],
 				focus: false,
-				pkfocus: false,
-				barcode: "",
 				materSn: "",
-				Initiallife: 1000,
-				sns: [],
-				pksns: [],
-				addressFocus: false,
-				inboundBarcode: "",
-				address: "",
-				check: true,
-				value: "",
-				matInfo: [],
-				value2: "",
-				matTotals: [],
+				sn: "",
 				warehouseId: "",
-				Test: false,
-				Testlabel: "",
-				Testplaceholder: "",
-				Testcheck: false,
-				pkmaterSn: "",
-				pkmatInfos: []
 			}
 		},
 		onShow() {},
 		onLoad(res) {
 			this.focus = false;
-			this.addressFocus = false;
 			this.orderNo = res.orderNo;
 			this.warehouseId = res.warehouseId;
 			this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
@@ -140,7 +104,6 @@
 			},
 			onClickItem(e) {
 				this.focus = false;
-				this.addressFocus = false;
 				if (this.current !== e.currentIndex) {
 					this.current = e.currentIndex;
 					if (this.current == 2) {
@@ -152,7 +115,7 @@
 			snInput() {
 				this.$nextTick(() => {
 					if (this.materSn != "") {
-						this.focus = false;
+						this.focus = true;
 						var matSn = this.materSn;
 						setTimeout(() => {
 							this.materSn = "";
@@ -160,8 +123,8 @@
 						this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
 							this.Testcheck = false;
 							if (res.status) {
-								this.sns.push(res.data.serialNumber);
-
+								this.matInfos = [];
+								this.sn = res.data.serialNumber;
 								this.matInfos.push(res.data);
 								if (res.message) {
 									this.$refs.uToast.show({
@@ -177,6 +140,8 @@
 									this.voiceSpeech('../../static/success.mp3');
 								}, 100);
 							} else {
+								this.matInfos = [];
+								this.sns = [];
 								this.$refs.uToast.show({
 									title: res.message,
 									type: "error"
@@ -189,56 +154,30 @@
 					}
 				})
 			},
-			deleteList(res) {
-				this.matInfos.splice(res, 1);
-				this.sns.splice(res, 1);
-			},
 			submit() {
-				if (this.barcode == "") {
+				if (this.sn == "") {
 					this.$refs.uToast.show({
-						title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+						title: "璇锋壂鎻忕墿鏂欑爜",
 						type: 'error'
 					})
 					return;
 				}
-				if (this.matInfos.length == 0) {
-					this.$refs.uToast.show({
-						title: "璇锋壂鎻忓唴绠辨爣绛�",
-						type: 'error'
-					})
-					return;
-				}
-				if (this.Test) {
-					if (!this.Testcheck) {
-						this.Testcheck = true;
-						this.$refs.uToast.show({
-							title: "璇风‘璁ゅ垵濮嬪鍛�",
-							type: 'error'
-						})
-						return;
-					}
-				}
-				this.$u.post('/api/InboundOrder/MaterielGroup', {
+				debugger
+				this.$u.post('/api/OutboundOrder/outpinku', {
 					MainData: {
-						"palletCode": this.barcode,
 						"orderNo": this.orderNo,
-						"initiallife": this.Initiallife,
-						// "isFull": this.check
+						"sn": this.sn,
 						"warehouseId": this.warehouseId
-					},
-					DelKeys: this.sns
+					}
 				}).then(res => {
-					this.Testcheck = false;
 					if (res.status) {
 						this.$refs.uToast.show({
 							title: "鍑哄簱鎴愬姛",
 							type: "success"
 						})
 						this.focus = false;
-						this.barcode = "";
 						this.matInfos = [];
-						this.sns = [];
-						this.matTotal = [];
+						this.sn = "";
 					} else {
 						this.$refs.uToast.show({
 							title: res.message,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/BC.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/BC.png"
new file mode 100644
index 0000000..fe5d789
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/BC.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CK.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CK.png"
new file mode 100644
index 0000000..3488861
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CK.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CP.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CP.png"
new file mode 100644
index 0000000..ea34fcc
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CP.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CPCK.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CPCK.png"
new file mode 100644
index 0000000..9f52126
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CPCK.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CSJ.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CSJ.png"
new file mode 100644
index 0000000..681e28a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/CSJ.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/FL.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/FL.png"
new file mode 100644
index 0000000..ff3b4e2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/FL.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/GM.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/GM.png"
new file mode 100644
index 0000000..f9d9552
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/GM.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/JX.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/JX.png"
new file mode 100644
index 0000000..4c9daba
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/JX.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/KCCX.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/KCCX.png"
new file mode 100644
index 0000000..4fdf597
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/KCCX.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/KCPD.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/KCPD.png"
new file mode 100644
index 0000000..abbc5fb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/KCPD.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/RK.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/RK.png"
new file mode 100644
index 0000000..cb7057f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/RK.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/SH.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/SH.png"
new file mode 100644
index 0000000..e38fcba
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/SH.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/WMSRK.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/WMSRK.png"
new file mode 100644
index 0000000..0771d46
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/WMSRK.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/YM.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/YM.png"
new file mode 100644
index 0000000..fd52c2c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/YM.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/ZXRK.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/ZXRK.png"
new file mode 100644
index 0000000..56dbce3
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/ZXRK.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/pp.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/pp.png"
new file mode 100644
index 0000000..ce6fadc
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/pp.png"
Binary files differ

--
Gitblit v1.9.3