From f501e1d11653b2500e032a0d3c255f62aac4b054 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 02 二月 2026 15:06:46 +0800
Subject: [PATCH] 清理杂项文件

---
 项目资料/项目整体计划/凤铝项目WMS和WCS软件 宽海进度表-20260130.xlsx                                    |    0 
 代码管理/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/ConveyorLineJob_YL1ndFloor.cs          |  152 --------
 代码管理/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/StackerCraneJob_YLSC3.cs               |    9 
 代码管理/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs |  337 ------------------
 代码管理/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/StackerCraneJob_YLSC2.cs               |    9 
 代码管理/WCS/WCSServices/WIDESEAWCS_Server/Program.cs                                |    1 
 代码管理/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json                          |    7 
 代码管理/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs                   |   12 
 代码管理/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs      |   52 --
 /dev/null                                                                        |  265 --------------
 代码管理/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs                 |   51 --
 代码管理/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs        |    1 
 代码管理/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs                  |  138 -------
 13 files changed, 5 insertions(+), 1,029 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
index 992b7c0..537c357 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
@@ -16,148 +16,10 @@
         Outbound = 100,
 
         /// <summary>
-        /// 鐩樼偣鍑哄簱
-        /// </summary>
-        [Description("鐩樼偣鍑哄簱")]
-        OutInventory = 110,
-
-        /// <summary>
-        /// 鍒嗘嫞鍑哄簱
-        /// </summary>
-        [Description("鍒嗘嫞鍑哄簱")]
-        OutPick = 120,
-
-        /// <summary>
-        /// 鎴愬搧绌烘墭鍑哄簱
-        /// </summary>
-        [Description("鎴愬搧绌烘墭鍑哄簱")]
-        OutEmpty = 130,
-
-        /// <summary>
-        /// 鎴愬搧鍑哄簱
-        /// </summary>
-        [Description("鎴愬搧鍑哄簱")]
-        OutProduct = 230,
-
-        /// <summary>
-        /// 鍘熸枡鑰佸巶鍑哄簱
-        /// </summary>
-        [Description("鍘熸枡鑰佸巶鍑哄簱")]
-        OldYLOutbound = 300,
-
-        /// <summary>
-        /// 鍘熸枡鍗板埛鍑哄簱
-        /// </summary>
-        [Description("鍘熸枡鍗板埛鍑哄簱")]
-        PrintYLOutbound = 310,
-
-        /// <summary>
-        /// 鍘熸枡绾歌鍒惰渚涙枡
-        /// </summary>
-        [Description("鍘熸枡绾歌鍒惰渚涙枡")]
-        PaperYLOutZDGL = 330,
-
-        /// <summary>
-        /// 杈呮枡鏃犵汉甯冨嚭搴�
-        /// </summary>
-        [Description("杈呮枡鏃犵汉甯冨嚭搴�")]
-        OutWFB = 350,
-
-        /// <summary>
-        /// 浜屾ゼ绾哥渚涙枡
-        /// </summary>
-        [Description("浜屾ゼ绾哥渚涙枡")]
-        OutCarton = 360,
-
-        /// <summary>
-        /// 鏃犵汉甯冩穻鑶滃嚭搴�
-        /// </summary>
-        [Description("鏃犵汉甯冩穻鑶滃嚭搴�")]
-        OutWFBLM = 370,
-
-        /// <summary>
-        /// 绾稿紶娣嬭啘鍑哄簱
-        /// </summary>
-        [Description("绾稿紶娣嬭啘鍑哄簱")]
-        OutPaperLM = 380,
-
-        /// <summary>
-        /// 鍐插垏鍖哄嚭搴�
-        /// </summary>
-        [Description("鍐插垏鍖哄嚭搴�")]
-        OutChongQie = 390,
-
-        /// <summary>
-        /// 妯″垏鍖哄嚭搴�
-        /// </summary>
-        [Description("妯″垏鍖哄嚭搴�")]
-        OutMoQie = 400,
-
-        /// <summary>
-        /// 鍒嗗垏鍖哄嚭搴�
-        /// </summary>
-        [Description("鍒嗗垏鍖哄嚭搴�")]
-        OutFenQie = 410,
-
-        /// <summary>
-        /// 鏃犵汉甯冨埗琚嬩緵鏂�
-        /// </summary>
-        [Description("鏃犵汉琚嬪埗琚嬩緵鏂�")]
-        OutWFBGL = 420,
-
-        /// <summary>
         /// 閲囪喘鍏ュ簱
         /// </summary>
         [Description("閲囪喘鍏ュ簱")]
         Inbound = 510,
-
-        /// <summary>
-        /// 鐩樼偣鍏ュ簱
-        /// </summary>
-        [Description("鐩樼偣鍏ュ簱")]
-        InInventory = 520,
-
-        /// <summary>
-        /// 鍒嗘嫞鍏ュ簱
-        /// </summary>
-        [Description("鍒嗘嫞鍏ュ簱")]
-        InPick = 530,
-
-        /// <summary>
-        /// 鎴愬搧鍏ュ簱
-        /// </summary>
-        [Description("鎴愬搧鍏ュ簱")]
-        InProduct = 610,
-
-        /// <summary>
-        /// 鎴愬搧绌烘墭鍥炲簱
-        /// </summary>
-        [Description("鎴愬搧绌烘墭鍥炲簱")]
-        EmptyProductBack = 630,
-
-        /// <summary>
-        /// 鍘熸枡鍗板埛鍗婃垚鍝佸叆搴�
-        /// </summary>
-        [Description("鍘熸枡鍗板埛鍗婃垚鍝佸叆搴�")]
-        PrintYLInbound = 710,
-
-        /// <summary>
-        /// 鍘熸枡鍗板埛浣欐枡閫�搴�
-        /// </summary>
-        [Description("鍘熸枡鍗板埛浣欐枡閫�搴�")]
-        PrintYLBackInbound = 720,
-
-        /// <summary>
-        /// 鍘熸枡鍗板埛浣欐枡閫�搴�
-        /// </summary>
-        [Description("鍘熸枡绾歌浣欐枡閫�搴�")]
-        PaperYLBackInbound = 730,
-
-        /// <summary>
-        /// 鍘熸枡鑰佸巶閫�搴�
-        /// </summary>
-        [Description("鍘熸枡鑰佸巶閫�搴�")]
-        PaperOldYLBackInbound = 740,
 
         /// <summary>
         /// 宸烽亾鍐呯Щ搴�
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Common/WareHouseEnum/WarehouseEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Common/WareHouseEnum/WarehouseEnum.cs"
deleted file mode 100644
index c78a355..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Common/WareHouseEnum/WarehouseEnum.cs"
+++ /dev/null
@@ -1,76 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Common.WareHouseEnum
-{
-    /// <summary>
-    /// 浠撳簱
-    /// HA57 = 娣畨浜屽巶 - 鏉挎枡浠�<br/>
-    /// HA58 = 娣畨浜屽巶 - PP浠�<br/>
-    /// HA60 = 娣畨浜屽巶 - 杈呮枡浠�<br/>
-    /// HA64 = 娣畨浜屽巶 - 娴嬭瘯鏋朵粨<br/>
-    /// HA71 = 娣畨浜屽巶 - 鎴愬搧浠�<br/>
-    /// HA72 = 娣畨浜屽巶 - 灏炬暟浠�<br/>
-    /// HA73 = 娣畨浜屽巶 - 鐮斿彂浠�<br/>
-    /// HA101 = 娣畨浜屽巶 - 鎴愬搧浠撳钩搴�<br/>
-    /// HA152 = 娣畨浜屽巶 - 骞茶啘浠�<br/>
-    /// HA153 = 娣畨浜屽巶 - 娌瑰ⅷ浠�<br/>
-    /// </summary>
-    public enum WarehouseEnum
-    {
-        /// <summary>
-        /// 鏉挎枡浠�
-        /// </summary>
-        [Description("鏉挎枡浠�")]
-        HA57,
-        /// <summary>
-        /// PP浠�
-        /// </summary>
-        [Description("PP浠�")]
-        HA58,
-        /// <summary>
-        /// 杈呮枡浠�
-        /// </summary>
-        [Description("杈呮枡浠�")]
-        HA60,
-        /// <summary>
-        /// 娴嬭瘯鏋朵粨
-        /// </summary>
-        [Description("娴嬭瘯鏋朵粨")]
-        HA64,
-        /// <summary>
-        /// 鎴愬搧浠�
-        /// </summary>
-        [Description("鎴愬搧浠�")]
-        HA71,
-        /// <summary>
-        /// 灏炬暟浠�
-        /// </summary>
-        [Description("灏炬暟浠�")]
-        HA72,
-        /// <summary>
-        /// 鐮斿彂浠�
-        /// </summary>
-        [Description("鐮斿彂浠�")]
-        HA73,
-        /// <summary>
-        /// 鎴愬搧浠撳钩搴�
-        /// </summary>
-        [Description("鎴愬搧浠撳钩搴�")]
-        HA101,
-        /// <summary>
-        /// 骞茶啘浠�
-        /// </summary>
-        [Description("骞茶啘浠�")]
-        HA152,
-        /// <summary>
-        /// 娌瑰ⅷ浠�
-        /// </summary>
-        [Description("娌瑰ⅷ浠�")]
-        HA153
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AGVBoxApplyPassDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AGVBoxApplyPassDTO.cs"
deleted file mode 100644
index bd3f08d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AGVBoxApplyPassDTO.cs"
+++ /dev/null
@@ -1,40 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    /// <summary>
-    /// 鏂欑鍥炶皟
-    /// </summary>
-    public class AGVBoxApplyPassDTO
-    {
-        /// <summary>
-        /// 璇锋眰缂栧彿
-        /// </summary>
-        public string ReqCode { get; set; }
-        /// <summary>
-        /// 璇锋眰鏃堕棿
-        /// </summary>
-        public string ReqTime { get; set; }
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? ClientCode { get; set; }
-        /// <summary>
-        /// 浠ょ墝鍙�
-        /// </summary>
-        public string? TokenCode { get; set; }
-        /// <summary>
-        /// 浠诲姟鍗曞彿
-        /// </summary>
-        public string TaskCode { get; set; }
-        /// <summary>
-        ///  1.鍙栫敵璇烽�氳繃<br/>
-        ///  2.鏀剧敵璇烽�氳繃<br/>
-        /// </summary>
-        public string Type { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvCTUCancelDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvCTUCancelDTO.cs"
deleted file mode 100644
index e2a22bd..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvCTUCancelDTO.cs"
+++ /dev/null
@@ -1,48 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    public class AgvCTUCancelDTO
-    {
-        /// <summary>
-        /// 鍙栨秷绫诲瀷
-        /// </summary>
-        public string ForceCancel { get; set; }
-        /// <summary>
-        /// 鍥炲簱鍖哄煙缂栧彿
-        /// </summary>
-        public string MatterArea { get; set; }
-        /// <summary>
-        /// 璇GV缂栧彿
-        /// </summary>
-        public string AgvCode { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string TaskCode { get; set; }
-        /// <summary>
-        /// 璇锋眰缂栧彿
-        /// </summary>
-        public string ReqCode { get; set; }
-        /// <summary>
-        /// 璇锋眰鏃堕棿鎴�
-        /// </summary>
-        public string ReqTime { get; set; }
-        /// <summary>
-        /// 瀹㈡埛绔紪鍙�
-        /// </summary>
-        public string ClientCode { get; set; }
-        /// <summary>
-        /// 浠ょ墝鍙�
-        /// </summary>
-        public string TokenCode { get; set; }
-        /// <summary>
-        /// 
-        /// </summary>
-        public string TokenTime { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvCallbackBoxNoDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvCallbackBoxNoDTO.cs"
deleted file mode 100644
index 7475f2e..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvCallbackBoxNoDTO.cs"
+++ /dev/null
@@ -1,20 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    public class AgvCallbackBoxNoDTO
-    {
-        /// <summary>
-        /// 瀹瑰櫒鍙�
-        /// </summary>
-        public string  ContainerCode { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string TaskNo { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvFinishDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvFinishDTO.cs"
deleted file mode 100644
index c80f675..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvFinishDTO.cs"
+++ /dev/null
@@ -1,24 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    public class AgvFinishDTO
-    {
-        /// <summary>
-        /// 鎺ユ敹浠诲姟
-        /// </summary>
-        public string ReceiveTaskID { get; set; }
-        /// <summary>
-        /// 鍦板浘缂栫爜
-        /// </summary>
-        public string MapCode { get; set; } = "01";
-        /// <summary>
-        /// 绔欑偣鍙傛暟
-        /// </summary>
-        public List<PointDetail> Variables { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvFinishResponse.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvFinishResponse.cs"
deleted file mode 100644
index 9840010..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvFinishResponse.cs"
+++ /dev/null
@@ -1,24 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    public class AgvFinishResponse
-    {
-        /// <summary>
-        /// 杩斿洖鐮�
-        /// </summary>
-        public string Code { get; set; }
-        /// <summary>
-        /// 杩斿洖娑堟伅
-        /// </summary>
-        public string Content { get; set; }
-        /// <summary>
-        /// 缁撴灉
-        /// </summary>
-        public bool Success { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvHoisterApplyDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvHoisterApplyDTO.cs"
deleted file mode 100644
index 20bc1cd..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvHoisterApplyDTO.cs"
+++ /dev/null
@@ -1,40 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    /// <summary>
-    /// 鎻愬崌鏈虹敵璇�
-    /// </summary>
-    public class AgvHoisterApplyDTO
-    {
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string ReceiveTaskID { get; set; }
-        /// <summary>
-        /// 褰撳墠灞�
-        /// </summary>
-        public int CurrentLayer { get; set; }
-        /// <summary>
-        /// 鐩爣灞�
-        /// </summary>
-        public int TargetLayer { get; set; }
-        /// <summary>
-        /// 鎻愬崌鏈虹紪鍙�
-        /// </summary>
-        public string HoisterCode { get; set; }
-        /// <summary>
-        /// 璇锋眰<br/>
-        /// request:1 璇锋眰杩涘叆鎻愬崌鏈�<br/>
-        /// request:2 鏌ヨ鎻愬崌褰撳墠灞傛槸鍚﹀紑闂ㄥ埌浣�<br/>
-        /// request:3 AGV鍏ユ彁鍗囨満鍒颁綅<br/>
-        /// request:4 AGV璇锋眰鍑烘彁鍗囨満<br/>
-        /// request:5 AGV鍑烘彁鍗囨満鍒颁綅<br/>
-        /// </summary>
-        public string Request { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs"
deleted file mode 100644
index 9c42a4e..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs"
+++ /dev/null
@@ -1,48 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    public class AgvPodBerthAndMatDTO
-    {
-        /// <summary>
-        /// 璇锋眰缂栧彿
-        /// </summary>
-        public string ReqCode { get; set; }
-        /// <summary>
-        /// 璇锋眰鏃堕棿鎴�
-        /// </summary>
-        public string ReqTime { get; set; }
-        /// <summary>
-        /// 瀹㈡埛绔紪鍙�
-        /// </summary>
-        public string ClientCode { get; set; }
-        /// <summary>
-        /// 浠ょ墝鍙�
-        /// </summary>
-        public string TokenCode { get; set; }
-        /// <summary>
-        /// 璐ф灦缂栧彿
-        /// </summary>
-        public string PodCode { get; set; }
-        /// <summary>
-        /// 鐗╂枡鎵规
-        /// </summary>
-        public string MaterialLot { get; set; }
-        /// <summary>
-        /// 浣嶇疆缂栧彿
-        /// </summary>
-        public string PositionCode { get; set; }
-        /// <summary>
-        /// 鍖哄煙缂栧彿
-        /// </summary>
-        public string AreaCode { get; set; }
-        /// <summary>
-        /// 鍦板浘绠�绉�
-        /// </summary>
-        public string MapShortName { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvResponse.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvResponse.cs"
deleted file mode 100644
index 5009495..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvResponse.cs"
+++ /dev/null
@@ -1,45 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    /// <summary>
-    /// 杩斿洖鍙傛暟
-    /// </summary>
-    public class AgvResponse
-    {
-        /// <summary>
-        /// 鎴愬姛True 澶辫触False
-        /// </summary>
-        public bool Success { get; set; }
-        /// <summary>
-        /// 杩斿洖淇℃伅
-        /// </summary>
-        public string Msg { get; set; }
-        /// <summary>
-        /// 杩斿洖鐮�
-        /// </summary>
-        public string Code { get; set; }
-        public AgvResponse() 
-        { 
-        
-        }
-        public AgvResponse OK(string msg="",string code = "")
-        {
-            Success = true;
-            Msg = msg ?? "鎴愬姛";
-            Code = code ?? "0";
-            return this;
-        }
-        public AgvResponse Error(string msg = "")
-        {
-            Success = false;
-            Msg = msg ?? "澶辫触";
-            Code = "404";
-            return this;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvScheduleTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvScheduleTaskDTO.cs"
deleted file mode 100644
index 2185a43..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvScheduleTaskDTO.cs"
+++ /dev/null
@@ -1,43 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    /// <summary>
-    /// 鎴愬搧棰勮皟搴︽帴鍙�
-    /// </summary>
-    public class AgvScheduleTaskDTO
-    {
-        /// <summary>
-        /// 棰勮皟搴︾殑浣嶇疆鎴栦粨浣�
-        /// </summary>
-        public string PositionCode { get; set; }
-        /// <summary>
-        /// 棰勮鐪熷疄浠诲姟澶氬皯绉掍笅鍙戯紝鑻ヨ揪鍒版椂闂存湭涓嬪彂浠诲姟锛岄璋冨害鐨勮溅閲婃斁
-        /// </summary>
-        public string NextTask { get; set; }
-        public string AgvTyp { get; set; }
-        public string WaitTime { get; set; }
-        public string Priority { get; set; }
-        /// <summary>
-        /// 鍗曟棰勮皟搴﹀搴斾竴涓枡绠憋紝闇�瑕佷竴涓狢TU浠撲綅
-        /// </summary>
-        public string UseableLayers { get; set; }
-        /// <summary>
-        /// 鍗曟棰勮皟搴﹀搴斾竴涓枡绠�
-        /// </summary>
-        public string CacheCount { get; set; }
-        /// <summary>
-        /// 涓嶆洿鏂板師鏈夌殑棰勮皟搴︿换鍔★紝绱姞涓�涓柊鐨勯璋冨害浠诲姟
-        /// </summary>
-        public string Update { get; set; }
-        public string PreTaskQty { get; set; }
-        public string ReqCode { get; set; }
-        public string ReqTime { get; set; }
-        public string ClientCode { get; set; }
-        public string TokenCode { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvSecureApplyDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvSecureApplyDTO.cs"
deleted file mode 100644
index d7f0523..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvSecureApplyDTO.cs"
+++ /dev/null
@@ -1,20 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEA_DTO.Agv
-{
-    public class AgvSecureApplyDTO
-    {
-        /// <summary>
-        /// 浠诲姟鍗曞彿
-        /// </summary>
-        public string ReceiveTaskID { get; set; }
-        /// <summary>
-        /// 鍦板浘鍙�
-        /// </summary>
-        public string WbCode { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvSecureReplyDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvSecureReplyDTO.cs"
deleted file mode 100644
index a1f200a..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvSecureReplyDTO.cs"
+++ /dev/null
@@ -1,56 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEA_DTO.Agv
-{
-    public class AgvSecureReplyDTO
-    {
-        /// <summary>
-        /// 璇锋眰缂栧彿 姣忎釜璇锋眰閮借涓�涓敮涓�缂栧彿,鍚屼竴涓姹傞噸澶嶆彁浜�,浣跨敤鍚屼竴缂栧彿
-        /// </summary>
-        public string ReqCode { get; set; }
-        /// <summary>
-        /// 璇锋眰鏃堕棿 鏍煎紡:yyyy-MM-dd HH:mm:ss
-        /// </summary>
-        public string ReqTime { get; set; }
-        /// <summary>
-        /// 瀹㈡埛绔紪鍙� 
-        /// </summary>
-        public string ClientCode { get; set; }
-        /// <summary>
-        /// 浠ょ墝鍙� 鐢辫皟搴︾郴缁熼鍙�
-        /// </summary>
-        public string TokenCode { get; set; }
-        /// <summary>
-        /// 宸ヤ綔浣� 涓嶳CS-2000绔厤缃殑浣嶇疆鍚嶇О涓�鑷�
-        /// </summary>
-        public string WbCode { get; set; }
-        /// <summary>
-        /// 杞藉叿缂栧彿
-        /// </summary>
-        public string podCode { get; set; }
-        /// <summary>
-        /// AGV缂栧彿
-        /// </summary>
-        public string agvCode { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙� 
-        /// </summary>
-        public string taskCode { get; set; }
-        /// <summary>
-        /// 涓嬩竴涓瓙浠诲姟搴忓垪 鎸囧畾绗嚑涓瓙浠诲姟寮�濮嬫墽琛�,鏍¢獙瀛愪换鍔℃墽琛屾槸鍚︽纭�,涓嶅~榛樿鎵ц涓嬩竴涓瓙浠诲姟銆�
-        /// </summary>
-        public string taskSeq { get; set; }
-        /// <summary>
-        /// 涓嬩竴涓綅缃俊鎭�
-        /// positionCode:浣嶇疆缂栧彿
-        /// type:瀵硅薄绫诲瀷瀹氫箟:
-        /// 00:浠h〃 nextPositionCode鏄竴涓綅缃�
-        /// 02:浠h〃 nextPositionCode鏄竴涓瓥鐣�
-        /// </summary>
-        public object nextPositionCode { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvTaskDTO.cs"
deleted file mode 100644
index 54084f8..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvTaskDTO.cs"
+++ /dev/null
@@ -1,86 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEA_DTO.Agv
-{
-    /// <summary>
-    /// AGV浠诲姟
-    /// </summary>
-    public class AgvTaskDTO
-    {
-        /// <summary>
-        /// 璇锋眰缂栧彿 姣忎釜璇锋眰閮借涓�涓敮涓�缂栧彿,鍚屼竴涓姹傞噸澶嶆彁浜�,浣跨敤鍚屼竴缂栧彿
-        /// </summary>
-        public string ReqCode { get; set; }
-        /// <summary>
-        /// 浠诲姟绫诲瀷
-        /// </summary>
-        public string TaskTyp { get; set; }
-        /// <summary>
-        /// 宸ヤ綔浣�
-        /// </summary>
-        public string WbCode { get; set; }
-        /// <summary>
-        /// 浣嶇疆璺緞
-        /// </summary>
-        public List<CodePath> PositionCodePath { get; set; }
-        /// <summary>
-        /// 鎵樼洏鍙�
-        /// </summary>
-        public string ctnrCode {  get; set; }
-        /// <summary>
-        /// 杞藉叿缂栧彿
-        /// </summary>
-        public string PodCode { get; set; }
-        /// <summary>
-        /// 杞藉叿绫诲瀷
-        /// </summary>
-        public string PodTyp { get; set; }
-        /// <summary>
-        /// 鐗╂枡鎵规
-        /// </summary>
-        public string MaterialLot { get; set; }
-        /// <summary>
-        /// 浼樺厛绾�(1~127)鏈�澶т紭鍏堢骇鏈�楂� 涓虹┖鏃�,閲囩敤浠诲姟妯℃澘鐨勪紭鍏堢骇
-        /// </summary>
-        public string Priority { get; set; }
-        /// <summary>
-        /// AGV浠诲姟鍙�
-        /// </summary>
-        public string TaskCode { get; set; }
-        /// <summary>
-        /// AGV璁惧缂栧彿 濉啓鍙寚瀹氭煇涓�缂栧彿鐨凙GV鎵ц璇ヤ换鍔�
-        /// </summary>
-        public string AgvCode { get; set; }
-        /// <summary>
-        /// AGV璁惧绫诲瀷
-        /// </summary>
-        public string AgvTyp { get; set; }
-        /// <summary>
-        /// 浠诲姟缁�
-        /// </summary>
-        public string GroupId { get; set; }
-        /// <summary>
-        /// 鍖哄煙/绛栫暐<br/>
-        /// 鎸戦�夎揣鏋朵互鍙婃牴鎹墿鏂欐壒娆℃寫閫夎揣鏋舵椂鐨勫厛杩涘厛鍑鸿鍒欙紝鏀寔浠ヤ笅4涓�硷細<br/>
-        /// 1锛氭寜鐓ц揣鏋跺埌杈惧偍浣嶇殑鏃堕棿椤哄簭锛屽厛杩涘厛鍑�<br/>
-        /// 2锛氭寜鐓ц揣鏋跺埌杈惧偍浣嶇殑鏃堕棿椤哄簭锛屽厛杩涘悗鍑�<br/>
-        /// 9锛氭寜鐓ц揣鏋剁粦瀹氱墿鏂欐壒娆$殑鏃堕棿椤哄簭锛屽厛杩涘厛鍑�<br/>
-        /// 10锛氭寜鐓ц揣鏋剁粦瀹氱墿鏂欐壒娆$殑鏃堕棿椤哄簭锛屽厛杩涘悗鍑�<br/>
-        /// </summary>
-        public string PositionSelStrategy { get; set; }
-        /// <summary>
-        /// 鑷畾涔夊瓧娈�
-        /// </summary>
-        public string Data { get; set; }
-    }
-
-    public class CodePath
-    {
-        public string type { get; set; }
-        public string positionCode { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvTaskSendDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvTaskSendDTO.cs"
deleted file mode 100644
index 019904c..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvTaskSendDTO.cs"
+++ /dev/null
@@ -1,49 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Agv
-{
-    public class AgvTaskSendDTO
-    {
-        /// <summary>
-        /// 澶栨帴绯荤粺鏍囪瘑
-        /// </summary>
-        public string SysToken { get; set; }
-        /// <summary>
-        /// 浠诲姟妯$増
-        /// </summary>
-        public string TaskCode { get; set; } = "DUIGAO1";
-        /// <summary>
-        /// 鎺ユ敹浠诲姟
-        /// </summary>
-        public string ReceiveTaskID { get; set; }
-        /// <summary>
-        /// 饣嬭締缂栫爜
-        /// </summary>
-        public string AgvCode { get; set; }
-        /// <summary>
-        /// 鍦板浘缂栫爜
-        /// </summary>
-        public string MapCode { get; set; } = "01";
-        /// <summary>
-        /// 杞﹁締闆嗙兢
-        /// </summary>
-        public string AgvGroupCode { get; set; }
-        /// <summary>
-        /// 浠诲姟浼樺厛
-        /// </summary>
-        public int Priority { get; set; }
-        /// <summary>
-        /// 绔欑偣鍙傛暟
-        /// </summary>
-        public List<PointDetail> Variables { get; set; }
-    }
-    public class PointDetail
-    {
-        public string Code { get; set; }
-        public string? Value { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvUpdateDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvUpdateDTO.cs"
deleted file mode 100644
index 0f3aea6..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/Agv/AgvUpdateDTO.cs"
+++ /dev/null
@@ -1,30 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEA_DTO.Agv
-{
-    public class AgvUpdateDTO
-    {
-        /// <summary>
-        /// 浠诲姟鍗曞彿
-        /// </summary>
-        public string ReceiveTaskID { get; set; }
-        /// <summary>
-        /// 璋冨害绯荤粺鍗曞彿
-        /// </summary>
-        public string MakeTaskID { get; set; }
-        /// <summary>
-        /// 浠诲姟鐘舵��
-        /// </summary>
-        public string TaskState { get; set; }
-        /// <summary>
-        /// 鍙栨斁璐у畬鎴愮姸鎬�<br/>
-        /// 1鍙栬揣瀹屾垚<br/>
-        /// 2鏀捐揣瀹屾垚<br/>
-        /// </summary>
-        public string GoodsState { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/MESResponse.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/MESResponse.cs"
deleted file mode 100644
index 15741a2..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/MESResponse.cs"
+++ /dev/null
@@ -1,27 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEA_External.Model
-{
-    /// <summary>
-    /// MES杩斿洖
-    /// </summary>
-    public class MESResponse
-    {
-        /// <summary>
-        /// 鎴愬姛缁撴灉
-        /// </summary>
-        public bool Result { get; set; }
-        /// <summary>
-        /// 杩斿洖淇℃伅
-        /// </summary>
-        public string Msg { get; set; }
-        /// <summary>
-        /// 杩斿洖瀵硅薄
-        /// </summary>
-        public bool Obj { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/RequestAGVArriveDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/RequestAGVArriveDTO.cs"
deleted file mode 100644
index 56e80ef..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/RequestAGVArriveDTO.cs"
+++ /dev/null
@@ -1,35 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO
-{
-    /// <summary>
-    /// AGV灏忚溅鍒拌揪閫氱煡
-    /// </summary>
-    public class RequestAGVArriveDTO
-    {
-        public List<AgvArriveNotice> SD_WorkCentreAgvArriveNoticeInfo { get; set; }
-    }
-    public class AgvArriveNotice
-    {
-        /// <summary>
-        /// 棰嗘枡鏄庣粏ID
-        /// </summary>
-        public int DispatchPlanMaterialId { get; set; }
-        /// <summary>
-        /// 鍔犲伐涓績缂栫爜
-        /// </summary>
-        public string WorkCentreCode { get; set; }
-        /// <summary>
-        /// 鍛ㄨ浆浣嶄綅缃紪鐮�
-        /// </summary>
-        public string LocationCode { get; set; }
-        /// <summary>
-        /// 鍛煎彨ID
-        /// </summary>
-        public string CallId { get; set; }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/StackerCarneTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/StackerCarneTaskDTO.cs"
deleted file mode 100644
index 45aa206..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_DTO/StackerCarneTaskDTO.cs"
+++ /dev/null
@@ -1,13 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO
-{
-    public class StackerCarneTaskDTO
-    {
-
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index ee3aadd..127f5e3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -29,7 +29,6 @@
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_DTO;
-using WIDESEAWCS_DTO.Agv;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_Model.Models;
 
@@ -99,11 +98,6 @@
         //涓婁紶鏉$爜
 
         WebResponseContent MESBoxCodeNotice(string boxCode);
-        /// <summary>
-        /// 鍒ゆ柇鍏佽鏀捐揣
-        /// </summary>
-        /// <returns></returns>
-        string MESAvgArriveNotice(RequestAGVArriveDTO requestAGVArriveDTO);
 
         /// <summary>
         /// 鍙犵洏鏈虹敵璇风┖鎵樺叆鎴愬搧搴�
@@ -205,31 +199,6 @@
         WebResponseContent RollbackTaskStatusToLast(int taskNum);
 
         /// <summary>
-        /// 鍙戦�丄GV浠诲姟
-        /// </summary>
-        /// <param name="taskModel"></param>
-        /// <returns></returns>
-        WebResponseContent AgvSendTask(AgvTaskSendDTO taskModel, APIEnum SendTask = APIEnum.AgvSendTask);
-        /// <summary>
-        /// AGV纭瀹屾垚鎺ュ彛(鍙栨斁)
-        /// </summary>
-        /// <param name="agvFinishDTO"></param>
-        /// <returns></returns>
-        WebResponseContent AGVFinish(AgvFinishDTO agvFinishDTO);
-        /// <summary>
-        /// 瀹夊叏淇″彿鍥炲 WCS-AGV
-        /// </summary>
-        /// <param name="secureModel"></param>
-        /// <returns></returns>
-        WebResponseContent AgvSecureReply(AgvSecureReplyDTO secureReplyModel, APIEnum SecureReply = APIEnum.Agv_CSJSecureReply);
-        /// <summary>
-        /// AGV浠诲姟鐘舵�佸埛鏂�
-        /// </summary>
-        /// <param name="agvUpdateModel"></param>
-        /// <returns></returns>
-        AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel);
-
-        /// <summary>
         /// 鏇存柊浠诲姟淇℃伅鍙婃坊鍔犱换鍔℃槑缁嗚褰�
         /// </summary>
         /// <param name="task">浠诲姟鍘熷璞″疄渚�(鏈慨鏀圭殑鏁版嵁瀵硅薄)</param>
@@ -242,29 +211,9 @@
         void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0);
 
         /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="agvPodModel"></param>
-        /// <param name="PodBerthAndMat"></param>
-        /// <returns></returns>
-        WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat);
-        /// <summary>
         /// //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
         /// </summary>
         Dt_Task QueryStackerExistTask(string PalletCode,string locationCode);
-        /// <summary>
-        /// AGV鎴愬搧鍙栨斁璐ч�氱煡
-        /// </summary>
-        WebResponseContent AgvBoxApplyPass(AGVBoxApplyPassDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CPBoxApplyPass);
-        /// <summary>
-        /// CTU鍙栨秷浠诲姟
-        /// </summary>
-        /// <returns></returns>
-        WebResponseContent AgvBoxApplyPass(AgvCTUCancelDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CTUCancelTask);
-        /// <summary>
-        /// 棰勮皟搴︽寚浠�
-        /// </summary>
-        WebResponseContent AgvPreScheduleTask(AgvScheduleTaskDTO scheduleTaskDTO, APIEnum ScheduleTask = APIEnum.AGV_CTUScheduleTaskTask);
 
         /// <summary>
         /// 鎺ュ彈WMS鎵嬪姩瀹屾垚浠诲姟
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
deleted file mode 100644
index 362e527..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
+++ /dev/null
@@ -1,792 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
-using System.Text;
-using System.Text.RegularExpressions;
-using WIDESEA_DTO.Agv;
-using WIDESEA_External.Model;
-using WIDESEAWCS_Common.APIEnum;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Enums;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_Core.LogHelper;
-using WIDESEAWCS_DTO;
-using WIDESEAWCS_DTO.Agv;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_Tasks;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_Tasks.DBNames;
-using WIDESEAWCS_Tasks.StackPlateJob;
-using static Dm.net.buffer.ByteArrayBuffer;
-
-namespace WIDESEAWCS_Server.Controllers
-{
-    [Route("api/[controller]")]
-    [ApiController]
-    public class AGVController : ControllerBase
-    {
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly ITaskService _taskService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IRouterRepository _routerRepository;
-
-        public AGVController(IStationMangerRepository stationMangerRepository, ITaskService taskService, ITaskRepository taskRepository,IRouterRepository routerRepository)
-        {
-            _stationMangerRepository = stationMangerRepository;
-            _taskService = taskService;
-            _taskRepository = taskRepository;
-            _routerRepository = routerRepository;
-        }
-
-        
-
-        /// <summary>
-        /// 瀹夊叏淇″彿鐢宠 AGV-WCS
-        /// </summary>
-        /// <param name="secureApplyModel"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("AgvSecureApply"), AllowAnonymous]
-        public AgvResponse AgvSecureApply([FromBody] AgvSecureApplyDTO secureApplyModel)
-        {
-            AgvResponse agvResponse = new AgvResponse();
-            try
-            {
-                var task = _taskRepository.QueryFirst(x => secureApplyModel.ReceiveTaskID.ObjToInt() == x.TaskNum);
-                if (task == null) throw new Exception("鏈壘鍒颁换鍔�");
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    if (task.TaskState==TaskStatusEnum.AGV_Executing.ObjToInt())//鍑哄簱鍙栬揣璇锋眰
-                    {
-                        var content = TakeRequest(secureApplyModel.WbCode);
-                        if (!content.Status)
-                        {
-                            throw new Exception(content.Message);
-                        }
-                    }
-                    else//鍑哄簱鏀捐揣璇锋眰
-                    {
-                        var content = PutRequest(task.NextAddress, task);
-                        if (!content.Status)
-                        {
-                            throw new Exception(content.Message);
-                        }
-                    }
-                }
-                else
-                {
-                    if (task.TaskState == TaskStatusEnum.AGV_Executing.ObjToInt())//鍏ュ簱鍙栬揣璇锋眰
-                    {
-                        var content = TakeRequest(secureApplyModel.WbCode);
-                        if (!content.Status)
-                        {
-                            throw new Exception(content.Message);
-                        }
-                    }
-                    else//鍏ュ簱鏀捐揣璇锋眰
-                    {
-                        var content = PutRequest(task.NextAddress, task);
-                        if (!content.Status)
-                        {
-                            throw new Exception(content.Message);
-                        }
-                    }
-                }
-                agvResponse.OK("鎴愬姛","0");
-            }
-            catch (Exception ex)
-            {
-                agvResponse.Error(ex.Message);
-            }
-            return agvResponse;
-        }
-        /// <summary>
-        /// 鎻愬崌鏈虹敵璇� AGV-WCS
-        /// </summary>
-        /// <param name="secureApplyModel"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("AgvHoisterApply"), AllowAnonymous]
-        public AgvResponse AgvHoisterApply([FromBody] AgvHoisterApplyDTO agvHoisterApplyDTO)
-        {
-            AgvResponse agvResponse = new AgvResponse();
-            try
-            {
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == agvHoisterApplyDTO.HoisterCode);
-                if (device == null)
-                {
-                    return agvResponse.Error($"鏈壘鍒板搴旇澶噞agvHoisterApplyDTO.HoisterCode}");
-                }
-                OtherDevice otherDevice = (OtherDevice)device;
-                //鑾峰彇璁惧鍗忚
-                DeviceProDTO? deviceProRead = otherDevice.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(R_HoisterDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                DeviceProDTO? deviceProWrite = otherDevice.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(W_HoisterDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                if (deviceProRead == null || deviceProWrite == null)
-                {
-                    return agvResponse.Error($"鏈壘鍒拌澶噞device.DeviceCode}鍗忚");
-                }
-                //鑾峰彇璇诲彇鍜屽啓鍏�
-                R_HoisterInfo r_HoisterInfo = otherDevice.Communicator.ReadCustomer<R_HoisterInfo>(deviceProRead.DeviceProAddress);
-                W_HoisterInfo w_HoisterInfo = otherDevice.Communicator.ReadCustomer<W_HoisterInfo>(deviceProWrite.DeviceProAddress);
-                if (r_HoisterInfo == null || w_HoisterInfo == null)
-                {
-                    return agvResponse.Error($"鏈鍙栧埌璁惧{device.DeviceCode}淇″彿");
-                }
-                if (r_HoisterInfo.R_HoisterSysStatus!=3)
-                {
-                    return agvResponse.Error($"璁惧鐘舵�佷笉涓鸿嚜鍔�");
-                }
-                QuartzLogger.WriteLogToFile("Info_" + device.DeviceCode, $"r_HoisterInfo:{r_HoisterInfo.Serialize()}{Environment.NewLine}w_HoisterInfo:{w_HoisterInfo.Serialize()}{Environment.NewLine}");
-                bool IsSuccess = false;
-                switch (agvHoisterApplyDTO.Request)
-                {
-                    case "1":
-                        //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀湪褰撳墠灞� 濡傛灉褰撳墠灞傦紝鍏抽棬鐘舵�侊紝鏃犺揣寰呭懡鐩存帴鍐欏叆寮�闂ㄤ俊鍙�
-                        if (r_HoisterInfo.R_HoisterCurrent == agvHoisterApplyDTO.CurrentLayer && r_HoisterInfo.R_HoisterLoadStatus == 2 && r_HoisterInfo.R_HoisterDoorStatus == 2)
-                        {
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterDoorStatus, 1);
-                            IsSuccess = true;
-                        }
-                        else if (r_HoisterInfo.R_HoisterCurrent == agvHoisterApplyDTO.CurrentLayer && r_HoisterInfo.R_HoisterLoadStatus == 2 && r_HoisterInfo.R_HoisterDoorStatus == 1)
-                        {
-                            IsSuccess = true;
-                        }
-                        else if (r_HoisterInfo.R_HoisterCurrent != agvHoisterApplyDTO.CurrentLayer && r_HoisterInfo.R_HoisterLoadStatus == 2 && r_HoisterInfo.R_HoisterDoorStatus == 1)
-                        {
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterDoorStatus, 2);
-                        }
-                        //鍒ゆ柇鎻愬崌鏈轰笉鍦ㄥ綋鍓嶅眰 濡傛灉涓嶅湪褰撳墠灞傦紝鍏抽棬鐘舵�侊紝鏃犺揣寰呭懡鐩存帴鍐欏叆绉诲姩寮�闂ㄤ俊鍙�(褰撳墠)
-                        else if (r_HoisterInfo.R_HoisterCurrent != agvHoisterApplyDTO.CurrentLayer && r_HoisterInfo.R_HoisterLoadStatus == 2 && r_HoisterInfo.R_HoisterDoorStatus == 2)
-                        {
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterTarget, agvHoisterApplyDTO.CurrentLayer);
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterTask, 99);
-                        }
-                        return IsSuccess ? agvResponse.OK($"璇锋眰{agvHoisterApplyDTO.Request}鎴愬姛,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}","1"): agvResponse.Error($"璇锋眰{agvHoisterApplyDTO.Request}澶辫触,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}");
-                    case "2":
-                        //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀湪褰撳墠灞� 濡傛灉褰撳墠灞傦紝寮�闂ㄧ姸鎬侊紝鏃犺揣寰呭懡 鏀捐
-                        if (r_HoisterInfo.R_HoisterCurrent == agvHoisterApplyDTO.CurrentLayer && r_HoisterInfo.R_HoisterLoadStatus == 2 && r_HoisterInfo.R_HoisterDoorStatus == 1)
-                        {
-                            IsSuccess = true;
-                        }
-                        return IsSuccess ? agvResponse.OK($"璇锋眰{agvHoisterApplyDTO.Request}鎴愬姛,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}", "2") : agvResponse.Error($"璇锋眰{agvHoisterApplyDTO.Request}澶辫触,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}");
-                    case "3":
-                        //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀湪褰撳墠灞� 濡傛灉褰撳墠灞傦紝寮�闂ㄧ姸鎬侊紝鏈夎揣寰呭懡鍐欏叆鍏抽棬淇″彿
-                        if (r_HoisterInfo.R_HoisterCurrent == agvHoisterApplyDTO.CurrentLayer && r_HoisterInfo.R_HoisterLoadStatus == 1 && r_HoisterInfo.R_HoisterDoorStatus == 1 && w_HoisterInfo.W_HoisterDoorStatus!=2)
-                        {
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterDoorStatus, 2);
-                        }
-                        //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀湪褰撳墠灞� 濡傛灉褰撳墠灞傦紝鍏抽棬鐘舵�侊紝鏈夎揣寰呭懡鍐欏叆绉诲姩寮�闂ㄤ俊鍙�(鐩殑)
-                        if (r_HoisterInfo.R_HoisterCurrent == agvHoisterApplyDTO.CurrentLayer && r_HoisterInfo.R_HoisterLoadStatus == 1 && r_HoisterInfo.R_HoisterDoorStatus == 2)
-                        {
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterTarget, agvHoisterApplyDTO.TargetLayer);
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterDoorStatus, 1);
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterTask, 99);
-                            IsSuccess = true;
-                        }
-                        return IsSuccess ? agvResponse.OK($"璇锋眰{agvHoisterApplyDTO.Request}鎴愬姛,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}", "3") : agvResponse.Error($"璇锋眰{agvHoisterApplyDTO.Request}澶辫触,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}");
-                    case "4":
-                        //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀湪鐩殑灞� 濡傛灉鐩殑灞傦紝寮�闂ㄧ姸鎬侊紝鏈夎揣寰呭懡 鏀捐
-                        if (r_HoisterInfo.R_HoisterCurrent == agvHoisterApplyDTO.TargetLayer && r_HoisterInfo.R_HoisterLoadStatus == 1 && r_HoisterInfo.R_HoisterDoorStatus == 1)
-                        {
-                            IsSuccess = true;
-                        }
-                        return IsSuccess ? agvResponse.OK($"璇锋眰{agvHoisterApplyDTO.Request}鎴愬姛,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}", "4") : agvResponse.Error($"璇锋眰{agvHoisterApplyDTO.Request}澶辫触,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}");
-                    case "5":
-                        //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀湪鐩殑灞� 濡傛灉鐩殑灞傦紝寮�闂ㄧ姸鎬侊紝鏃犺揣寰呭懡鍐欏叆鍏抽棬淇″彿
-                        if (r_HoisterInfo.R_HoisterCurrent == agvHoisterApplyDTO.TargetLayer && r_HoisterInfo.R_HoisterLoadStatus == 2 && r_HoisterInfo.R_HoisterDoorStatus == 1)
-                        {
-                            otherDevice.SetValue(W_HoisterDB.W_HoisterDoorStatus, 2);
-                            IsSuccess = true;
-                        }
-                        return IsSuccess ? agvResponse.OK($"璇锋眰{agvHoisterApplyDTO.Request}鎴愬姛,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}", "5") : agvResponse.Error($"璇锋眰{agvHoisterApplyDTO.Request}澶辫触,浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}");
-                    default:
-                        return agvResponse.Error($"鏈壘鍒板搴旇姹�,Request:{agvHoisterApplyDTO.Request}");
-                }
-            }
-            catch (Exception ex)
-            {
-                agvResponse.Error($"璇锋眰{agvHoisterApplyDTO.Request}澶辫触,閿欒{ex.Message},浠诲姟{agvHoisterApplyDTO.ReceiveTaskID}");
-            }
-            return agvResponse;
-        }
-        /// <summary>
-        /// AGV浠诲姟鏇存柊/瀹屾垚
-        /// </summary>
-        /// <param name="agvUpdateModel"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("AgvCallback"), AllowAnonymous]
-        public AgvResponse AgvCallback([FromBody] AgvUpdateDTO agvUpdateModel)
-        {
-            AgvResponse agvResponse = new AgvResponse();
-            try
-            {
-                var task = _taskRepository.QueryFirst(x => agvUpdateModel.ReceiveTaskID == x.TaskNum.ToString());
-                if (task == null) throw new Exception($"鏈壘鍒颁换鍔�,浠诲姟鍙枫�恵agvUpdateModel.ReceiveTaskID}銆�");
-                switch (agvUpdateModel.GoodsState)
-                {
-                    case "1"://鍑哄簱鏍规嵁杩欎釜淇″彿鍒ゆ柇鍙栬揣瀹屾垚
-
-                        //鏇存柊浠诲姟鐘舵��
-                        _taskService.UpdateTask(task, TaskStatusEnum.AGV_TakeFinish);
-                        if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                        {
-                            var content = TakeFinish(task.CurrentAddress);
-                            if (!content.Status) 
-                            {
-                                throw new Exception(content.Message);
-                            };
-                        }
-                        else
-                        {
-                            if (task.TaskType == TaskTypeEnum.PrintYLInbound.ObjToInt() || task.TaskType == TaskTypeEnum.PrintYLBackInbound.ObjToInt())
-                            {
-                                var content = TakeFinish(task.CurrentAddress);
-                                if (!content.Status)
-                                {
-                                    throw new Exception(content.Message);
-                                };
-                            }
-                        }
-                        return agvResponse.OK("鎴愬姛", "0");
-                    case "2"://鍏ュ簱鏍规嵁杩欎釜淇″彿鍒ゆ柇鏀捐揣瀹屾垚
-                        if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
-                        {
-                            Dt_StationManger dt_Station = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
-                            if (dt_Station == null)
-                            {
-                                throw new Exception($"{task.NextAddress}AGV绔欏彴鏈畾涔�");
-                            }
-                            if (task.TaskType == TaskTypeEnum.PrintYLInbound.ObjToInt() || task.TaskType == TaskTypeEnum.PrintYLBackInbound.ObjToInt())
-                            {
-                                List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.NextAddress == x.StartPosi);
-                                Dt_Router router = routers.FirstOrDefault();
-                                if (router == null)
-                                {
-                                    throw new Exception($"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                }
-                                string oldAddress = task.NextAddress;
-                                //鏇存柊浠诲姟鐘舵��
-                                task.CurrentAddress = router.NextPosi;
-                                task.NextAddress = "";
-                                task.DeviceCode = router.ChildPosiDeviceCode;
-                                _taskService.UpdateTask(task, TaskStatusEnum.AGV_Finish);
-                                PutFinish(oldAddress, task.TaskNum);
-                            }
-                            else
-                            {
-                                task.CurrentAddress = dt_Station.StationCode;
-                                task.NextAddress = "";
-                                task.TaskState = TaskStatusEnum.AGV_Finish.ObjToInt();
-                                task.DeviceCode = dt_Station.StationDeviceCode;
-                                _taskRepository.UpdateData(task);
-                            }
-                            return agvResponse.OK("鎴愬姛","0");
-                        }
-                        else
-                        {
-                            _taskService.TaskCompleted(task.TaskNum);
-                            if (task.TaskType==TaskTypeEnum.PrintYLOutbound.ObjToInt() || task.TaskType == TaskTypeEnum.OutCarton.ObjToInt())
-                            {
-                                PutFinish(task.NextAddress);
-                            }
-                            return agvResponse.OK("鎴愬姛", "0");
-                        }
-                    default:
-                        throw new Exception($"鏈畾涔夋柟娉曞悕銆恵agvUpdateModel.TaskState}銆�");
-                }
-            }
-            catch (Exception ex)
-            {
-                agvResponse.Error(ex.Message);
-            }
-            return agvResponse;
-        }
-
-        /// <summary>
-        /// 鏀捐揣璇锋眰
-        /// </summary>
-        /// <param name="code"></param>
-        /// <param name="palletType"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("PutRequest"), AllowAnonymous]
-        public WebResponseContent PutRequest(string code, Dt_Task task)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == code);
-                if (stationManger == null)
-                {
-                    return content.Error($"鏈壘鍒扮珯鍙伴厤缃�");
-                }
-                #region todo:涓存椂閫昏緫
-                if (stationManger.StationDeviceCode=="MES")
-                {
-                    
-                    RequestAGVArriveDTO requestAGVArriveDTO =new RequestAGVArriveDTO()
-                    {
-                        SD_WorkCentreAgvArriveNoticeInfo=new List<AgvArriveNotice> { new AgvArriveNotice()
-                        {
-                            DispatchPlanMaterialId=task.DispatchPlanId,
-                            WorkCentreCode=task.WorkCentreCode,
-                            LocationCode=code,
-                            CallId=Guid.NewGuid().ToString().Replace("-","")
-                        } }
-                    };
-                    MESResponse response = _taskService.MESAvgArriveNotice(requestAGVArriveDTO).DeserializeObject<MESResponse>() ?? throw new Exception("鏈幏鍙栧埌杩斿洖淇℃伅");
-                    if (!response.Result)
-                    {
-                        throw new Exception($"璋冪敤MES灏忚溅鍏佽鏀捐揣鎶ラ敊,MES杩斿洖淇℃伅"+ Regex.Replace(response.Msg, @"\\u([0-9a-fA-F]{4})", match => {
-                            return ((char)Convert.ToInt32(match.Groups[1].Value, 16)).ToString();
-                        }));
-                    }
-                    if (response.Obj)
-                    {
-                        return content.Error($"鍏佽鍙栨枡");
-                    }
-                    else
-                    {
-                        return content.Error($"绂佹鏀炬枡");
-                    }
-                    
-                }
-                #endregion
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
-                if (device == null)
-                {
-                    return content.Error($"鏈壘鍒板搴旇澶�");
-                }
-                if (device.DeviceCode.Contains("Plate"))
-                {
-                    CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
-                    StackPlateTaskCommandCommand command = commonConveyorLine.ReadCustomer<StackPlateTaskCommandCommand>(device.DeviceCode);
-
-                    if (command != null && command.State == 2 && command.InteractiveSignal == 1)
-                    {
-                        return content.OK("鍏佽鏀炬枡");
-                    }
-                    else
-                    {
-                        return content.Error("绂佹鏀炬枡");
-                    }
-                }
-                else
-                {
-
-                    OtherDevice otherDevice = (OtherDevice)device;
-
-                    if (device.DeviceCode.Contains("CP"))//鎴愬搧杈撻�佺嚎
-                    {
-                        short Command = otherDevice.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode);
-                        if (Command == 3)
-                        {
-                            content.OK("鍏佽鏀炬枡");
-                        }
-                        else
-                        {
-                            return content.Error("绂佹鏀炬枡");
-                        }
-                    }
-                    else if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
-                    {
-                        bool RequestPut = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_RequestPut, stationManger.StationDeviceCode);
-                        if (!RequestPut)
-                        {
-                            otherDevice.SetValue(CoveryorDB.C_InTaskNum, task.TaskNum, stationManger.StationDeviceCode);
-                            otherDevice.SetValue(CoveryorDB.C_RequestPut, true, stationManger.StationDeviceCode);
-                            Thread.Sleep(1000);
-                        }
-                        bool AllowFinish = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_AllowFinish, stationManger.StationDeviceCode);
-                        if (AllowFinish)
-                        {
-                            content.OK("鍏佽鏀炬枡");
-                        }
-                        else
-                        {
-                            return content.Error("绂佹鏀炬枡");
-                        }
-                    }
-                    else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
-                    {
-                        bool RequestPut = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_RequestPut, stationManger.StationDeviceCode);
-                        if (!RequestPut)
-                        {
-                            otherDevice.SetValue(RetractDB.Ret_TargetAddress, Convert.ToInt16(stationManger.StationCode), stationManger.StationDeviceCode);
-                            otherDevice.SetValue(RetractDB.Ret_RequestPut, true, stationManger.StationDeviceCode);
-                            Thread.Sleep(1000);
-                        }
-                        bool AllowFinish = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_AllowFinish, stationManger.StationDeviceCode);
-                        if (AllowFinish)
-                        {
-                            content.OK("鍏佽鏀炬枡");
-                        }
-                        else
-                        {
-                            return content.Error("绂佹鏀炬枡");
-                        }
-                    }
-                    else if (device.DeviceCode.Contains("TrussCarton"))//妗佹灦
-                    {
-                        bool RequestPut = otherDevice.GetValue<W_TrussCartonDB, bool>(GetCartonRequest(stationManger.StackerCraneStationCode), stationManger.StationDeviceCode);
-                        if (!RequestPut)
-                        {
-                            otherDevice.SetValue(GetCartonRequest(stationManger.StackerCraneStationCode), true, stationManger.StationDeviceCode);
-                            Thread.Sleep(1000);
-                        }
-                        bool AllowFinish = otherDevice.GetValue<R_TrussCartonDB, bool>(GetCarton(stationManger.StackerCraneStationCode), stationManger.StationDeviceCode);
-                        if (AllowFinish)
-                        {
-                            content.OK("鍏佽鏀炬枡");
-                        }
-                        else
-                        {
-                            return content.Error("绂佹鏀炬枡");
-                        }
-                    }
-                }
-                return content;
-            }
-            catch (Exception ex)
-            {
-                return content.Error(ex.Message);
-            }
-        }
-
-        //[HttpPost, HttpGet, Route("PutFinish"), AllowAnonymous]
-        /// <summary>
-        /// 鏀捐揣瀹屾垚
-        /// </summary>
-        /// <param name="code"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("PutFinish"), AllowAnonymous]
-        public WebResponseContent PutFinish(string code,int taskNum=0)
-        {
-            try
-            {
-                Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == code);
-                if (stationManger == null)
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃�");
-                }
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
-                if (device == null)
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�");
-                }
-                if (device.DeviceCode.Contains("Plate"))
-                {
-                    CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
-                    commonConveyorLine.SetValue(StackPlateDBName.WriteInteractiveSignal, Convert.ToInt16(1), device.DeviceCode);
-                    return WebResponseContent.Instance.OK();
-                }
-                else
-                {
-                    OtherDevice otherDevice = (OtherDevice)device;
-                    if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
-                    {
-                        otherDevice.SetValue(CoveryorDB.C_PutFinish, true, stationManger.StationDeviceCode);
-                    }
-                    else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
-                    {
-                        otherDevice.SetValue(RetractDB.Ret_PutFinish, true, stationManger.StationDeviceCode);
-                    }
-                    else if (device.DeviceCode.Contains("TrussCarton"))//绾哥妗佹灦
-                    {
-                        otherDevice.SetValue(GetCartonPut(stationManger.StackerCraneStationCode), true, stationManger.StationDeviceCode);
-                    }
-                }
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-        /// <summary>
-        /// 鑾峰彇妗佹灦鏀炬枡淇″彿
-        /// </summary>
-        public W_TrussCartonDB GetCartonPut(string StationCode)
-        {
-            switch (StationCode)
-            {
-                case "1":
-                    return W_TrussCartonDB.W_CartonPut1;
-                case "2":
-                    return W_TrussCartonDB.W_CartonPut2;
-                case "3":
-                    return W_TrussCartonDB.W_CartonPut3;
-                case "4":
-                    return W_TrussCartonDB.W_CartonPut4;
-                case "5":
-                    return W_TrussCartonDB.W_CartonPut5;
-                case "6":
-                    return W_TrussCartonDB.W_CartonPut6;
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-        /// <summary>
-        /// 鑾峰彇妗佹灦璇锋眰淇″彿
-        /// </summary>
-        public W_TrussCartonDB GetCartonRequest(string StationCode)
-        {
-            switch (StationCode)
-            {
-                case "1":
-                    return W_TrussCartonDB.W_CartonRequest1;
-                case "2":
-                    return W_TrussCartonDB.W_CartonRequest2;
-                case "3":
-                    return W_TrussCartonDB.W_CartonRequest3;
-                case "4":
-                    return W_TrussCartonDB.W_CartonRequest4;
-                case "5":
-                    return W_TrussCartonDB.W_CartonRequest5;
-                case "6":
-                    return W_TrussCartonDB.W_CartonRequest6;
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-
-        /// <summary>
-        /// 鑾峰彇妗佹灦杩涘叆淇″彿
-        /// </summary>
-        public R_TrussCartonDB GetCarton(string StationCode)
-        {
-            switch (StationCode)
-            {
-                case "1":
-                    return R_TrussCartonDB.R_CartonAllow1;
-                case "2":
-                    return R_TrussCartonDB.R_CartonAllow2;
-                case "3":
-                    return R_TrussCartonDB.R_CartonAllow3;
-                case "4":
-                    return R_TrussCartonDB.R_CartonAllow4;
-                case "5":
-                    return R_TrussCartonDB.R_CartonAllow5;
-                case "6":
-                    return R_TrussCartonDB.R_CartonAllow6;
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-
-        //[HttpPost, HttpGet, Route("TakeRequest"), AllowAnonymous]
-        /// <summary>
-        /// 鍙栬揣璇锋眰
-        /// </summary>
-        /// <param name="code"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("TakeRequest"), AllowAnonymous]
-        public WebResponseContent TakeRequest(string code)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == code);
-                if (stationManger == null)
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃畕code}");
-                }
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
-                if (device == null)
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶噞stationManger.StationDeviceCode}");
-                }
-                if (device.DeviceCode.Contains("Plate"))
-                {
-                    CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
-                    StackPlateTaskCommandCommand command = commonConveyorLine.ReadCustomer<StackPlateTaskCommandCommand>(device.DeviceCode);
-                    
-                    if (command != null&&command.State == 2 && command.InteractiveSignal == 2)
-                    {
-                        return content.OK("鍏佽鍙栨枡");
-                    }
-                    else
-                    {
-                        return content.Error("绂佹鍙栨枡");
-                    }
-                }
-                else
-                {
-                    OtherDevice otherDevice = (OtherDevice)device;
-
-                    if (otherDevice.DeviceCode.Contains("CP"))//鎴愬搧杈撻�佺嚎
-                    {
-                        short Command = otherDevice.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode);
-                        if (Command == 2)
-                        {
-                            content.OK("鍏佽鍙栨枡");
-                        }
-                        else
-                        {
-                            return content.Error("绂佹鍙栨枡");
-                        }
-                    }
-                    else if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
-                    {
-                        bool AllowTake = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_AllowTake, stationManger.StationDeviceCode);
-                        if (AllowTake)
-                        {
-                            content.OK("鍏佽鍙栨枡");
-                        }
-                        else
-                        {
-                            return content.Error("绂佹鍙栨枡");
-                        }
-                    }
-                    else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
-                    {
-                        bool AllowTake = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_AllowTake, stationManger.StationDeviceCode);
-                        if (AllowTake)
-                        {
-                            content.OK("鍏佽鍙栨枡");
-                        }
-                        else
-                        {
-                            return content.Error("绂佹鍙栨枡");
-                        }
-                    }
-                }
-                return content;
-            }
-            catch (Exception ex)
-            {
-                return content.Error(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 鍙栬揣瀹屾垚
-        /// </summary>
-        /// <param name="code"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("TakeFinish"), AllowAnonymous]
-        public WebResponseContent TakeFinish(string code)
-        {
-            try
-            {
-                Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == code);
-                if (stationManger == null)
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃�");
-                }
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
-                if (device == null)
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�");
-                }
-                if (device.DeviceCode.Contains("Plate"))
-                {
-                    CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
-                    commonConveyorLine.SetValue(StackPlateDBName.WriteInteractiveSignal, Convert.ToInt16(2), device.DeviceCode);
-                    return WebResponseContent.Instance.OK();
-                }
-                else
-                {
-                    OtherDevice otherDevice = (OtherDevice)device;
-                    if (device.DeviceCode.Contains("CP"))
-                    {
-                        otherDevice.SetValue(W_ConveyorLineCPDB.W_Command, 2, stationManger.StationCode);
-                    }
-                    else if (device.DeviceCode.Contains("Coveryor"))
-                    {
-                        otherDevice.SetValue(CoveryorDB.C_TakeFinish, true, stationManger.StationDeviceCode);
-                    }
-                    else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
-                    {
-                        otherDevice.SetValue(RetractDB.Ret_TakeFinish, true, stationManger.StationDeviceCode);
-                    }
-                }
-
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-        /// <summary>
-        /// AGV纭瀹屾垚鎺ュ彛(鍙栨斁)
-        /// </summary>
-        /// <param name="code"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("AGVFinish"), AllowAnonymous]
-        public WebResponseContent AGVFinish(string address,int taskNum)
-        {
-            try
-            {
-                Dt_Task task = _taskRepository.QueryFirst(x=>x.TaskNum==taskNum && x.DeviceCode=="AGV");
-                if (task==null)
-                {
-                    return WebResponseContent.Instance.Error($"{taskNum}AGV浠诲姟涓嶅瓨鍦�");
-                }
-                //鑾峰彇瀵瑰簲鐨勫潗鏍囩偣
-                Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x=>x.AGVStationCode== address);
-                if (stationManger==null)
-                {
-                    return WebResponseContent.Instance.Error($"{address}AGV鍦板潃缂栧彿涓嶅瓨鍦�");
-                }
-                if (task.TaskState == TaskStatusEnum.AGV_Executing.ObjToInt())//鍙栬揣
-                {
-                    if (task.CurrentAddress != stationManger.StationCode)
-                    {
-                        return WebResponseContent.Instance.Error($"{taskNum}AGV浠诲姟鍙栬揣鍦板潃缂栧彿涓嶆槸{address}");
-                    }
-                    AgvFinishDTO agvFinishDTO = new AgvFinishDTO()
-                    {
-                        ReceiveTaskID = task.TaskNum.ToString(),
-                        Variables = new List<PointDetail>()
-                        {
-                            new PointDetail()
-                            {
-                                Code="isPick",
-                                Value="true"
-                            }
-                        }
-                    };
-                    //鍙戦�丄GV瀹屾垚閫氱煡
-                    WebResponseContent content = _taskService.AGVFinish(agvFinishDTO);
-                    if (!content.Status)
-                        throw new Exception(content.Message);
-                }
-                else//鏀捐揣
-                {
-                    if (task.NextAddress != stationManger.StationCode)
-                    {
-                        return WebResponseContent.Instance.Error($"{taskNum}AGV浠诲姟鏀捐揣鍦板潃缂栧彿涓嶆槸{address}");
-                    }
-                    AgvFinishDTO agvFinishDTO = new AgvFinishDTO()
-                    {
-                        ReceiveTaskID = task.TaskNum.ToString(),
-                        Variables = new List<PointDetail>()
-                        {
-                            new PointDetail()
-                            {
-                                Code="isDown",
-                                Value="true"
-                            }
-                        }
-                    };
-                    //鍙戦�丄GV瀹屾垚閫氱煡
-                    WebResponseContent content = _taskService.AGVFinish(agvFinishDTO);
-                    if (!content.Status)
-                        throw new Exception(content.Message);
-                }
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
index 7169de3..08cbc07 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
@@ -14,7 +14,6 @@
 using WIDESEAWCS_Tasks;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 using WIDESEAWCS_Tasks.DBNames;
-using WIDESEAWCS_Tasks.StackPlateJob;
 
 namespace WIDESEAWCS_WCSServer.Controllers.Task
 {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/HostedService/WarehouseHostedService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/HostedService/WarehouseHostedService.cs"
deleted file mode 100644
index 67cb2a1..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/HostedService/WarehouseHostedService.cs"
+++ /dev/null
@@ -1,67 +0,0 @@
-锘�
-using HslCommunication.WebSocket;
-using SqlSugar;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_Core.Seed;
-using WIDESEAWCS_DTO.BasicInfo;
-using WIDESEAWCS_Model.Models;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Server.HostedService
-{
-    public class WarehouseHostedService : IHostedService
-    {
-        private readonly ICacheService _cacheService;
-        private readonly DBContext _dbContext;
-        //private readonly WebSocketServer _webSocketServer;
-
-        public WarehouseHostedService(ICacheService cacheService, DBContext dbContext/*, WebSocketServer webSocketServer*/)
-        {
-            _cacheService = cacheService;
-            _dbContext = dbContext;
-            //_webSocketServer = webSocketServer;
-        }
-
-        public Task StartAsync(CancellationToken cancellationToken)
-        {
-            try
-            {
-                string connStr = AppSettings.GetValue("WMSConnectionStrings");
-                if (string.IsNullOrEmpty(connStr))
-                {
-                    throw new Exception("WMS杩炴帴瀛楃涓查敊璇�");
-                }
-                SqlSugarClient sugarClient = new(new ConnectionConfig()
-                {
-                    ConnectionString = connStr,
-                    IsAutoCloseConnection = true,
-                    DbType = DbType.SqlServer
-                });
-
-                List<Dt_Warehouse> warehouses = sugarClient.Queryable<Dt_Warehouse>().ToList();
-
-                _dbContext.Db.Deleteable<Dt_Warehouse>().ExecuteCommand();
-
-                _dbContext.Db.Insertable(warehouses).ExecuteCommand();
-
-                List<Dt_ApiInfo> apiInfos = _dbContext.Db.Queryable<Dt_ApiInfo>().ToList();
-
-                List<Dt_WarehouseDevice> warehouseDevices = _dbContext.Db.Queryable<Dt_WarehouseDevice>().ToList();
-
-                _cacheService.AddOrUpdate(nameof(Dt_WarehouseDevice), warehouseDevices);
-
-                _cacheService.AddOrUpdate(nameof(apiInfos), apiInfos);
-            }
-            catch (Exception ex)
-            {
-                Console.WriteLine(ex.ToString());
-            }
-            return Task.CompletedTask;
-        }
-
-        public Task StopAsync(CancellationToken cancellationToken)
-        {
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Program.cs"
index 7fe8e56..19e3f9d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Program.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/Program.cs"
@@ -50,7 +50,6 @@
 builder.Services.AddDbSetup();//Db 启动服务
 
 builder.Services.AddScoped<QuartzJobCreateDataTabel>();
-builder.Services.AddHostedService<WarehouseHostedService>();
 builder.Services.AddHostedService<QuartzJobDataTableHostedService>();
 
 builder.Services.AddWebSocketSetup();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
index 4c7ce1e..996b531 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
@@ -14,12 +14,7 @@
   //杩炴帴瀛楃涓�
   //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
   //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  //"ConnectionString": "Data Source=192.168.35.3;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=Sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TESTWCSCP_WCS;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  "WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  //"WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-  //"WMSConnectionStrings": "Data Source=10.30.4.92;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  "ConnectionString": "Data Source=.;Initial Catalog=WCS_FL;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //璺ㄥ煙
   "Cors": {
     "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs"
deleted file mode 100644
index 0829358..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs"
+++ /dev/null
@@ -1,219 +0,0 @@
-锘縰sing Autofac.Core;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_DTO.Agv;
-using WIDESEAWCS_Common.APIEnum;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_DTO.Agv;
-
-namespace WIDESEAWCS_TaskInfoService
-{
-    public partial class TaskService
-    {
-        public WebResponseContent AgvSendTask(AgvTaskSendDTO taskModel, APIEnum SendTask = APIEnum.AgvSendTask)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == SendTask.ToString())?.ApiAddress;
-                if (string.IsNullOrEmpty(apiAddress))
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板彂閫丄GV浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
-                string response = HttpHelper.Post(apiAddress, taskModel.Serialize());
-                AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
-                if (agvContent.Code == "0")
-                {
-                    content.OK(data: agvContent.Data);
-                }
-                else
-                {
-                    content.Error(agvContent.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        /// <summary>
-        /// AGV纭瀹屾垚鎺ュ彛(鍙栨斁)
-        /// </summary>
-        /// <param name="agvFinishDTO"></param>
-        /// <returns></returns>
-        public WebResponseContent AGVFinish(AgvFinishDTO agvFinishDTO)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == APIEnum.AgvFinish.ToString())?.ApiAddress;
-                if (string.IsNullOrEmpty(apiAddress))
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板彂閫丄GV浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
-                string response = HttpHelper.Post(apiAddress, agvFinishDTO.Serialize());
-                AgvFinishResponse agvContent = response.DeserializeObject<AgvFinishResponse>();
-                if (agvContent.Success)
-                {
-                    content.OK();
-                }
-                else
-                {
-                    content.Error(agvContent.Content);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        /// <summary>
-        /// 瀹夊叏淇″彿鍥炲 WCS-AGV  //AGV浠诲姟缁х画鎵ц
-        /// </summary>
-        /// <param name="secureModel"></param>
-        /// <returns></returns>
-        public WebResponseContent AgvSecureReply(AgvSecureReplyDTO secureReplyModel, APIEnum SecureReply = APIEnum.Agv_CSJSecureReply)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == SecureReply.ToString())?.ApiAddress;
-                if (string.IsNullOrEmpty(apiAddress))
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板彂閫丄GV浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
-                string response = HttpHelper.Post(apiAddress, secureReplyModel.Serialize());
-                AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
-                if (agvContent.Code == "0")
-                {
-                    content.OK(agvContent.Message);
-                }
-                else
-                {
-                    content.Error(agvContent.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        /// <summary>
-        /// CTU鍙栨秷浠诲姟
-        /// </summary>
-        public WebResponseContent AgvBoxApplyPass(AgvCTUCancelDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CTUCancelTask)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == SecureReply.ToString())?.ApiAddress;
-                if (string.IsNullOrEmpty(apiAddress))
-                    return WebResponseContent.Instance.Error($"鏈壘鍒癆GV鍙栨秷浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
-                string response = HttpHelper.Post(apiAddress, applyPassDTO.Serialize());
-                AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
-                if (agvContent.Code == "0")
-                {
-                    content.OK(agvContent.Message);
-                }
-                else
-                {
-                    content.Error(agvContent.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        /// <summary>
-        /// AGV鎴愬搧鍙栨斁璐ч�氱煡
-        /// </summary>
-        public WebResponseContent AgvBoxApplyPass(AGVBoxApplyPassDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CPBoxApplyPass)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == SecureReply.ToString())?.ApiAddress;
-                if (string.IsNullOrEmpty(apiAddress))
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板彂閫丄GV浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
-                string response = HttpHelper.Post(apiAddress, applyPassDTO.Serialize());
-                AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
-                if (agvContent.Code == "0")
-                {
-                    content.OK(agvContent.Message);
-                }
-                else
-                {
-                    content.Error(agvContent.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        public WebResponseContent AgvPreScheduleTask(AgvScheduleTaskDTO scheduleTaskDTO, APIEnum ScheduleTask = APIEnum.AGV_CTUScheduleTaskTask)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == ScheduleTask.ToString())?.ApiAddress;
-                if (string.IsNullOrEmpty(apiAddress))
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板彂閫丄GV浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
-                string response = HttpHelper.Post(apiAddress, scheduleTaskDTO.Serialize());
-                AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
-                if (agvContent.Code == "0")
-                {
-                    content.OK(agvContent.Message);
-                }
-                else
-                {
-                    content.Error(agvContent.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        /// <summary>
-        /// AGV浠诲姟鐘舵�佸埛鏂�/AGV浠诲姟瀹屾垚
-        /// </summary>
-        /// <param name="agvUpdateModel"></param>
-        /// <returns></returns>
-        public AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel)
-        {
-            return new AgvResponseContent();
-        }
-        public WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == PodBerthAndMat.ToString())?.ApiAddress;
-                if (string.IsNullOrEmpty(apiAddress))
-                    return WebResponseContent.Instance.Error($"鏈壘鍒板彂閫丄GV浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
-                string response = HttpHelper.Post(apiAddress, agvPodModel.Serialize());
-                AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
-                if (agvContent.Code == "1")
-                {
-                    content.OK(agvContent.Message);
-                }
-                else
-                {
-                    content.Error(agvContent.Message);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
index 9449f13..a38b20c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
@@ -124,58 +124,6 @@
                 Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
                 if (task != null)
                 {
-
-                    //if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
-                    //{
-                    //    steps = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().Where(x => x <= (int)TaskOutStatusEnum.OutFinish).ToList();
-
-                    //    foreach (var item in steps)
-                    //    {
-                    //        object obj;
-                    //        FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
-                    //        DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
-                    //        if (descriptionAttribute != null)
-                    //        {
-                    //            obj = new { title = item, description = descriptionAttribute.Description };
-                    //        }
-                    //        else
-                    //        {
-                    //            obj = new { title = item, description = ((TaskOutStatusEnum)item).ToString() };
-                    //        }
-                    //        list.Add(obj);
-                    //    }
-                    //}
-                    //else if (!int.TryParse(Enum.Parse<TaskTypeEnum>(task.TaskType.ToString()).ToString(), out result))
-                    //{
-                    //    steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x <= (int)TaskInStatusEnum.InFinish).ToList();
-                    //    foreach (var item in steps)
-                    //    {
-                    //        object obj;
-                    //        FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
-                    //        DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
-                    //        if (descriptionAttribute != null)
-                    //        {
-                    //            obj = new { title = item, description = descriptionAttribute.Description };
-                    //        }
-                    //        else
-                    //        {
-                    //            obj = new { title = item, description = ((TaskInStatusEnum)item).ToString() };
-                    //        }
-                    //        list.Add(obj);
-                    //    }
-                    //}
-                    //else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
-                    //{
-                    //    //todo 璋冪敤WMS绉诲簱瀹屾垚
-                    //}
-                    //else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
-                    //{
-
-                    //}
-                    //else
-                    //{
-                    //    throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
-                    //}
                     active = steps.IndexOf(task.TaskState) + 1;
 
                 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index df327ec..3887b6b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -485,18 +485,6 @@
             }
             return content;
         }
-        /// <summary>
-        /// 鍒ゆ柇鍏佽鏀捐揣
-        /// </summary>
-        /// <returns></returns>
-        public string MESAvgArriveNotice(RequestAGVArriveDTO requestAGVArriveDTO)
-        {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.MESAvgArriveNotice.ToString());
-
-            string response = Post(apiInfo.ApiAddress, JsonConvert.SerializeObject(requestAGVArriveDTO));
-
-            return response;
-        }
         public static string Post(string serviceAddress, string requestJson = "", string contentType = "application/json", Dictionary<string, string>? headers = null)
         {
             string result = string.Empty;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
index 992fc25..01a8e09 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
@@ -71,208 +71,6 @@
             set { _barcode = value.Replace("\0", "").Replace("\\0", ""); }
         }
     }
-    public class R_ConveyorLineCPInfo : DeviceCommand
-    {
-        /// <summary>
-        /// 蹇冭烦
-        /// </summary>
-        public short Heart { get; set; }
-        /// <summary>
-        /// 棰勭暀
-        /// </summary>
-        public short Reserve { get; set; }
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public short StatusPV { get; set; }
-        /// <summary>
-        /// 鍛戒护
-        /// 0锛氭棤鍛戒护
-        ///1锛氶潪灏辩华锛堜笉鎵ц涓嬪彂鍛戒护锛�
-        ///2锛氬彇璐х珯鍙板伐浣嶅氨缁紙鏈夋枡锛�
-        ///3锛氭斁璐х珯鍙板伐浣嶅氨缁紙鏃犳枡锛�
-        ///4锛氭斁璐х珯鍙板伐浣嶅氨缁紙鏈夋枡锛�
-        ///5锛氭壂鐮佸伐浣嶅氨缁紙宸叉壂鐮侊紝绛夊緟涓婁綅鏈轰笅鍙戜换鍔″強鍛戒护锛�
-        ///6锛氫换鍔″伐浣嶅氨缁紙涓婁綅鏈洪�氳繃浠诲姟鍙疯鍙栨墭鐩樹俊鎭苟涓嬪彂浠诲姟锛�
-        ///7锛氱敵璇锋枡妗�
-        ///8锛氭枡妗嗗埌浣�
-        ///9锛氭墽琛屽懡浠や腑
-        ///10锛氱┖鐩樺噯澶�
-        ///11锛氭弧鐩樺噯澶�
-        /// </summary>
-        public short Command { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public int TaskNo { get; set; }
-        private string _barcode;
-        /// <summary>
-        /// 鎵樼洏鍙�
-        /// </summary>
-        /// <summary>
-        [DataLength(10)]
-        public string PalletCode
-        {
-            get { return _barcode; }
-            set { _barcode = value.Replace("\0", "").Replace("\\0", ""); }
-        }
-    }
-    public class R_CLineCPHInfo : DeviceCommand
-    {
-        /// <summary>
-        /// 宸ヤ綅鍙�
-        /// </summary>
-        public short R_ReadID { get; set; }
-        /// <summary>
-        /// 宸ヤ綅鐘舵��
-        /// 0:鑴辨満<br/>
-        /// 1:鎵嬪姩<br/>
-        /// 2:鑷姩<br/>
-        /// 3:鑷姩杩愯<br/>
-        /// 4:鏁呴殰<br/>
-        /// </summary>
-        public short R_State { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public int R_TaskNo { get; set; }
-        /// <summary>
-        /// 鐩殑鍦板潃
-        /// </summary>
-        public short R_TargetAddress { get; set; }
-        /// <summary>
-        /// 璇锋眰淇″彿
-        /// 0:鏃�<br/>
-        /// 1:浠诲姟璇锋眰<br/>
-        /// 2:璇锋眰缁撴潫<br/>
-        /// 3:浠诲姟娓呴櫎<br/>
-        /// 4:娓呴櫎缁撴潫<br/>
-        /// </summary>
-        public short R_Request { get; set; }
-        private string _barcode;
-        /// <summary>
-        /// 绠辩爜
-        /// </summary>
-        [DataLength(30)]
-        public string R_BoxCode 
-        {
-            get { return _barcode; }
-            set { _barcode = value.Replace("\0", "").Replace("\\0", ""); }
-        }
-    }
-    public class R_RGVCPInfo : DeviceCommand
-    {
-        /// <summary>
-        /// 妯″紡<br/>
-        /// 1鎵嬪姩<br/>
-        /// 2缁翠慨<br/>
-        /// 3鍗婅嚜鍔�<br/>
-        /// 4鑷姩<br/>
-        /// 5鑱旀満鑷姩<br/>
-        /// </summary>
-        public short Mode { get; set; }
-        /// <summary>
-        /// 鐘舵��<br/>
-        /// 0绌洪棽<br/>
-        /// 1鏈変换鍔�<br/>
-        /// </summary>
-        public short State { get; set; }
-        /// <summary>
-        /// RGV鎺ユ敹浠诲姟鍙�<br/>
-        /// </summary>
-        public int RgvTask { get; set; }
-        /// <summary>
-        /// RGV缁撴潫浠诲姟鍙�<br/>
-        /// </summary>
-        public int RgvEndTask { get; set; }
-        /// <summary>
-        /// RGV涓婃浠诲姟鍙�<br/>
-        /// </summary>
-        public int RgvLastTask { get; set; }
-        /// <summary>
-        /// 浠诲姟鐘舵�佸弽棣�<br/>
-        /// </summary>
-        public short TaskDone { get; set; }
-        /// <summary>
-        /// 蹇冭烦<br/>
-        /// </summary>
-        public short HeartBeat { get; set; }
-    }
-    /// <summary>
-    /// 鎻愬崌鏈哄啓鍏�
-    /// </summary>
-    public class W_HoisterInfo : DeviceCommand
-    {
-        /// <summary>
-        /// 鎻愬崌鏈轰换鍔″彿
-        /// </summary>
-        public int W_HoisterTask { get; set; }
-        /// <summary>
-        /// 鎻愬崌鏈虹洰鐨勫眰
-        /// </summary>
-        public short W_HoisterTarget { get; set; }
-        /// <summary>
-        /// 鎻愬崌鏈烘帴閫佽溅
-        /// </summary>
-        public short W_HoisterType { get; set; }
-        /// <summary>
-        /// 鎻愬崌鏈哄紑鍏抽棬<br/>
-        /// 1寮�闂�<br/>
-        /// 2鍏抽棬<br/>
-        /// </summary>
-        public short W_HoisterDoorStatus { get; set; }
-    }
-    /// <summary>
-    /// 鎻愬崌鏈鸿鍙�
-    /// </summary>
-    public class R_HoisterInfo : DeviceCommand
-    {
-        /// <summary>
-        /// 绯荤粺鐘舵��<br/>
-        /// 1鍗婅嚜鍔�<br/>
-        /// 2鎵嬪姩<br/>
-        /// 3鑷姩<br/>
-        /// </summary>
-        public short R_HoisterSysStatus { get; set; }
-        /// <summary>
-        /// 杩愯鐘舵��<br/>
-        /// 1鏃犺揣寰呭懡<br/>
-        /// 2绉诲姩涓�<br/>
-        /// 3鏈夎揣寰呭懡<br/>
-        /// </summary>
-        public short R_HoisterRunStatus { get; set; }
-        /// <summary>
-        /// 鍐欏叆鐘舵��<br/>
-        /// 1鍙啓<br/>
-        /// 2鍐欏叆鎴愬姛<br/>
-        /// 3鍐欏叆闈炴硶<br/>
-        /// </summary>
-        public short R_HoisterRecStatus { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public int R_HoisterTask { get; set; }
-        /// <summary>
-        /// 鐩殑灞�
-        /// </summary>
-        public short R_HoisterTarget { get; set; }
-        /// <summary>
-        /// 褰撳墠灞�
-        /// </summary>
-        public short R_HoisterCurrent { get; set; }
-        /// <summary>
-        /// 褰撳墠灞傞棬鐘舵��<br/>
-        /// 1寮�闂ㄥ埌浣�<br/>
-        /// 2鍏抽棬鍒颁綅<br/>
-        /// </summary>
-        public short R_HoisterDoorStatus { get; set; }
-        /// <summary>
-        /// 鏈夋棤杞︾姸鎬�<br/>
-        /// 1鏈夎溅<br/>
-        /// 2鏃犺溅<br/>
-        /// </summary>
-        public short R_HoisterLoadStatus { get; set; }
-    }
     public class R_ConveyorLineYLInfo : DeviceCommand
     {
         /// <summary>
@@ -319,141 +117,6 @@
             set { _barcode = value.Replace("\0", "").Replace("\\0", ""); }
         }
     }
-    public class W_RGVCPInfo : DeviceCommand
-    {
-        /// <summary>
-        /// 浠诲姟鍙�1<br/>
-        /// </summary>
-        public int WcsTask1 { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙�2<br/>
-        /// </summary>
-        public int WcsTask2 { get; set; }
-        /// <summary>
-        /// 浠诲姟鍙�3<br/>
-        /// </summary>
-        public int WcsTask3 { get; set; }
-        /// <summary>
-        /// 浠诲姟绫诲瀷<br/>
-        /// 1瀹氫綅<br/>
-        /// 2鍙栬揣<br/>
-        /// 3鏀捐揣<br/>
-        /// 4鍙栨斁璐�<br/>
-        /// </summary>
-        public short TaskType { get; set; }
-        /// <summary>
-        /// 鎵ц宸ヤ綅<br/>
-        /// 1:1宸ヤ綅<br/>
-        /// 2:2宸ヤ綅<br/>
-        /// 3:3宸ヤ綅<br/>
-        /// 4:12宸ヤ綅<br/>
-        /// 5:13宸ヤ綅<br/>
-        /// 6:23宸ヤ綅<br/>
-        /// 7:123宸ヤ綅<br/>
-        /// </summary>
-        public short WorkStation { get; set; }
-        /// <summary>
-        /// 鍙栬揣鍦板潃1<br/>
-        /// </summary>
-        public short Qu1 { get; set; }
-        /// <summary>
-        /// 鍙栬揣鍦板潃2<br/>
-        /// </summary>
-        public short Qu2 { get; set; }
-        /// <summary>
-        /// 鍙栬揣鍦板潃3<br/>
-        /// </summary>
-        public short Qu3 { get; set; }
-        /// <summary>
-        /// 鏀捐揣鍦板潃1<br/>
-        /// </summary>
-        public short Fang1 { get; set; }
-        /// <summary>
-        /// 鏀捐揣鍦板潃2<br/>
-        /// </summary>
-        public short Fang2 { get; set; }
-        /// <summary>
-        /// 鏀捐揣鍦板潃3<br/>
-        /// </summary>
-        public short Fang3 { get; set; }
-        /// <summary>
-        /// 蹇冭烦<br/>
-        /// </summary>
-        public short HearBeat { get; set; }
-        /// <summary>
-        /// 涓嬪彂/瀹屾垚浠诲姟鏍囪瘑<br/>
-        /// 1纭浠诲姟涓嬪彂<br/>
-        /// 2纭浠诲姟瀹屾垚<br/>
-        /// </summary>
-        public short TaskReceivedDone { get; set; }
-    }
-
-    /// <summary>
-    /// 鎺ラ┏鍙版湁鏃犺揣
-    /// </summary>
-    public class C_RequestTakeStatus
-    {
-        /// <summary>
-        /// 鏈敵璇峰彇鏂�
-        /// </summary>
-        [BoolIndex(0)]
-        public bool NoTakeRequest { get; set; }
-
-        /// <summary>
-        /// 宸茬敵璇峰彇鏂�
-        /// </summary>
-        [BoolIndex(1)]
-        public bool OkTakeRequest { get; set; }
-    }
-
-    public class CoveryorInfo : DeviceCommand
-    {
-        /// <summary>
-        /// 鏈夋棤璐х姸鎬�
-        /// </summary>
-        public byte C_GoodsStatus { get; set; }
-        /// <summary>
-        /// 鏁呴殰鐘舵��
-        /// </summary>
-        public short C_Error { get; set; }
-        /// <summary>
-        /// 鍏ュ簱鐢宠鏀捐揣
-        /// </summary>
-        public byte C_RequestPut { get; set; }
-        /// <summary>
-        /// 鍏ュ簱鏀捐揣瀹屾垚
-        /// </summary>
-        public byte C_PutFinish { get; set; }
-        /// <summary>
-        /// 鍏ュ簱鍏佽鏀捐揣
-        /// </summary>
-        public byte C_AllowFinish { get; set; }
-        /// <summary>
-        /// 鍑哄簱鐢宠鍙栬揣
-        /// </summary>
-        public byte C_RequestTake { get; set; }
-        /// <summary>
-        /// 鍑哄簱鍏佽鍙栬揣
-        /// </summary>
-        public byte C_AllowTake { get; set; }
-        /// <summary>
-        /// 鍑哄簱浠诲姟鍙�
-        /// </summary>
-        public int C_OutTaskNum { get; set; }
-        /// <summary>
-        /// 鍑哄簱鐢宠鍥炲簲
-        /// </summary>
-        public byte C_OutResponse { get; set; }
-        /// <summary>
-        /// 鍑哄簱鍙栨枡瀹屾垚
-        /// </summary> 
-        public byte C_TakeFinish { get; set; }
-        /// <summary>
-        /// 鍏ュ簱浠诲姟鍙�
-        /// </summary>
-        public int C_InTaskNum { get; set; }
-    }
-
 
     public class ConveyorLineTaskCommandWrite : DeviceCommand
     {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_CLineCPHDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_CLineCPHDBName.cs"
deleted file mode 100644
index f9b360d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_CLineCPHDBName.cs"
+++ /dev/null
@@ -1,49 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
-    /// <summary>
-    /// 鎴愬搧鐜嚎璇诲彇鍛戒护
-    /// </summary>
-    public enum R_CLineCPHDB
-    {
-        /// <summary>
-        /// 宸ヤ綅鍙�
-        /// </summary>
-        R_ReadID,
-        /// <summary>
-        /// 宸ヤ綅鐘舵��
-        /// 0:鑴辨満<br/>
-        /// 1:鎵嬪姩<br/>
-        /// 2:鑷姩<br/>
-        /// 3:鑷姩杩愯<br/>
-        /// 4:鏁呴殰<br/>
-        /// </summary>
-        R_State,
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        R_TaskNo,
-        /// <summary>
-        /// 鐩殑鍦板潃
-        /// </summary>
-        R_TargetAddress,
-        /// <summary>
-        /// 璇锋眰淇″彿
-        /// 0:鏃�<br/>
-        /// 1:浠诲姟璇锋眰<br/>
-        /// 2:璇锋眰缁撴潫<br/>
-        /// 3:浠诲姟娓呴櫎<br/>
-        /// 4:娓呴櫎缁撴潫<br/>
-        /// </summary>
-        R_Request,
-        /// <summary>
-        /// 绠辩爜
-        /// </summary>
-        R_BoxCode
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs"
deleted file mode 100644
index 79211c1..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs"
+++ /dev/null
@@ -1,36 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
-    public enum R_ConveyorLineCPDB
-    {
-        /// <summary>
-        /// 鍛戒护
-        /// </summary>
-        Command,
-        /// <summary>
-        /// 鐩爣鍦板潃
-        /// </summary>
-        StatusPV,
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        TaskNo,
-        /// <summary>
-        /// 棰勭暀
-        /// </summary>
-        Reserve,
-        /// <summary>
-        /// 蹇冭烦
-        /// </summary>
-        Heart,
-        /// <summary>
-        /// 鎵樼洏鏉$爜
-        /// </summary>
-        PalletCode
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_RgvCPDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_RgvCPDBName.cs"
deleted file mode 100644
index 00ecdab..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_RgvCPDBName.cs"
+++ /dev/null
@@ -1,47 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
-    public enum R_RgvCPDB
-    {
-        /// <summary>
-        /// 妯″紡<br/>
-        /// 1鎵嬪姩<br/>
-        /// 2缁翠慨<br/>
-        /// 3鍗婅嚜鍔�<br/>
-        /// 4鑷姩<br/>
-        /// 5鑱旀満鑷姩<br/>
-        /// </summary>
-        Mode,
-        /// <summary>
-        /// 鐘舵��<br/>
-        /// 0绌洪棽<br/>
-        /// 1鏈変换鍔�<br/>
-        /// </summary>
-        State,
-        /// <summary>
-        /// RGV鎺ユ敹浠诲姟鍙�<br/>
-        /// </summary>
-        RgvTask,
-        /// <summary>
-        /// RGV缁撴潫浠诲姟鍙�<br/>
-        /// </summary>
-        RgvEndTask,
-        /// <summary>
-        /// RGV涓婃浠诲姟鍙�<br/>
-        /// </summary>
-        RgvLastTask,
-        /// <summary>
-        /// 浠诲姟鐘舵�佸弽棣�<br/>
-        /// </summary>
-        TaskDone,
-        /// <summary>
-        /// 蹇冭烦<br/>
-        /// </summary>
-        HeartBeat
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineCPHDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineCPHDBName.cs"
deleted file mode 100644
index 0253eff..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineCPHDBName.cs"
+++ /dev/null
@@ -1,42 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
-    /// <summary>
-    /// 鐜嚎鍐欏叆鍛戒护
-    /// </summary>
-    public enum W_CLineCPHDB
-    {
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        W_TaskNo,
-        /// <summary>
-        /// 鏍煎彛鍙�
-        /// </summary>
-        W_Channel,
-        /// <summary>
-        /// 闀�
-        /// </summary>
-        W_Long,
-        /// <summary>
-        /// 瀹�
-        /// </summary>
-        W_Wide,
-        /// <summary>
-        /// 楂�
-        /// </summary>
-        W_High,
-        /// <summary>
-        /// 璇锋眰纭<br/>
-        /// 1:浠诲姟涓嬪彂<br/>
-        /// 2:娓呴櫎纭<br/>
-        /// </summary>
-        W_Request,
-        W_TMID,
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
deleted file mode 100644
index 534b4de..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
+++ /dev/null
@@ -1,32 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
-    public enum W_ConveyorLineCPDB
-    {
-        /// <summary>
-        /// 鍛戒护
-        /// </summary>
-        W_Command,
-        /// <summary>
-        /// 鐩爣鍦板潃
-        /// </summary>
-        W_TargetAddress,
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        W_TaskNo,
-        /// <summary>
-        /// 棰勭暀
-        /// </summary>
-        W_Reserve,
-        /// <summary>
-        /// 蹇冭烦
-        /// </summary>
-        W_Heart
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs"
deleted file mode 100644
index ed72ff4..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs"
+++ /dev/null
@@ -1,77 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
-    public enum W_RgvCPDB
-    {
-        /// <summary>
-        /// 浠诲姟鍙�1<br/>
-        /// </summary>
-        WcsTask1,
-        /// <summary>
-        /// 浠诲姟鍙�2<br/>
-        /// </summary>
-        WcsTask2,
-        /// <summary>
-        /// 浠诲姟鍙�3<br/>
-        /// </summary>
-        WcsTask3,
-        /// <summary>
-        /// 浠诲姟绫诲瀷<br/>
-        /// 1瀹氫綅<br/>
-        /// 2鍙栬揣<br/>
-        /// 3鏀捐揣<br/>
-        /// 4鍙栨斁璐�<br/>
-        /// </summary>
-        TaskType,
-        /// <summary>
-        /// 鎵ц宸ヤ綅<br/>
-        /// 1:1宸ヤ綅<br/>
-        /// 2:2宸ヤ綅<br/>
-        /// 3:3宸ヤ綅<br/>
-        /// 4:12宸ヤ綅<br/>
-        /// 5:13宸ヤ綅<br/>
-        /// 6:23宸ヤ綅<br/>
-        /// 7:123宸ヤ綅<br/>
-        /// </summary>
-        WorkStation,
-        /// <summary>
-        /// 鍙栬揣鍦板潃1<br/>
-        /// </summary>
-        Qu1,
-        /// <summary>
-        /// 鍙栬揣鍦板潃2<br/>
-        /// </summary>
-        Qu2,
-        /// <summary>
-        /// 鍙栬揣鍦板潃2<br/>
-        /// </summary>
-        Qu3,
-        /// <summary>
-        /// 鏀捐揣鍦板潃1<br/>
-        /// </summary>
-        Fang1,
-        /// <summary>
-        /// 鏀捐揣鍦板潃2<br/>
-        /// </summary>
-        Fang2,
-        /// <summary>
-        /// 鏀捐揣鍦板潃3<br/>
-        /// </summary>
-        Fang3,
-        /// <summary>
-        /// 蹇冭烦<br/>
-        /// </summary>
-        HearBeat,
-        /// <summary>
-        /// 涓嬪彂/瀹屾垚浠诲姟鏍囪瘑<br/>
-        /// 1纭浠诲姟涓嬪彂<br/>
-        /// 2纭浠诲姟瀹屾垚<br/>
-        /// </summary>
-        TaskReceivedDone,
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/GroundStationDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/GroundStationDBName.cs"
deleted file mode 100644
index 4b10952..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/GroundStationDBName.cs"
+++ /dev/null
@@ -1,51 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks
-{
-    public enum GroundStationDBName
-    {
-        /// <summary>
-        /// 鏄惁鍏佽鏀捐揣(璇�)
-        /// </summary>
-        R_IsCanPut,
-
-        /// <summary>
-        /// 鏄惁鍏佽鍙栬揣(璇�)
-        /// </summary>
-        R_IsCanTake,
-
-        /// <summary>
-        /// 鍙栬揣鎵樼洏绫诲瀷(璇�)
-        /// </summary>
-        R_TakePalletType,
-
-        /// <summary>
-        /// 鏀捐揣鎵樼洏绫诲瀷(鍐�)
-        /// </summary>
-        W_PutPalletType,
-
-        /// <summary>
-        /// 鏀捐揣璇锋眰(鍐�)
-        /// </summary>
-        W_PutRequest,
-
-        /// <summary>
-        /// 鏀捐揣瀹屾垚(鍐�)
-        /// </summary>
-        W_PutFinish,
-
-        /// <summary>
-        /// 鍙栬揣璇锋眰(鍐�)
-        /// </summary>
-        W_TakeRequest,
-
-        /// <summary>
-        /// 鍙栬揣瀹屾垚(鍐�)
-        /// </summary>
-        W_TakeFinish
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/HoisterDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/HoisterDBName.cs"
deleted file mode 100644
index 933dd0d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/HoisterDBName.cs"
+++ /dev/null
@@ -1,64 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.DBNames
-{
-    public enum W_HoisterDB
-    {
-        /// <summary>
-        /// 鎻愬崌鏈轰换鍔″彿
-        /// </summary>
-        W_HoisterTask,
-        /// <summary>
-        /// 鎻愬崌鏈虹洰鐨勫眰
-        /// </summary>
-        W_HoisterTarget,
-        /// <summary>
-        /// 鎻愬崌鏈烘帴閫佽溅
-        /// </summary>
-        W_HoisterType,
-        /// <summary>
-        /// 鎻愬崌鏈哄紑鍏抽棬鐘舵��
-        /// </summary>
-        W_HoisterDoorStatus
-    }
-
-    public enum R_HoisterDB
-    {
-        /// <summary>
-        /// 绯荤粺鐘舵��
-        /// </summary>
-        R_HoisterSysStatus,
-        /// <summary>
-        /// 杩愯鐘舵��
-        /// </summary>
-        R_HoisterRunStatus,
-        /// <summary>
-        /// 鍐欏叆鐘舵��
-        /// </summary>
-        R_HoisterRecStatus,
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        R_HoisterTask,
-        /// <summary>
-        /// 鐩殑灞�
-        /// </summary>
-        R_HoisterTarget,
-        /// <summary>
-        /// 褰撳墠灞�
-        /// </summary>
-        R_HoisterCurrent,
-        /// <summary>
-        /// 褰撳墠灞傞棬鐘舵��
-        /// </summary>
-        R_HoisterDoorStatus,
-        /// <summary>
-        /// 鏈夋棤杞︾姸鎬�
-        /// </summary>
-        R_HoisterLoadStatus
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/R_MDDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/R_MDDBName.cs"
deleted file mode 100644
index c0546ee..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/R_MDDBName.cs"
+++ /dev/null
@@ -1,60 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.DBNames
-{
-    public enum R_MDDB
-    {
-        /// <summary>
-        /// 1鍏佽鐮佸灈
-        /// </summary>
-        R_MDAllow,
-        /// <summary>
-        /// 鐮佸灈1鐘舵��<br/>
-        /// 1鐮佸灈涓�<br/>
-        /// 2鐮佸灈瀹屾垚<br/>
-        /// 4鐮佸灈娓呮墭<br/>
-        /// </summary>
-        R_MDStatus1,
-        /// <summary>
-        /// 鐮佸灈2鐘舵��<br/>
-        /// 1鐮佸灈涓�<br/>
-        /// 2鐮佸灈瀹屾垚<br/>
-        /// 4鐮佸灈娓呮墭<br/>
-        /// </summary>
-        R_MDStatus2,
-        /// <summary>
-        /// 鐮佸灈3鐘舵��<br/>
-        /// 1鐮佸灈涓�<br/>
-        /// 2鐮佸灈瀹屾垚<br/>
-        /// 4鐮佸灈娓呮墭<br/>
-        /// </summary>
-        R_MDStatus3,
-        /// <summary>
-        /// 鐮佸灈4鐘舵��<br/>
-        /// 1鐮佸灈涓�<br/>
-        /// 2鐮佸灈瀹屾垚<br/>
-        /// 4鐮佸灈娓呮墭<br/>
-        /// </summary>
-        R_MDStatus4,
-        /// <summary>
-        /// 鐮佸灈1鏁伴噺
-        /// </summary>
-        R_MDQtys1,
-        /// <summary>
-        /// 鐮佸灈2鏁伴噺
-        /// </summary>
-        R_MDQtys2,
-        /// <summary>
-        /// 鐮佸灈3鏁伴噺
-        /// </summary>
-        R_MDQtys3,
-        /// <summary>
-        /// 鐮佸灈4鏁伴噺
-        /// </summary>
-        R_MDQtys4
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/RetractDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/RetractDBName.cs"
deleted file mode 100644
index 6851a63..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/RetractDBName.cs"
+++ /dev/null
@@ -1,59 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.DBNames
-{
-    /// <summary>
-    /// 浼哥缉璐у弶淇″彿
-    /// </summary>
-    public enum RetractDB
-    {
-        /// <summary>
-        /// 鏈夋棤璐х姸鎬�
-        /// </summary>
-        Ret_GoodsStatus,
-        /// <summary>
-        /// 鏁呴殰鐘舵��
-        /// </summary>
-        Ret_Error,
-        /// <summary>
-        /// 涓婃枡鐢宠鏀捐揣
-        /// </summary>
-        Ret_RequestPut,
-        /// <summary>
-        /// 涓婃枡鏀捐揣瀹屾垚
-        /// </summary>
-        Ret_PutFinish,
-        /// <summary>
-        /// 涓婃枡鐩殑绔欏彴
-        /// </summary>
-        Ret_TargetAddress,
-        /// <summary>
-        /// 涓婃枡鍏佽鏀捐揣
-        /// </summary>
-        Ret_AllowFinish,
-        /// <summary>
-        /// 涓嬫枡鐢宠鍙栬揣
-        /// </summary>
-        Ret_RequestTake,
-        /// <summary>
-        /// 涓嬫枡鍏佽鍙栬揣
-        /// </summary>
-        Ret_AllowTake,
-        /// <summary>
-        /// 涓嬫枡鏉ユ簮绔欏彴
-        /// </summary>
-        Ret_SourceAddress,
-        /// <summary>
-        /// 涓嬫枡鐢宠鍥炲簲
-        /// </summary>
-        Ret_OutResponse,
-        /// <summary>
-        /// 涓嬫枡鍙栨枡瀹屾垚
-        /// </summary>
-        Ret_TakeFinish
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/TrussDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/TrussDBName.cs"
deleted file mode 100644
index 51e0d86..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/TrussDBName.cs"
+++ /dev/null
@@ -1,134 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.DBNames
-{
-    /// <summary>
-    /// 妗佹灦绾哥璇诲彇
-    /// </summary>
-    public enum R_TrussCartonDB
-    {
-        /// <summary>
-        /// 蹇冭烦
-        /// </summary>
-        R_CartonHeart,
-        /// <summary>
-        /// 鎶ヨ
-        /// </summary>
-        R_CartonError,
-        /// <summary>
-        /// 浣嶇疆杩愯
-        /// </summary>
-        R_CartonGetRun,
-        /// <summary>
-        /// 1鍙锋墭鐩樹綅鏃犳枡鍛煎彨淇″彿
-        /// </summary>
-        R_CartonCall1,
-        /// <summary>
-        /// 2鍙锋墭鐩樹綅鏃犳枡鍛煎彨淇″彿
-        /// </summary>
-        R_CartonCall2,
-        /// <summary>
-        /// 3鍙锋墭鐩樹綅鏃犳枡鍛煎彨淇″彿
-        /// </summary>
-        R_CartonCall3,
-        /// <summary>
-        /// 4鍙锋墭鐩樹綅鏃犳枡鍛煎彨淇″彿
-        /// </summary>
-        R_CartonCall4,
-        /// <summary>
-        /// 5鍙锋墭鐩樹綅鏃犳枡鍛煎彨淇″彿
-        /// </summary>
-        R_CartonCall5,
-        /// <summary>
-        /// 6鍙锋墭鐩樹綅鏃犳枡鍛煎彨淇″彿
-        /// </summary>
-        R_CartonCall6,
-        /// <summary>
-        /// 1鍙锋墭鐩樹綅鍏佽杩涗俊鍙�
-        /// </summary>
-        R_CartonAllow1,
-        /// <summary>
-        /// 2鍙锋墭鐩樹綅鍏佽杩涗俊鍙�
-        /// </summary>
-        R_CartonAllow2,
-        /// <summary>
-        /// 3鍙锋墭鐩樹綅鍏佽杩涗俊鍙�
-        /// </summary>
-        R_CartonAllow3,
-        /// <summary>
-        /// 4鍙锋墭鐩樹綅鍏佽杩涗俊鍙�
-        /// </summary>
-        R_CartonAllow4,
-        /// <summary>
-        /// 5鍙锋墭鐩樹綅鍏佽杩涗俊鍙�
-        /// </summary>
-        R_CartonAllow5,
-        /// <summary>
-        /// 6鍙锋墭鐩樹綅鍏佽杩涗俊鍙�
-        /// </summary>
-        R_CartonAllow6
-    }
-    /// <summary>
-    /// 妗佹灦绾哥鍐欏叆
-    /// </summary>
-    public enum W_TrussCartonDB
-    {
-        /// <summary>
-        /// 蹇冭烦
-        /// </summary>
-        W_CartonHeart,
-        /// <summary>
-        /// 1鍙蜂綅鏀捐揣瀹屾垚
-        /// </summary>
-        W_CartonPut1,
-        /// <summary>
-        /// 2鍙蜂綅鏀捐揣瀹屾垚
-        /// </summary>
-        W_CartonPut2,
-        /// <summary>
-        /// 3鍙蜂綅鏀捐揣瀹屾垚
-        /// </summary>
-        W_CartonPut3,
-        /// <summary>
-        /// 4鍙蜂綅鏀捐揣瀹屾垚
-        /// </summary>
-        W_CartonPut4,
-        /// <summary>
-        /// 5鍙蜂綅鏀捐揣瀹屾垚
-        /// </summary>
-        W_CartonPut5,
-        /// <summary>
-        /// 6鍙蜂綅鏀捐揣瀹屾垚
-        /// </summary>
-        W_CartonPut6,
-        /// <summary>
-        /// 1鍙蜂綅璇锋眰鏀捐揣
-        /// </summary>
-        W_CartonRequest1,
-        /// <summary>
-        /// 2鍙蜂綅璇锋眰鏀捐揣
-        /// </summary>
-        W_CartonRequest2,
-        /// <summary>
-        /// 3鍙蜂綅璇锋眰鏀捐揣
-        /// </summary>
-        W_CartonRequest3,
-        /// <summary>
-        /// 4鍙蜂綅璇锋眰鏀捐揣
-        /// </summary>
-        W_CartonRequest4,
-        /// <summary>
-        /// 5鍙蜂綅璇锋眰鏀捐揣
-        /// </summary>
-        W_CartonRequest5,
-        /// <summary>
-        /// 6鍙蜂綅璇锋眰鏀捐揣
-        /// </summary>
-        W_CartonRequest6
-
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/W_MDDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/W_MDDBName.cs"
deleted file mode 100644
index a7fc602..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/DBNames/W_MDDBName.cs"
+++ /dev/null
@@ -1,52 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.DBNames
-{
-    public enum W_MDDB
-    {
-        /// <summary>
-        /// 浠诲姟涓嬪彂鏍囪瘑
-        /// </summary>
-        W_MDReceiveDone,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅1
-        /// </summary>
-        W_MDSend1,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅2
-        /// </summary>
-        W_MDSend2,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅3
-        /// </summary>
-        W_MDSend3,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅4
-        /// </summary>
-        W_MDSend4,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅鍙�
-        /// </summary>
-        W_MDSendID,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅X
-        /// </summary>
-        W_MDX,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅Y
-        /// </summary>
-        W_MDY,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅Z
-        /// </summary>
-        W_MDZ,
-        /// <summary>
-        /// 浠诲姟宸ヤ綅A
-        /// </summary>
-        W_MDA
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/ApartPlate.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/ApartPlate.cs"
deleted file mode 100644
index b9eb3db..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/ApartPlate.cs"
+++ /dev/null
@@ -1,86 +0,0 @@
-锘縰sing Autofac.Core;
-using Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
-using Quartz;
-using System.Reflection;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_IPackInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_Tasks.StackPlateJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class ApartPlate : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IDt_PackaxisRepository _packaxisRepository;
-
-        public ApartPlate(ICacheService cacheService, ITaskService taskService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IDt_PackaxisRepository packaxisRepository)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _packaxisRepository = packaxisRepository;
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            CommonConveyorLine device = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
-            //鑾峰彇褰撳墠璁惧瀵瑰簲鐨勭珯鍙�
-            StackPlateTaskCommandCommand command = device.ReadCustomer<StackPlateTaskCommandCommand>(device.DeviceCode);
-
-            if (command != null && command.State == 2)
-            {
-                DeviceProtocolDetailDTO? deviceProtocolDetails = device.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(StackPlateTaskCommandCommand.InteractiveSignal) && x.ProtocalDetailValue == command.InteractiveSignal.ToString());
-                if (deviceProtocolDetails != null)
-                {
-                    MethodInfo? method = GetType().GetMethod(deviceProtocolDetails.ProtocolDetailType);
-                    if (method != null)
-                    {
-                        method.Invoke(this, new object[] { device, command });
-                    }
-                }
-            }
-
-            return Task.CompletedTask;
-        }
-
-        /// <summary>
-        /// 鏈夋枡鍏佽
-        /// </summary>
-        /// <param name="device"></param>
-        /// <param name="command"></param>
-        public void InStockAllow(CommonConveyorLine device, StackPlateTaskCommandCommand command)
-        {
-            device.SetValue(StackPlateDBName.WriteInteractiveSignal, Convert.ToInt16(2), device.DeviceCode);
-            //鍒嗛厤宸叉媶鍒嗙┖鎵樼洏鍘诲悜浠诲姟
-        }
-
-        /// <summary>
-        /// 绌轰綅鍏佽锛屽厑璁告媶鐩�
-        /// </summary>
-        /// <param name="device"></param>
-        /// <param name="command"></param>
-        public void EmptySeatAllow(CommonConveyorLine device, StackPlateTaskCommandCommand command)
-        {
-            var task = _taskRepository.QueryFirst(x => x.Roadway == device.DeviceCode && x.TargetAddress == device.DeviceCode);
-            if (task == null)
-            {
-                //todo璇锋眰WMS涓嬪彂绌烘墭鍑哄簱浠诲姟
-            }
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlate.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlate.cs"
deleted file mode 100644
index b8bf6ae..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlate.cs"
+++ /dev/null
@@ -1,101 +0,0 @@
-锘縰sing Autofac.Core;
-using Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
-using Quartz;
-using System.Reflection;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_IPackInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_Tasks.StackPlateJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class StackPlate : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IDt_PackaxisRepository _packaxisRepository;
-
-        public StackPlate(ICacheService cacheService, ITaskService taskService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IDt_PackaxisRepository packaxisRepository)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _packaxisRepository = packaxisRepository;
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            CommonConveyorLine device = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
-            //鑾峰彇褰撳墠璁惧瀵瑰簲鐨勭珯鍙�
-            StackPlateTaskCommandCommand command = device.ReadCustomer<StackPlateTaskCommandCommand>(device.DeviceCode);
-
-            if (command != null && command.State == 2)
-            {
-                DeviceProtocolDetailDTO? deviceProtocolDetails = device.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(StackPlateTaskCommandCommand.InteractiveSignal) && x.ProtocalDetailValue == command.InteractiveSignal.ToString());
-                if (deviceProtocolDetails != null)
-                {
-                    MethodInfo? method = GetType().GetMethod(deviceProtocolDetails.ProtocolDetailType);
-                    if (method != null)
-                    {
-                        method.Invoke(this, new object[] { device, command });
-                    }
-                }
-            }
-
-            return Task.CompletedTask;
-        }
-
-        /// <summary>
-        /// 鏈夋枡杩愯锛岀敵璇峰叆搴�
-        /// </summary>
-        /// <param name="device"></param>
-        /// <param name="command"></param>
-        public void InStockAllow(CommonConveyorLine device, StackPlateTaskCommandCommand command)
-        {
-            var station = _stationMangerRepository.QueryFirst(x => x.StationDeviceCode == device.DeviceCode);
-            if (station != null && station.Remark != null)//鑾峰彇绔欏彴閲岄潰鐨勬墭鐩樺彿
-            {
-                var task = _taskRepository.QueryFirst(x => x.DeviceCode == device.DeviceCode && (x.TaskState == (int)TaskStatusEnum.AGV_Execute || x.TaskState == (int)TaskStatusEnum.AGV_Executing) && x.SourceAddress == station.AGVStationCode);
-                if (task == null)
-                {
-                    WebResponseContent content = _taskService.CPEmptyInbound(station.Remark, station.AGVStationCode);
-                }
-            }
-        }
-
-        /// <summary>
-        /// 绌轰綅杩愯锛屽厑璁稿彔鐩�
-        /// </summary>
-        /// <param name="device"></param>
-        /// <param name="command"></param>
-        public void EmptySeatAllow(CommonConveyorLine device, StackPlateTaskCommandCommand command)
-        {
-            var station = _stationMangerRepository.QueryFirst(x => x.StationDeviceCode == device.DeviceCode);
-            var tasks = _taskRepository.QueryData(x => x.Roadway == device.DeviceCode && (x.TaskState == (int)TaskStatusEnum.AGV_Execute || x.TaskState == (int)TaskStatusEnum.AGV_Executing) && x.TargetAddress == device.DeviceCode);
-            if (tasks.Count + Convert.ToInt32(command.Num) < 9)
-            {
-                var task = _taskRepository.QueryFirst(x => x.Roadway == device.DeviceCode && x.TaskState == (int)TaskStatusEnum.StackPlate_Execute);
-                if (task != null && station != null)
-                {
-                    task.TaskState = (int)TaskStatusEnum.AGV_Execute;
-                    _taskRepository.UpdateData(task);
-                    station.Remark = task.PalletCode;
-                    _stationMangerRepository.UpdateData(station);
-                }
-            }
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlateDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlateDBName.cs"
deleted file mode 100644
index c62b2c4..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlateDBName.cs"
+++ /dev/null
@@ -1,15 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.StackPlateJob
-{
-    public enum StackPlateDBName
-    {
-        WriteInteractiveSignal,
-        InteractiveSignal,
-        State
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlateTaskCommand.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlateTaskCommand.cs"
deleted file mode 100644
index 2abb7ce..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlateTaskCommand.cs"
+++ /dev/null
@@ -1,31 +0,0 @@
-锘�#region << 鐗� 鏈� 娉� 閲� >>
-
-/*----------------------------------------------------------------
- * 鍛藉悕绌洪棿锛歐IDESEAWCS_Tasks.ConveyorLineJob
- * 鍒涘缓鑰咃細鑳$搴�
- * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36
- * 鐗堟湰锛歏1.0.0
- * 鎻忚堪锛�
- *
- * ----------------------------------------------------------------
- * 淇敼浜猴細
- * 淇敼鏃堕棿锛�
- * 鐗堟湰锛歏1.0.1
- * 淇敼璇存槑锛�
- *
- *----------------------------------------------------------------*/
-
-#endregion << 鐗� 鏈� 娉� 閲� >>
-
-using WIDESEAWCS_QuartzJob.DeviceBase;
-
-namespace WIDESEAWCS_Tasks.StackPlateJob
-{
-    public class StackPlateTaskCommandCommand : DeviceCommand
-    {
-        public short Num { get; set; }
-        public short State { get; set; }
-
-        public short InteractiveSignal { get; set; }
-    }
-}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\344\274\270\347\274\251\350\264\247\345\217\211/RetractYSJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\344\274\270\347\274\251\350\264\247\345\217\211/RetractYSJob.cs"
deleted file mode 100644
index 7b1a9f8..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\344\274\270\347\274\251\350\264\247\345\217\211/RetractYSJob.cs"
+++ /dev/null
@@ -1,114 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection.Metadata;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.Helper;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_Tasks.DBNames;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class RetractYSJob : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public RetractYSJob(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-            if (flag && value != null)
-            {
-                OtherDevice device = (OtherDevice)value;
-                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
-                foreach (var item in stationMangers)
-                {
-                    //鑾峰彇鍗忚
-                    DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationDeviceCode && x.DeviceProParamType == nameof(RetractDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    if (deviceProRead != null)
-                    {
-                        bool RequestTake = device.GetValue<RetractDB, bool>(RetractDB.Ret_RequestTake, item.StationDeviceCode);
-                        short SourceAddress = device.GetValue<RetractDB, short>(RetractDB.Ret_SourceAddress, item.StationDeviceCode);
-                        if (RequestTake && SourceAddress > 0) //涓�妤煎嵃鍒蜂笅鏂欑敵璇�
-                        {
-                            //鑾峰彇褰撳墠浠诲姟
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == SourceAddress.ToString() && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.New.ObjToInt() && x.DeviceCode== device.DeviceCode);
-                            if (task != null)
-                            {
-                                //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
-                                List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi && x.ChildPosi==device.DeviceCode);
-                                Dt_Router router = routers.FirstOrDefault();
-                                if (router == null)
-                                {
-                                    WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                    return Task.CompletedTask;
-                                }
-                                device.SetValue(RetractDB.Ret_OutResponse, true, item.StationDeviceCode);
-                                //鏇存柊浠诲姟淇℃伅
-                                task.DeviceCode = item.StackerCraneCode;
-                                _taskService.UpdateTask(task, TaskStatusEnum.AGV_Execute);
-                                WriteInfo(item.StationName, $"浠诲姟鍙穥task.TaskNum}浼哥缉璐у弶涓嬫枡");
-                            }
-                        }
-
-                    }
-                    else
-                    {
-                        WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
-                    }
-                }
-            }
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs"
index feb8c6f..e1d746e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs"
@@ -70,158 +70,6 @@
                 //鑾峰彇鎵�鏈夊崗璁殑杈撻�佺嚎绔欏彴
                 List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
                 List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
-                foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
-                {
-                    DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(WR_CLineYLDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    if (deviceProRead != null)
-                    {
-                        R_ConveyorLineYLInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineYLInfo>(deviceProRead.DeviceProAddress);
-                        if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 86 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID)) //涓�妤兼潵鏂欑О閲嶇珯鍙板厑璁稿叆搴撶敵璇�
-                        {
-                            WebResponseContent content = _taskService.YLPurchaseBoxing(conveyorLineInfoRead.WR_TMID, weight: conveyorLineInfoRead.WR_Weight, thickness: conveyorLineInfoRead.WR_Height, wide: conveyorLineInfoRead.WR_Width);
-                            if (content.Status)
-                            {
-                                device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode);
-                                WriteInfo(item.StationCode, $"璇锋眰鍏ュ簱鏉$爜:{conveyorLineInfoRead.WR_TMID}");
-                            }
-                            else
-                            {
-                                WriteError(item.StationCode, $"璇锋眰鍏ュ簱澶辫触锛歿content.Message}");
-                            }
-                            
-                        }
-                        else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 86 && conveyorLineInfoRead.WR_Task <= 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID)) //涓�妤煎垎閰嶇珯鍙板叆搴撳垎閰嶇洰鏍囩偣(骞冲彴)
-                        {
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.RfidCode == conveyorLineInfoRead.WR_TMID && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.New.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                            if (task == null)
-                            {
-                                WebResponseContent content = _taskService.RequestYLWMSTaskSimple(conveyorLineInfoRead.WR_TMID, item.StationCode);
-                                if (!content.Status)
-                                {
-                                    WriteError(item.StationCode, $"璇锋眰鍏ュ簱澶辫触锛歿content.Message}");
-                                }
-                            }
-                            else //鍙戦�佷换鍔�
-                            {
-                                device.SetValue(WR_CLineYLDB.WR_Task, task.TaskNum, item.StationCode);
-                                device.SetValue(WR_CLineYLDB.WR_ToHode, task.NextAddress, item.StationCode);
-                                device.SetValue(WR_CLineYLDB.WR_Width, task.TaskLength, item.StationCode);
-                                device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode);
-                                _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-                                WriteInfo(item.StationCode, $"{conveyorLineInfoRead.Serialize()}");
-                            }
-                        }
-                        else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 86 && conveyorLineInfoRead.WR_Task > 0) //涓�妤煎垎閰嶇珯鍙板叆搴撳垎閰嶇洰鏍囩偣(搴撳唴)
-                        {
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.WR_Task && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.AGV_Finish.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                            //鍙戦�佷换鍔�
-                            if (task != null)
-                            {
-                                if (string.IsNullOrEmpty(task.Roadway) && string.IsNullOrEmpty(task.NextAddress))
-                                {
-                                    WebResponseContent content = _taskService.AssignYLRoadwayNo(task.PalletCode);
-                                    if (!content.Status)
-                                    {
-                                        WriteError(item.StationCode, $"璇锋眰鍏ュ簱澶辫触锛歿content.Message}");
-                                    }
-                                    string roadWay = content.Data.ToString();
-                                    //鑾峰彇璺敱閰嶇疆
-                                    List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi && x.ChildPosiDeviceCode== roadWay);
-                                    Dt_Router router = routers.FirstOrDefault();
-                                    if (router == null)
-                                    {
-                                        WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                        return Task.CompletedTask;
-                                    }
-                                    task.Roadway = roadWay;
-                                    task.NextAddress = router.NextPosi;
-                                    _taskService.UpdateTask(task,TaskStatusEnum.AGV_Finish);
-                                }
-                                else
-                                {
-                                    device.SetValue(WR_CLineYLDB.WR_Task, task.TaskNum, item.StationCode);
-                                    device.SetValue(WR_CLineYLDB.WR_ToHode, task.NextAddress, item.StationCode);
-                                    device.SetValue(WR_CLineYLDB.WR_Width, task.TaskLength, item.StationCode);
-                                    device.SetValue(WR_CLineYLDB.WR_TMID, task.PalletCode, item.StationCode);
-                                    device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode);
-                                    _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-                                    WriteInfo(item.StationCode, $"璇锋眰鍏ュ簱鎴愬姛:{conveyorLineInfoRead.Serialize()}");
-                                }
-                            }
-                        }
-                        else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode > 0 && conveyorLineInfoRead.WR_Request == 86 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID) && conveyorLineInfoRead.WR_Task>0) //鍏ュ簱绔欏彴鐢宠
-                        {
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.WR_Task && x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                            if (task != null)
-                            {
-                                //鍒嗛厤璐т綅
-                                string? local = _taskService.RequestAssignLocation(task.TaskNum, task.Roadway);
-                                if (!string.IsNullOrEmpty(local))
-                                {
-                                    device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode);
-                                    task.CurrentAddress = item.StackerCraneStationCode;
-                                    task.TargetAddress = local;
-                                    task.NextAddress = local;
-                                    task.DeviceCode = item.StackerCraneCode;
-                                    _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙�:{task.TaskNum}杩涜鍫嗗灈鏈哄叆搴�");
-                                }
-                                else
-                                {
-                                    WriteError(item.StationCode, $"璇锋眰鍏ュ簱璐т綅澶辫触");
-                                }
-                                
-                            }
-                        }
-                        else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 99 && conveyorLineInfoRead.WR_Task > 0) //鍑虹珯鍙板垎閰嶇洰鏍囩偣
-                        {
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && x.TaskNum == conveyorLineInfoRead.WR_Task && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                            if (task != null)
-                            {
-                                //鍙戦�佺洰鏍囩偣
-                                device.SetValue(WR_CLineYLDB.WR_Task, task.TaskNum, item.StationCode);
-                                device.SetValue(WR_CLineYLDB.WR_Width, task.TaskLength, item.StationCode);
-                                device.SetValue(WR_CLineYLDB.WR_TMID, task.PalletCode, item.StationCode);
-                                device.SetValue(WR_CLineYLDB.WR_ToHode, task.NextAddress, item.StationCode);
-                                device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode);
-                                if (task.TaskType==TaskTypeEnum.OutPick.ObjToInt())
-                                {
-                                    task.Roadway = task.TargetAddress;
-                                    task.TargetAddress = "";
-                                    task.TaskType=TaskTypeEnum.InPick.ObjToInt();
-                                }
-                                _taskService.UpdateTask(task,TaskStatusEnum.Line_Executing);
-                                WriteInfo(item.StationCode, $"浠诲姟鍙�:{task.TaskNum}鍑哄簱鑷硔task.NextAddress}");
-                            }
-                        }
-                        else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_Task > 0 && conveyorLineInfoRead.WR_Request == 98) //涓�妤艰�佸巶鍑哄簱鍙e畬鎴�
-                        {
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.WR_Task &&  _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                            if (task != null)
-                            {
-                                //浠诲姟鍥炲
-                                device.SetValue(WR_CLineYLDB.WR_Reresult, 98, item.StationCode);
-                                _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing, deviceCode: "CL3_YL");
-                                WriteInfo(item.StationCode, $"浠诲姟鍙�:{task.TaskNum}锛孯IFD{task.RfidCode}涓�妤煎嚭搴撹嚦鑰佸巶鎴垮畬鎴�");
-                            }
-                        }
-                        else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_Task <= 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID) && conveyorLineInfoRead.WR_Request == 98) //涓�妤艰�佸巶鍑哄簱鍙e畬鎴�
-                        {
-                            Dt_Task task = _taskRepository.QueryFirst(x => (x.RfidCode == conveyorLineInfoRead.WR_TMID || x.PalletCode== conveyorLineInfoRead.WR_TMID) && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                            if (task != null)
-                            {
-                                //浠诲姟鍥炲
-                                device.SetValue(WR_CLineYLDB.WR_Reresult, 98, item.StationCode);
-                                _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing, deviceCode: "CL3_YL");
-                                WriteInfo(item.StationCode, $"浠诲姟鍙�:{task.TaskNum}锛孯IFD{task.RfidCode}涓�妤煎嚭搴撹嚦鑰佸巶鎴垮畬鎴�");
-                            }
-                        }
-                    }
-                    else
-                    {
-                        WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
-                    }
-                }
             }
             return Task.CompletedTask;
         }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC2.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC2.cs"
index f346954..f32e9e0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC2.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC2.cs"
@@ -96,7 +96,7 @@
             }
             catch (Exception ex)
             {
-                WriteError(nameof(StackerCraneJob_CP), ex.Message, ex);
+                WriteError(nameof(StackerCraneJob_YLSC2), ex.Message, ex);
             }
             return Task.CompletedTask;
         }
@@ -136,12 +136,7 @@
                             _taskService.UpdateTaskExceptionMessage(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
                             return WebResponseContent.Instance.Error($"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
                         }
-                        bool depth = false;
-                        if (task.Grade>0 && task.TaskType==TaskTypeEnum.PrintYLOutbound.ObjToInt())
-                        {
-                            depth = true;
-                        }
-                        Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == stationManger.StationCode && x.ChildPosi == stationManger.StationDeviceCode && (depth ? x.Depth == 2 :  true));
+                        Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == stationManger.StationCode && x.ChildPosi == stationManger.StationDeviceCode);
                         if (router == null)
                         {
                             _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs"
index 8b355c0..2e93ff7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs"
@@ -120,7 +120,7 @@
             }
             catch (Exception ex)
             {
-                WriteError(nameof(StackerCraneJob_CP), ex.Message, ex);
+                WriteError(nameof(StackerCraneJob_YLSC3), ex.Message, ex);
             }
             return Task.CompletedTask;
         }
@@ -160,12 +160,7 @@
                             _taskService.UpdateTaskExceptionMessage(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
                             return WebResponseContent.Instance.Error($"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
                         }
-                        bool depth = false;
-                        if (task.Grade > 0 && task.TaskType == TaskTypeEnum.PrintYLOutbound.ObjToInt())
-                        {
-                            depth = true;
-                        }
-                        Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == stationManger.StationCode && x.ChildPosi == stationManger.StationDeviceCode && (depth ? x.Depth == 2 : true));
+                        Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == stationManger.StationCode && x.ChildPosi == stationManger.StationDeviceCode);
                         if (router == null)
                         {
                             _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs"
deleted file mode 100644
index 90d7cc3..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs"
+++ /dev/null
@@ -1,217 +0,0 @@
-锘縰sing Microsoft.IdentityModel.Tokens;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_DTO.Agv;
-using WIDESEAWCS_Common.APIEnum;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_DTO.Agv;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-
-namespace WIDESEAWCS_Tasks
-{
-    public partial class AGV_CPJob
-    {
-        public void SendAGVTask()
-        {
-            try
-            {
-                var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => (x.TaskState == TaskStatusEnum.AGV_Execute.ObjToInt()|| x.TaskState == TaskStatusEnum.New.ObjToInt()) && x.DeviceCode=="AGV").ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
-
-                if (newTasks.Count>0)
-                {
-                    foreach (var task in newTasks)
-                    {
-                        try
-                        {
-                            Guid guid = Guid.NewGuid(); 
-                            AgvTaskSendDTO agvTaskSend = new AgvTaskSendDTO()
-                            {
-                                SysToken=guid.ToString().Replace("-",""),
-                                ReceiveTaskID=task.TaskNum.ToString(),
-                                MapCode="01",
-                                Variables=new List<PointDetail>()
-                            };
-                            if (task.NextAddress== "涓�妤兼湀鍙扮爜澶�")
-                            {
-                                string? address =_taskService.RequestTargetAddress(task.TaskNum);
-                                if (address.IsNullOrEmpty())
-                                {
-                                    task.ExceptionMessage = "鏈壘鍒癆GV绔欑偣";
-                                    continue;
-                                }
-                                task.NextAddress = address;
-                            }
-                            Dt_StationManger stationMangerStart = _stationMangerRepository.QueryFirst(x=>x.StationCode==task.CurrentAddress);
-                            Dt_StationManger stationMangerEnd = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
-                            //娣诲姞浠诲姟璺緞鍙婇珮搴�
-                            if (stationMangerStart !=null && stationMangerEnd != null)
-                            {
-                                PointDetail pointDetail1 = new PointDetail()
-                                {
-                                    Code= "GoodPoint",
-                                    Value=stationMangerStart.AGVStationCode
-                                };
-                                //鍒ゆ柇鏄惁鏈夊墠缃偣
-                                if (!string.IsNullOrEmpty(stationMangerStart.AGVFrontCode))
-                                {
-                                    PointDetail pointDetail2 = new PointDetail()
-                                    {
-                                        Code = "CostPoint",
-                                        Value = stationMangerStart.AGVFrontCode
-                                    };
-                                    agvTaskSend.Variables.Add(pointDetail2);
-                                }
-                                PointDetail pointDetail3 = new PointDetail()
-                                {
-                                    Code = "PointB",
-                                    Value = stationMangerEnd.AGVStationCode
-                                };
-                                //鍒ゆ柇鏄惁鏈夊墠缃偣
-                                if (!string.IsNullOrEmpty(stationMangerEnd.AGVFrontCode))
-                                {
-                                    PointDetail pointDetail4 = new PointDetail()
-                                    {
-                                        Code = "PointA",
-                                        Value = stationMangerEnd.AGVFrontCode
-                                    };
-                                    agvTaskSend.Variables.Add(pointDetail4);
-                                }
-                                PointDetail pointDetail5 = new PointDetail()
-                                {
-                                    Code = "QUQTH",
-                                    Value = stationMangerStart.AGVStationHeight.ToString()
-                                };
-                                PointDetail pointDetail6 = new PointDetail()
-                                {
-                                    Code = "FHMH",
-                                    Value = stationMangerEnd.AGVStationHeight.ToString()
-                                };
-                                agvTaskSend.Variables.Add(pointDetail1);
-                                agvTaskSend.Variables.Add(pointDetail3);
-                                agvTaskSend.Variables.Add(pointDetail5);
-                                agvTaskSend.Variables.Add(pointDetail6);
-                            }
-                            else
-                            {
-                                throw new Exception("鏈壘鍒癆GV绔欑偣");
-                            }
-                            //鍙栨斁浠诲姟妯$増
-                            if (stationMangerStart.StationCode.Contains("PNT") && !stationMangerEnd.StationCode.Contains("PNT") && stationMangerEnd.IsManual==0)//璇锋眰鏀�
-                            {
-                                agvTaskSend.TaskCode = "DUIGAO1";
-                                if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
-                                {
-                                    agvTaskSend.TaskCode = "DUOLUN1";
-                                }
-                            }
-                            else if (!stationMangerStart.StationCode.Contains("PNT") && stationMangerEnd.StationCode.Contains("PNT") && stationMangerStart.IsManual == 0)//璇锋眰鍙�
-                            {
-                                agvTaskSend.TaskCode = "DUIGAO2";
-                                if (stationMangerStart.StationType==998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
-                                {
-                                    agvTaskSend.TaskCode = "DUOLUN2";
-                                }
-                            }
-                            else if (!stationMangerStart.StationCode.Contains("PNT") && !stationMangerEnd.StationCode.Contains("PNT") && stationMangerStart.IsManual == 0 && stationMangerStart.IsManual == 0)//璇锋眰鍙栨斁
-                            {
-                                agvTaskSend.TaskCode = "DUIGAO3";
-                                if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
-                                {
-                                    agvTaskSend.TaskCode = "DUOLUN3";
-                                }
-                            }
-                            else//鏃犺姹�
-                            {
-                                agvTaskSend.TaskCode = "DUIGAO4";
-                                if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
-                                {
-                                    agvTaskSend.TaskCode = "DUOLUN4";
-                                }
-                            }
-                            if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
-                            {
-                                agvTaskSend.Variables.FirstOrDefault(x => x.Code == "FHMH").Value = "0";
-                                agvTaskSend.Variables.FirstOrDefault(x => x.Code == "GoodPoint").Value = "";
-                                //鍒ゆ柇浜哄伐鎵嬪姩
-                                PointDetail complete = new();
-                                if (stationMangerStart.IsManual==1 && stationMangerEnd.IsManual==0)
-                                {
-                                    complete = new()
-                                    {
-                                        Code = "Complete",
-                                        Value = "1"
-                                    };
-                                }
-                                else if (stationMangerStart.IsManual == 0 && stationMangerEnd.IsManual == 1)
-                                {
-                                    complete = new()
-                                    {
-                                        Code = "Complete",
-                                        Value = "2"
-                                    };
-                                }
-                                else if (stationMangerStart.IsManual == 1 && stationMangerEnd.IsManual == 1)
-                                {
-                                    complete = new()
-                                    {
-                                        Code = "Complete",
-                                        Value = "3"
-                                    };
-                                }
-                                else
-                                {
-                                    complete = new()
-                                    {
-                                        Code = "Complete",
-                                        Value = "0"
-                                    };
-                                }
-                                //涓嬪彂浠诲姟AGV浠诲姟闆嗙兢
-                                agvTaskSend.AgvGroupCode = "QianF";
-                                PointDetail pointDetail2 = new PointDetail()
-                                {
-                                    Code = "CostPoint",
-                                    Value = stationMangerStart.AGVStationCode
-                                };
-                                agvTaskSend.Variables.Add(pointDetail2);
-                                agvTaskSend.Variables.Add(complete);
-                            }
-                            if (task.TaskType==TaskTypeEnum.OutCarton.ObjToInt())
-                            {
-                                agvTaskSend.AgvGroupCode = "GAOc";
-                            }
-                            //鍙戦�丄GV浠诲姟
-                            WebResponseContent content = _taskService.AgvSendTask(agvTaskSend, APIEnum.AgvSendTask);
-                            if (!content.Status)
-                                throw new Exception(content.Message);
-                            task.Dispatchertime = DateTime.Now;
-                            _taskService.UpdateTask(task, TaskStatusEnum.AGV_Executing);
-                            Thread.Sleep(500);
-                        }
-                        catch (Exception ex)
-                        {
-                            task.TaskState = TaskStatusEnum.Exception.ObjToInt();
-                            task.ExceptionMessage = ex.Message;
-                        }
-                    }
-                    //鏇存柊浠诲姟
-                    if (newTasks.Count > 0)
-                    {
-                        _taskService.UpdateData(newTasks);
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError(nameof(AGV_CPJob), ex.Message, ex);
-            }
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPJob.cs"
deleted file mode 100644
index 95098f7..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPJob.cs"
+++ /dev/null
@@ -1,46 +0,0 @@
-锘縰sing AutoMapper;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.Service;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public partial class AGV_CPJob : JobBase, IJob
-    {
-        public readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly IRouterService _routerService;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IMapper _mapper;
-
-        public AGV_CPJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IStationMangerRepository stationMangerRepository, IMapper mapper)
-        {
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _routerService = routerService;
-            _stationMangerRepository = stationMangerRepository;
-            _mapper = mapper;
-        }
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                //浠诲姟鍙戦��
-                SendAGVTask();
-            }
-            catch (Exception ex)
-            {
-                Console.Out.WriteLine(nameof(AGV_CPJob) + ":" + ex.Message);
-            }
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs"
deleted file mode 100644
index f198bbf..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs"
+++ /dev/null
@@ -1,156 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using SqlSugar.Extensions;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class ConveyorLineJob_CPA : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public ConveyorLineJob_CPA(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-                if (flag && value != null)
-                {
-                    OtherDevice device = (OtherDevice)value;
-                    List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
-                    //鑾峰彇鏈夊崗璁殑杈撻�佺嚎
-                    List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData();
-                    foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
-                    {
-                        DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        if (deviceProRead != null)
-                        {
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 2 && conveyorLineInfoRead.TaskNo > 0 && item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt()) //浜屾ゼ绾夸綋鍏ュ簱绔欏彴->鍫嗗灈鏈�
-                            {
-                                //鑾峰彇鍏ュ簱绔欏彴鏄惁瀛樺湪鍏ュ簱浠诲姟
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    Dt_StationManger stationManger = stationMangers.FirstOrDefault(x => x.StationCode == task.SourceAddress);
-                                    if (stationManger != null)
-                                    {
-                                        string? local = "";
-                                        switch (stationManger.AGVStationCode.ObjToInt() % 2)
-                                        {
-                                            case 1:
-                                                local = task.Roadway + "-001-062-001-01";
-                                                break;
-                                            case 0:
-                                                local = task.Roadway + "-002-062-001-01";
-                                                break;
-                                            default:
-                                                WriteError(item.StationName, $"鏈壘鍒板彲鍒嗛厤宸烽亾{task.TaskNum}");
-                                                break;
-                                        }
-                                        //鍒嗛厤璐т綅
-                                        if (!string.IsNullOrEmpty(local))
-                                        {
-                                            task.CurrentAddress = item.StackerCraneStationCode;
-                                            task.TargetAddress = local;
-                                            task.NextAddress = local;
-                                            task.DeviceCode = item.StackerCraneCode;
-                                            _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute);
-                                            WriteInfo(item.StationName, $"浠诲姟鍙�:{task.TaskNum}杩涜鍫嗗灈鏈哄叆搴�");
-                                        }
-                                    }
-                                }
-                            }
-                            else if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 4 && conveyorLineInfoRead.TaskNo <= 0 && item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt()) //浜屾ゼ绾夸綋鍑哄簱绔欏彴
-                            {
-                                //鑾峰彇鍑哄簱绔欏彴鏄惁瀛樺湪鍑哄簱寰呮墽琛屼换鍔�
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType)
-                                && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    //鑾峰彇璺敱閰嶇疆
-                                    List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi);
-                                    Dt_Router router = routers.FirstOrDefault();
-                                    if (router == null)
-                                    {
-                                        WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                        return Task.CompletedTask;
-                                    }
-                                    //鍐欏叆鍑哄簱绾夸綋鍦板潃
-                                    device.SetValue(W_ConveyorLineCPDB.W_TargetAddress, router.NextPosi, item.StationCode);
-                                    device.SetValue(W_ConveyorLineCPDB.W_TaskNo, task.TaskNum, item.StationCode);
-                                    device.SetValue(W_ConveyorLineCPDB.W_Command, 1, item.StationCode);
-                                    //鏇存柊璁惧
-                                    task.DeviceCode = router.ChildPosiDeviceCode;
-                                    _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙�:{task.TaskNum}杩涜绾夸綋鍑哄簱");
-                                }
-                            }
-                        }
-                        else
-                        {
-                            WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
-                        }
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError(nameof(ConveyorLineJob_CPA),ex.Message);
-            }
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs"
deleted file mode 100644
index 07edfd5..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs"
+++ /dev/null
@@ -1,250 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using SqlSugar.Extensions;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_DTO.TaskInfo;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class ConveyorLineJob_CPB : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public ConveyorLineJob_CPB(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-                if (flag && value != null)
-                {
-                    OtherDevice device = (OtherDevice)value;
-                    List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).Distinct().ToList();
-                    List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData();
-                    foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
-                    {
-                        DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null && deviceProWrite != null)
-                        {
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                            //浜屾ゼ鍏ュ簱鎵爜璇锋眰宸ヤ綅
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 5 && conveyorLineInfoRead.TaskNo > 0)//&& !string.IsNullOrEmpty(conveyorLineInfoRead.PalletCode) todo涓存椂鍒犻櫎鏉′欢闄愬埗
-                            {
-                                //鏌ユ壘瀵瑰簲浠诲姟
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
-                                    //string roadWay = _taskService.AssignCPRoadwayNo().Data.ToString();
-                                    //if (!string.IsNullOrEmpty(roadWay))
-                                    //{
-
-                                    //}
-                                    Dt_StationManger stationManger = stationMangers.FirstOrDefault(x => x.StationCode == task.SourceAddress);
-                                    if (stationManger != null)
-                                    {
-                                        string roadWay = "";
-                                        switch (stationManger.AGVStationCode.ObjToInt() % 5)
-                                        {
-                                            case 1:
-                                                roadWay = "SC01_CP";
-                                                break;
-                                            case 2:
-                                                roadWay = "SC02_CP";
-                                                break;
-                                            case 3:
-                                                roadWay = "SC03_CP";
-                                                break;
-                                            case 4:
-                                                roadWay = "SC04_CP";
-                                                break;
-                                            case 0:
-                                                roadWay = "SC05_CP";
-                                                break;
-                                            default:
-                                                WriteError(item.StationName, $"鏈壘鍒板彲鍒嗛厤宸烽亾{task.TaskNum}");
-                                                break;
-                                        }
-                                        if (!string.IsNullOrEmpty(roadWay))
-                                        {
-                                            List<Dt_Router> routers = _routerService.QueryNextRoutes(item.StationCode, roadWay, task.TaskType);
-                                            Dt_Router? router = routers.FirstOrDefault();
-                                            if (routers == null || routers.Count == 0 || router == null)
-                                            {
-                                                WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
-                                                continue;
-                                            }
-                                            if (routers.Count > 1)
-                                            {
-                                                WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
-                                                continue;
-                                            }
-                                            device.SetValue(W_ConveyorLineCPDB.W_TargetAddress, router.NextPosi, item.StationCode);
-                                            device.SetValue(W_ConveyorLineCPDB.W_TaskNo, task.TaskNum, item.StationCode);
-                                            device.SetValue(W_ConveyorLineCPDB.W_Command, 1, item.StationCode);
-                                            task.CurrentAddress = item.StationCode;
-                                            task.NextAddress = router.NextPosi;
-                                            task.PalletCode = DateTime.Now.ToString("yyMMddHHmmss");//todo涓存椂
-                                            task.Roadway = roadWay;
-                                            task.DeviceCode = router.ChildPosiDeviceCode;
-                                            _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-                                            WriteInfo(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}涓嬩竴姝�");
-                                        }
-                                    }
-                                }
-                            }
-                            else if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 2 && conveyorLineInfoRead.TaskNo > 0)
-                            {
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.NextAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
-                                    List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.NextAddress == x.StartPosi);
-                                    Dt_Router router = routers.FirstOrDefault();
-                                    if (router == null)
-                                    {
-                                        WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                        return Task.CompletedTask;
-                                    }
-                                    //鏇存柊浠诲姟淇℃伅
-                                    task.CurrentAddress = router.StartPosi;
-                                    task.NextAddress = task.TargetAddress;
-                                    task.DeviceCode = router.NextPosi;
-                                    _taskService.UpdateTask(task, TaskStatusEnum.AGV_Execute);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}涓嬩竴姝�");
-                                }
-                            }
-                        }
-                        else if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && deviceProRead != null)
-                        {//鍏ュ簱RGV鎺ラ┏浣嶄氦浜�
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 4 && conveyorLineInfoRead.TaskNo > 0)
-                            {
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi);
-                                    Dt_Router? router = routers.FirstOrDefault();
-                                    if (routers == null || routers.Count == 0 || router == null)
-                                    {
-                                        WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
-                                        continue;
-                                    }
-                                    if (routers.Count > 1)
-                                    {
-                                        WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
-                                        continue;
-                                    }
-                                    device.SetValue(W_ConveyorLineCPDB.W_Command, 2, item.StationCode);
-                                    task.NextAddress = router.NextPosi;
-                                    _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}涓嬩竴姝�");
-                                }
-                            }
-                        }
-                        else if (item.StationType == StationTypeEnum.StationType_StackingPlates.ObjToInt() && deviceProRead != null && deviceProWrite != null)
-                        {//鍙犵洏鏈哄伐浣嶅彨鏂�
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-
-                            //if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 7 && conveyorLineInfoRead.TaskNo <= 0)
-                            //{
-                            //    Dt_Task task = _taskRepository.QueryFirst(x =>  x.TargetAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType));
-                            //    if (task == null)
-                            //    {
-                            //        //璇锋眰浠诲姟
-                            //        WMSTaskDTO taskDTO = new WMSTaskDTO()
-                            //        {
-                            //            Id = 1,
-                            //            SourceAddress = "SC02_CP-001-064-001-01",
-                            //            TaskNum = DateTime.Now.ToString("mmss").ObjToInt(),
-                            //            PalletCode = "" + DateTime.Now.ToString("mmss"),
-                            //            RoadWay = "SC02_CP",
-                            //            TaskType = 160,
-                            //            TaskStatus = TaskStatusEnum.New.ObjToInt(),
-                            //            TargetAddress = item.StationCode,
-                            //            Grade = 0,
-                            //            WarehouseId = 1,
-                            //            PalletType = 1
-                            //        };
-                            //        WriteInfo(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}鐢熸垚锛屼笅涓�姝�");
-                            //        _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
-                            //    }
-                            //}
-                            ////鍙犵洏浠诲姟瀹屾垚浜や簰
-                            //else if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 8 && conveyorLineInfoRead.TaskNo > 0)
-                            //{
-                            //    Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                            //    if (task != null)
-                            //    {
-                            //        //浠诲姟瀹屾垚
-                            //        device.SetValue(W_ConveyorLineCPDB.W_Command, 2, item.StationCode);
-                            //        WriteInfo(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}鍙犵洏浣嶅嚭搴撳畬鎴�");
-                            //    }
-                            //}
-                        }
-                        else
-                        {
-                            WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
-                        }
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError(nameof(ConveyorLineJob_CPB),ex.Message);
-            }
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
deleted file mode 100644
index 2c5a958..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
+++ /dev/null
@@ -1,120 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using SqlSugar.Extensions;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class ConveyorLineJob_CPC : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public ConveyorLineJob_CPC(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-                if (flag && value != null)
-                {
-                    OtherDevice device = (OtherDevice)value;
-                    List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).Distinct().ToList();
-                    List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
-                    foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
-                    {
-                        DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null)
-                        {
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                            //鐮佸灈婊$洏鐢熸垚RGV鎼繍浠诲姟
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.StatusPV == 2 && conveyorLineInfoRead.Command == 11)
-                            {
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt() || x.TaskState == TaskStatusEnum.New.ObjToInt()));
-                                if (task == null)
-                                {
-                                    //鑾峰彇绔欏彴鐢熸垚浠诲姟
-                                    WebResponseContent content = _taskService.RequestWMSTaskSimple(DateTime.Now.ToString("yyyyMMddHHmmss"), item.StationCode, taskType: TaskTypeEnum.InProduct.ObjToInt());
-                                    if (content.Status)
-                                    {
-                                        Dt_Task taskNew = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.New.ObjToInt()));
-                                        if (taskNew != null)
-                                        {
-                                            _taskService.UpdateTask(taskNew, TaskStatusEnum.RGV_Execute);
-                                        }
-                                    }
-                                    Thread.Sleep(1000);
-                                }
-                            }
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.StatusPV == 2 && conveyorLineInfoRead.Command == 10)
-                            {
-                                item.IsOccupied = 0;
-                            }
-                            else
-                            {
-                                item.IsOccupied = 1;
-                            }
-                        }
-
-                    }
-                    _stationMangerRepository.UpdateData(stationMangers);
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError(nameof(ConveyorLineJob_CPC),ex.Message);
-            }
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPD.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPD.cs"
deleted file mode 100644
index 8583fe5..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPD.cs"
+++ /dev/null
@@ -1,198 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using SqlSugar.Extensions;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class ConveyorLineJob_CPD : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public ConveyorLineJob_CPD(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-                if (flag && value != null)
-                {
-                    OtherDevice device = (OtherDevice)value;
-                    List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).Distinct().ToList();
-                    List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
-                    foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
-                    {
-                        DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null && deviceProWrite != null)
-                        {
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                            //鎴愬搧涓�妤煎叆搴撳彛鍐欏叆瀵瑰簲鍏ュ簱绔欏彴鍦板潃
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 4 && conveyorLineInfoRead.TaskNo <= 0)
-                            {
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.AGV_Finish.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
-                                    List<Dt_Router> routers = _routerService.QueryNextRoutes(item.StationCode, task.Roadway, task.TaskType);
-                                    Dt_Router? router = routers.FirstOrDefault();
-                                    if (routers == null || routers.Count == 0 || router == null)
-                                    {
-                                        WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
-                                        continue;
-                                    }
-                                    if (routers.Count > 1)
-                                    {
-                                        WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
-                                        continue;
-                                    }
-                                    //鍐欏叆鍏ュ簱绾夸綋鍦板潃
-                                    device.SetValue(W_ConveyorLineCPDB.W_TargetAddress, router.NextPosi, item.StationCode);
-                                    device.SetValue(W_ConveyorLineCPDB.W_TaskNo, task.TaskNum, item.StationCode);
-                                    device.SetValue(W_ConveyorLineCPDB.W_Command, 1, item.StationCode);
-                                    //鏇存柊浠诲姟淇℃伅
-                                    task.CurrentAddress = item.StationCode;
-                                    task.NextAddress = router.NextPosi;
-                                    _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}涓嬩竴姝�");
-                                }
-                            }
-                            else if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 2 && conveyorLineInfoRead.TaskNo > 0)//涓�妤煎嚭搴撳彛鍒ゆ柇鐢熸垚AGV鍙栨枡浠诲姟
-                            {
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.NextAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
-                                    List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.NextAddress == x.StartPosi);
-                                    Dt_Router router = routers.FirstOrDefault();
-                                    if (router == null)
-                                    {
-                                        WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                        return Task.CompletedTask;
-                                    }
-                                    //鏇存柊浠诲姟淇℃伅
-                                    task.CurrentAddress = router.StartPosi;
-                                    task.NextAddress = task.TargetAddress;
-                                    task.DeviceCode = router.NextPosi;
-                                    _taskService.UpdateTask(task, TaskStatusEnum.AGV_Execute);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}涓嬩竴姝�");
-                                }
-                            }
-                        }
-                        else if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt() && deviceProRead != null)
-                        {
-                            //鍏ュ簱绔欏彴鍒嗛厤璐т綅鍑嗗鍫嗗灈鍏ュ簱
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                            
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 2 && conveyorLineInfoRead.TaskNo > 0)
-                            {
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    //鍒嗛厤璐т綅
-                                    string? local = _taskService.RequestAssignLocation(task.TaskNum, task.Roadway);
-                                    if (!string.IsNullOrEmpty(local))
-                                    {
-                                        task.CurrentAddress = item.StackerCraneStationCode;
-                                        task.TargetAddress = local;
-                                        task.NextAddress = local;
-                                        task.DeviceCode = item.StackerCraneCode;
-                                        _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute);
-                                        WriteInfo(item.StationName, $"浠诲姟鍙�:{task.TaskNum}杩涜鍫嗗灈鏈哄叆搴�");
-                                    }
-                                }
-                            }
-                        }
-                        else if (item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt() && deviceProRead != null && deviceProWrite != null)
-                        {
-                            //鍑哄簱绔欏彴鍒嗛厤鍑哄簱瀵瑰簲鐩爣鍑哄簱鍙e湴鍧�
-                            R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                            
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.Command == 4 && conveyorLineInfoRead.TaskNo <= 0)
-                            {
-                                //鑾峰彇鍑哄簱绔欏彴鏄惁瀛樺湪鍑哄簱寰呮墽琛屼换鍔�
-                                Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType)
-                                && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                                if (task != null)
-                                {
-                                    //鑾峰彇璺敱閰嶇疆
-                                    List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi);
-                                    Dt_Router router = routers.FirstOrDefault();
-                                    if (router == null)
-                                    {
-                                        WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                        return Task.CompletedTask;
-                                    }
-                                    //鍐欏叆鍑哄簱绾夸綋鍦板潃
-                                    device.SetValue(W_ConveyorLineCPDB.W_TargetAddress, router.NextPosi, item.StationCode);
-                                    device.SetValue(W_ConveyorLineCPDB.W_TaskNo, task.TaskNum, item.StationCode);
-                                    device.SetValue(W_ConveyorLineCPDB.W_Command, 1, item.StationCode);
-                                    _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙�:{task.TaskNum}杩涜绾夸綋鍑哄簱");
-                                }
-                            }
-                        }
-                        else
-                        {
-                            WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
-                        }
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError(nameof(ConveyorLineJob_CPD),ex.Message);
-            }
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPH.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPH.cs"
deleted file mode 100644
index 39105b3..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPH.cs"
+++ /dev/null
@@ -1,173 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
-using Org.BouncyCastle.Tls;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Channels;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_DTO.TaskInfo;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class ConveyorLineJob_CPH : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-        private static object lockObj = 0;//
-        private static int Channel = 0;
-        private static int Long = 0;
-        private static int Wide = 0;
-        private static int High = 0;
-
-        public ConveyorLineJob_CPH(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-            if (!AppSettings.Get("Channel").IsNullOrEmpty())
-            {
-                Channel = AppSettings.Get("Channel").ObjToInt();
-                Long= AppSettings.Get("Long").ObjToInt();
-                Wide = AppSettings.Get("Wide").ObjToInt();
-                High = AppSettings.Get("High").ObjToInt();
-            }
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            lock (lockObj)
-            {
-                if (lockObj.ToString()=="0")
-                {
-                    lockObj = 1;
-                    Task task = Task.Run(async () =>
-                    {
-                        try
-                        {
-                            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-                            if (flag && value != null)
-                            {
-                                //鑾峰彇褰撳墠璁惧
-                                OtherDevice device = (OtherDevice)value;
-                                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
-                                Dt_StationManger? RequestIn = stationMangers.FirstOrDefault(x => x.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt());
-                                while (true)
-                                {
-                                    if (RequestIn != null)
-                                    {
-                                        DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == RequestIn.StationCode && x.DeviceProParamType == nameof(R_CLineCPHDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                                        DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == RequestIn.StationCode && x.DeviceProParamType == nameof(W_CLineCPHDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                                        if (deviceProRead != null && deviceProWrite != null)
-                                        {
-                                            R_CLineCPHInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_CLineCPHInfo>(deviceProRead.DeviceProAddress);
-                                            //鐮佸灈鐜嚎璇锋眰浠诲姟 
-                                            if (conveyorLineInfoRead != null && (conveyorLineInfoRead.R_State == 2 || conveyorLineInfoRead.R_State == 3) && conveyorLineInfoRead.R_TaskNo <= 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.R_BoxCode) && conveyorLineInfoRead.R_Request == 1)
-                                            {
-
-                                                #region todo:涓存椂閫昏緫
-                                                //鍐欏叆鎵ц鏁版嵁
-                                                device.SetValue(W_CLineCPHDB.W_TaskNo, 100 + 5, RequestIn.StationCode);
-                                                device.SetValue(W_CLineCPHDB.W_Channel, Channel, RequestIn.StationCode);
-                                                device.SetValue(W_CLineCPHDB.W_Long, Long, RequestIn.StationCode);
-                                                device.SetValue(W_CLineCPHDB.W_Wide, Wide, RequestIn.StationCode);
-                                                device.SetValue(W_CLineCPHDB.W_High, High, RequestIn.StationCode);
-                                                device.SetValue(W_CLineCPHDB.W_TMID, conveyorLineInfoRead.R_BoxCode, RequestIn.StationCode);
-                                                device.SetValue(W_CLineCPHDB.W_Request, 1, RequestIn.StationCode);
-                                                WebResponseContent content = _taskService.MESBoxCodeNotice(conveyorLineInfoRead.R_BoxCode);
-                                                if (content.Status)
-                                                {
-                                                    WriteInfo(RequestIn.StationName, content.Message);
-                                                }
-                                                else
-                                                {
-                                                    WriteError(RequestIn.StationName, content.Message);
-                                                }
-                                                #endregion
-                                            }
-                                        }
-                                        else
-                                        {
-                                            WriteError(RequestIn.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{RequestIn.StationCode}鐨勫崗璁俊鎭�");
-                                        }
-                                    }
-                                    foreach (var item in stationMangers.Where(x => x.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt()))
-                                    {
-                                        DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_CLineCPHDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                                        if (deviceProRead != null)
-                                        {
-                                            R_CLineCPHInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_CLineCPHInfo>(deviceProRead.DeviceProAddress);
-                                            //鑾峰彇鐮佸灈鍙d换鍔℃洿鏂颁换鍔$姸鎬�
-                                            if (conveyorLineInfoRead != null && (conveyorLineInfoRead.R_State == 2 || conveyorLineInfoRead.R_State == 3) && conveyorLineInfoRead.R_TaskNo > 0)
-                                            {
-                                                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.R_TaskNo && x.NextAddress == item.StationCode && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt());
-                                                if (task != null)
-                                                {
-                                                    task.CurrentAddress = item.StationCode;
-                                                    task.NextAddress = task.TargetAddress;
-                                                    task.DeviceCode = item.StackerCraneCode;
-                                                    _taskService.UpdateTask(task, TaskStatusEnum.MD_Executing);
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                        catch (Exception ex)
-                        {
-                            lockObj = 0;
-                            WriteError(nameof(ConveyorLineJob_CPH), $"閿欒淇℃伅锛歿ex.Message}");
-                        }
-
-                    });
-                }
-                
-            }
-            
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs"
deleted file mode 100644
index 4663e0d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs"
+++ /dev/null
@@ -1,206 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Microsoft.IdentityModel.Tokens;
-using Newtonsoft.Json;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.Helper;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Caches;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class RGVJob_CP : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public RGVJob_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-            if (flag && value != null)
-            {
-                OtherDevice device = (OtherDevice)value;
-
-                DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(R_RgvCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-
-                DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(W_RgvCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                if (deviceProRead != null && deviceProWrite != null)
-                {
-                    R_RGVCPInfo rgvInfoRead = device.Communicator.ReadCustomer<R_RGVCPInfo>(deviceProRead.DeviceProAddress);
-                    W_RGVCPInfo rgvInfoWrite = device.Communicator.ReadCustomer<W_RGVCPInfo>(deviceProWrite.DeviceProAddress);
-                    if (rgvInfoRead==null || rgvInfoWrite==null)
-                    {
-                        return Task.CompletedTask;
-                    }
-                    if ((rgvInfoRead.Mode == 5 || rgvInfoRead.Mode == 4) && rgvInfoRead.State == 0 && rgvInfoRead.TaskDone==1)
-                    {
-                        //鑾峰彇浠诲姟 鏄惁鏈塕GV鎵ц鐨勪换鍔�
-                        List<Dt_Task> tasks = _taskRepository.QueryData(x => _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState != TaskStatusEnum.RGV_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                        
-                        Dt_Task? task1 = tasks.FirstOrDefault(x => x.HeightType == 1);
-                        Dt_Task? task2 = tasks.FirstOrDefault(x => x.HeightType == 2);
-                        Dt_Task? task3 = tasks.FirstOrDefault(x => x.HeightType == 3);
-                        List<Dt_Task> tasksDown = _taskRepository.QueryData(x => _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode).OrderBy(x=>x.CreateDate).Take(3).ToList();
-                        if (tasksDown.Count>0)
-                        {
-                            bool ReceivedDone = false;
-                            //鍒嗛厤RGV宸ヤ綅浠诲姟鍗犵敤涓�涓伐浣�
-                            if (tasksDown.Count == 1)
-                            {
-                                if (task1 == null)
-                                {
-                                    //涓嬪彂鎵ц宸ヤ綅
-                                    device.SetValue(W_RgvCPDB.WorkStation, 1);
-                                    device.SetValue(W_RgvCPDB.WcsTask1, tasksDown[0].TaskNum);
-                                    device.SetValue(W_RgvCPDB.Qu1, tasksDown[0].CurrentAddress);
-                                    device.SetValue(W_RgvCPDB.Fang1, tasksDown[0].NextAddress);
-                                    tasksDown[0].HeightType = 1;
-                                    _taskService.UpdateTask(tasksDown[0], TaskStatusEnum.RGV_Executing);
-                                    Thread.Sleep(100);
-                                    ReceivedDone=true;
-                                }
-                            }
-                            else if (tasksDown.Count == 2)//鍗犵敤涓や釜宸ヤ綅
-                            {
-                                
-                                if (task1 == null && task2 == null)
-                                {
-                                    //涓嬪彂鎵ц宸ヤ綅
-                                    device.SetValue(W_RgvCPDB.WorkStation, 4);
-
-                                    device.SetValue(W_RgvCPDB.WcsTask1, tasksDown[0].TaskNum);
-                                    device.SetValue(W_RgvCPDB.Qu1, tasksDown[0].CurrentAddress);
-                                    device.SetValue(W_RgvCPDB.Fang1, tasksDown[0].NextAddress);
-                                    tasksDown[0].HeightType = 1;
-                                    _taskService.UpdateTask(tasksDown[0], TaskStatusEnum.RGV_Executing);
-                                    Thread.Sleep(100);
-                                    device.SetValue(W_RgvCPDB.WcsTask2, tasksDown[1].TaskNum);
-                                    device.SetValue(W_RgvCPDB.Qu2, tasksDown[1].CurrentAddress);
-                                    device.SetValue(W_RgvCPDB.Fang2, tasksDown[1].NextAddress);
-                                    tasksDown[1].HeightType = 2;
-                                    _taskService.UpdateTask(tasksDown[1], TaskStatusEnum.RGV_Executing);
-                                    Thread.Sleep(100);
-                                    ReceivedDone = true;
-                                }
-                            }
-                            else //鍗犵敤涓変釜宸ヤ綅
-                            {
-                                if (task1 == null && task2 == null && task3 == null)
-                                {
-                                    //涓嬪彂鎵ц宸ヤ綅
-                                    device.SetValue(W_RgvCPDB.WorkStation, 7);
-
-                                    device.SetValue(W_RgvCPDB.WcsTask1, tasksDown[0].TaskNum);
-                                    device.SetValue(W_RgvCPDB.Qu1, tasksDown[0].CurrentAddress);
-                                    device.SetValue(W_RgvCPDB.Fang1, tasksDown[0].NextAddress);
-                                    tasksDown[0].HeightType = 1;
-                                    _taskService.UpdateTask(tasksDown[0], TaskStatusEnum.RGV_Executing);
-                                    Thread.Sleep(100);
-                                    device.SetValue(W_RgvCPDB.WcsTask2, tasksDown[1].TaskNum);
-                                    device.SetValue(W_RgvCPDB.Qu2, tasksDown[1].CurrentAddress);
-                                    device.SetValue(W_RgvCPDB.Fang2, tasksDown[1].NextAddress);
-                                    tasksDown[1].HeightType = 2;
-                                    _taskService.UpdateTask(tasksDown[1], TaskStatusEnum.RGV_Executing);
-                                    Thread.Sleep(100);
-                                    device.SetValue(W_RgvCPDB.WcsTask3, tasksDown[2].TaskNum);
-                                    device.SetValue(W_RgvCPDB.Qu3, tasksDown[2].CurrentAddress);
-                                    device.SetValue(W_RgvCPDB.Fang3, tasksDown[2].NextAddress);
-                                    tasksDown[2].HeightType = 3;
-                                    _taskService.UpdateTask(tasksDown[2], TaskStatusEnum.RGV_Executing);
-                                    Thread.Sleep(100);
-                                    ReceivedDone = true;
-                                }
-                            }
-                            if (ReceivedDone)
-                            {
-                                device.SetValue(W_RgvCPDB.TaskType, 4);
-                                device.SetValue(W_RgvCPDB.TaskReceivedDone, 1);
-                            }
-                        }
-                    }
-                    else if((rgvInfoRead.Mode == 5 || rgvInfoRead.Mode == 4) && rgvInfoRead.TaskDone == 3)
-                    {
-                        //鑾峰彇浠诲姟
-                        Dt_Task task = _taskRepository.QueryFirst(x =>x.TaskNum==rgvInfoRead.RgvTask &&  _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
-                        if (task != null)
-                        {
-                            //鑾峰彇涓嬩竴涓妭鐐圭殑璺敱
-                            Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
-                            task.CurrentAddress = task.NextAddress;
-                            task.NextAddress = "";
-                            task.DeviceCode = stationManger.StationDeviceCode;
-                            device.SetValue(W_RgvCPDB.TaskReceivedDone, 2);
-                            _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute);
-                            WriteInfo(device.DeviceName, $"RGV浠诲姟瀹屾垚,浠诲姟鍙穥rgvInfoRead.RgvEndTask}");
-                        }
-                        else
-                        {
-                            WriteInfo(device.DeviceName, $"鏈壘鍒癛GV瀵瑰簲鐨勭粨鏉熶换鍔rgvInfoRead.RgvEndTask}");
-                        }
-                    }
-                    else if (rgvInfoRead.TaskDone == 2 && rgvInfoWrite.TaskReceivedDone == 1)
-                    {
-                        device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
-                    }
-                    else if (rgvInfoRead.TaskDone == 0 && rgvInfoWrite.TaskReceivedDone == 2)
-                    {
-                        device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
-                    }
-                }
-                else
-                {
-                    WriteError(device.DeviceName, $"鏈壘鍒拌澶囧瓙缂栧彿{device.DeviceCode}鐨勫崗璁俊鎭�");
-                }
-            }
-
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs"
deleted file mode 100644
index 2fdc8c7..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs"
+++ /dev/null
@@ -1,389 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core.Enums;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DeviceBase;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
-using WIDESEAWCS_Tasks.StackerCraneJob;
-using WIDESEAWCS_Tasks;
-using WIDESEAWCS_Core;
-using SqlSugar.Extensions;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_QuartzJob.Repository;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class StackerCraneJob_CP : JobBase, IJob
-    {
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-
-        public StackerCraneJob_CP(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository,IRouterRepository routerRepository)
-        {
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _routerService = routerService;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
-                if (commonStackerCrane != null)
-                {
-                    if (!commonStackerCrane.IsEventSubscribed)
-                    {
-                        commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
-                    }
-                    commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
-                    if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
-                    {
-                        short stackerError = commonStackerCrane.Communicator.Read<short>("DB1000.54.0");
-                        if (stackerError == 0)
-                        {
-                            Dt_Task? task = GetTask(commonStackerCrane);
-                            if (task != null)
-                            {
-                                StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
-                                if (stackerCraneTaskCommand != null)
-                                {
-                                    bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
-                                    if (sendFlag)
-                                    {
-                                        commonStackerCrane.LastTaskType = task.TaskType;
-                                        task.Dispatchertime = DateTime.Now;
-                                        task.ExceptionMessage = "";
-                                        _taskService.UpdateTask(task, TaskStatusEnum.SC_Executing);
-                                        commonStackerCrane.Communicator.Write("DB1000.20.0", true);
-                                        //寤舵椂1s
-                                        Thread.Sleep(1000);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError(nameof(StackerCraneJob_CP), ex.Message, ex);
-            }
-            return Task.CompletedTask;
-        }
-
-        /// <summary>
-        /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉�
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e)
-        {
-            CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane;
-            if (commonStackerCrane != null)
-            {
-                if (!commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.WriteFinish))
-                {
-                    if (StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceCode).Status)
-                    {
-                        commonStackerCrane.SetValue(StackerCraneDBName.WriteFinish, true);
-                    }
-                }
-            }
-        }
-        public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceCode)
-        {
-            try
-            {
-                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum && x.TaskState==TaskStatusEnum.SC_Executing.ObjToInt());
-                if (task != null)
-                {
-                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                    {
-                        Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode==deviceCode);
-                        if (stationManger == null)
-                        {
-                            _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
-                            _taskService.UpdateTaskExceptionMessage(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
-                            return WebResponseContent.Instance.Error($"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
-                        }
-                        Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == stationManger.StationCode && x.ChildPosi == stationManger.StationDeviceCode);
-                        if (router == null)
-                        {
-                            _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
-                            WriteError(deviceCode, $"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
-                            return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
-                        }
-                        //鍫嗗灈鏈哄畬鎴愬畬鎴�
-                        int oldStatus = task.TaskState;
-                        task.DeviceCode = stationManger.StationDeviceCode;
-                        task.TaskState = TaskStatusEnum.Line_Execute.ObjToInt();
-                        task.CurrentAddress = stationManger.StationCode;
-                        task.NextAddress = router.NextPosi;
-                        _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute);
-                        
-                        //_taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi, targetAddress: router.NextPosi);
-                        _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"绯荤粺鑷姩娴佺▼,浠诲姟鐘舵�佷粠銆恵oldStatus}銆戣浆鍒般�恵task.TaskState}銆�");
-                        WriteInfo(deviceCode, $"鍫嗗灈鏈轰换鍔″畬鎴�,浠诲姟鍙�:{taskNum}");
-                    }
-                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
-                    {
-                        WriteInfo(deviceCode, $"鍫嗗灈鏈轰换鍔″畬鎴�,浠诲姟鍙�:{taskNum}");
-                        _taskService.TaskCompleted(taskNum);
-                    }
-                    else
-                    {
-                        WriteInfo(deviceCode, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
-                        _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
-                        _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
-                    }
-                }
-                else
-                {
-                    WriteInfo(deviceCode, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
-                    return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
-                }
-
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                WriteError(deviceCode, $"浠诲姟瀹屾垚閿欒", ex);
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-
-
-        /// <summary>
-        /// 鑾峰彇浠诲姟
-        /// </summary>
-        /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param>
-        /// <returns></returns>
-        private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
-        {
-            //鍒ゆ柇鏄惁鏈夋鎵ц鐨勪换鍔★紝濡傛灉鏈夊垯涓嶄笅鍙�
-            Dt_Task? taskOld = _taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.Roadway == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt());
-            if (taskOld!=null)
-            {
-                return null;
-            }
-
-            Dt_Task task;
-            if (commonStackerCrane.LastTaskType == null)
-            {
-                task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
-            }
-            else
-            {
-                if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    //涓婁竴涓负鍑哄簱鍒欐煡鏄惁瀛樺湪鍏ュ簱浠诲姟 浜ゆ浛鎵ц
-                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
-                    if (task == null)
-                    {
-                        task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
-                    }
-                }
-                else
-                {
-                    //涓婁竴涓负鍏ュ簱鍒欐煡鏄惁瀛樺湪鍑哄簱浠诲姟 浜ゆ浛鎵ц
-                    task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
-                    if (task == null)
-                    {
-                        task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
-                    }
-                }
-            }
-
-            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            {
-                //鍒ゆ柇鍑哄簱绔欏彴鍗犵敤
-                if (OutTaskStationIsOccupied(task) == null)
-                {
-                    bool flag = false;
-                    List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress, task.TaskType).Select(x => x.ChildPosi).ToList();
-                    List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes);
-                    foreach (var item in tasks)
-                    {
-                        if (OutTaskStationIsOccupied(task) != null)
-                        {
-                            flag = true;
-                            break;
-                        }
-                    }
-                    if (!flag)
-                    {
-                        task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
-                    }
-                }
-            }
-
-            return task;
-        }
-
-        /// <summary>
-        /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢�
-        /// </summary>
-        /// <param name="task">浠诲姟瀹炰綋</param>
-        /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
-        private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
-        {
-            Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => (x.StationCode == task.NextAddress) && x.StackerCraneCode == task.DeviceCode);
-            if (stationManger != null)
-            {
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
-                if (device != null)
-                {
-                    OtherDevice client = (OtherDevice)device;
-                    short command = client.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode);
-                    if (command==3)//鍑哄簱绔欏彴鏈鍗犵敤
-                    {
-                        //task.NextAddress = stationManger.StackerCraneStationCode;
-                        //_taskRepository.UpdateData(task);
-                        return task;
-                    }
-                    else
-                    {
-                        task.ExceptionMessage = "鍑哄簱绔欏彴鏃犳硶涓嬪彂";
-                        _taskRepository.UpdateData(task);
-                    }
-                }
-                else
-                {
-                    WriteInfo(task.DeviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
-                }
-            }
-            else
-            {
-                WriteInfo(task.DeviceCode, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
-                _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
-            }
-            return null;
-        }
-
-        /// <summary>
-        /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
-        /// </summary>
-        /// <param name="task">浠诲姟瀹炰綋</param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
-        {
-            StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
-
-            stackerCraneTaskCommand.TaskNum = task.TaskNum;
-            stackerCraneTaskCommand.WorkType = 5;
-            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
-            {
-
-                string[] startCodes = task.CurrentAddress.Split("-");
-                if (startCodes.Length == 3)
-                {
-                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
-                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]);
-                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]);
-                }
-                else
-                {
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
-                    return null;
-                }
-                string[] targetCodes = task.NextAddress.Split("-");
-                if (targetCodes.Length == 5)
-                {
-                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
-                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
-                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
-                }
-                else
-                {
-                    //鏁版嵁閰嶇疆閿欒
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
-                    return null;
-                }
-            }
-            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)//鍒ゆ柇鏄惁鏄嚭搴撲换鍔�
-            {
-                Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode);
-                string[] targetCodes = stationManger.StackerCraneStationCode.Split("-");
-                if (targetCodes.Length == 3)
-                {
-                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
-                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
-                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
-                }
-                else
-                {
-                    //鏁版嵁閰嶇疆閿欒
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟涓嬩竴鍦板潃鐐归敊璇紝璧风偣锛氥�恵task.NextAddress}銆�");
-                    return null;
-                }
-                string[] sourceCodes = task.CurrentAddress.Split("-");
-                if (sourceCodes.Length == 5)
-                {
-                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
-                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
-                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
-                }
-                else
-                {
-                    //鏁版嵁閰嶇疆閿欒
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
-                    return null;
-                }
-            }
-            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)//鍒ゆ柇鏄惁鏄Щ搴撲换鍔�
-            {
-                string[] targetCodes = task.NextAddress.Split("-");
-                if (targetCodes.Length == 5)
-                {
-                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
-                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
-                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
-                }
-                else
-                {
-                    //鏁版嵁閰嶇疆閿欒
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�");
-                    return null;
-                }
-                string[] sourceCodes = task.CurrentAddress.Split("-");
-                if (sourceCodes.Length == 5)
-                {
-                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
-                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
-                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
-                }
-                else
-                {
-                    //鏁版嵁閰嶇疆閿欒
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
-                    return null;
-                }
-            }
-            return stackerCraneTaskCommand;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\216\245\351\251\263\345\217\260/CoveryorJobYL.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\216\245\351\251\263\345\217\260/CoveryorJobYL.cs"
deleted file mode 100644
index 3e158ec..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\216\245\351\251\263\345\217\260/CoveryorJobYL.cs"
+++ /dev/null
@@ -1,116 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection.Metadata;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.Helper;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_Tasks.DBNames;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class CoveryorJobYL : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public CoveryorJobYL(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-            if (flag && value != null)
-            {
-                OtherDevice device = (OtherDevice)value;
-                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
-                foreach (var item in stationMangers)
-                {
-                    //鑾峰彇鍗忚
-                    DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationDeviceCode && x.DeviceProParamType == nameof(CoveryorDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    if (deviceProRead != null)
-                    {
-                        bool RequestTake = device.GetValue<CoveryorDB, bool>(CoveryorDB.C_RequestTake, item.StationDeviceCode);
-                        int OutTaskNum = device.GetValue<CoveryorDB, int>(CoveryorDB.C_OutTaskNum, item.StationDeviceCode);
-                        if (RequestTake && OutTaskNum>0) //鍑哄簱鐢宠
-                        {
-                            //鑾峰彇褰撳墠浠诲姟
-                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum ==OutTaskNum && x.NextAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt());
-                            if (task != null)
-                            {
-                                //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
-                                List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.NextAddress == x.StartPosi);
-                                Dt_Router router = routers.FirstOrDefault();
-                                if (router == null)
-                                {
-                                    WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                                    return Task.CompletedTask;
-                                }
-                                device.SetValue(CoveryorDB.C_OutResponse, true, item.StationDeviceCode);
-                                //鏇存柊浠诲姟淇℃伅
-                                task.CurrentAddress = router.StartPosi;
-                                task.NextAddress = task.TargetAddress;
-                                task.DeviceCode = router.NextPosi;
-                                _taskService.UpdateTask(task, TaskStatusEnum.AGV_Execute);
-                                WriteInfo(item.StationName, $"浠诲姟鍙穥OutTaskNum}鎺ラ┏鍙板嚭搴�");
-                            }
-                        }
-                       
-                    }
-                    else
-                    {
-                        WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
-                    }
-                }
-            }
-            return Task.CompletedTask;
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\241\201\346\236\266/TrussCartonJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\241\201\346\236\266/TrussCartonJob.cs"
deleted file mode 100644
index c49ef1e..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\346\241\201\346\236\266/TrussCartonJob.cs"
+++ /dev/null
@@ -1,133 +0,0 @@
-锘縰sing Newtonsoft.Json;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_Tasks.DBNames;
-using WIDESEAWCS_Core.Helper;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-
-namespace WIDESEAWCS_Tasks
-{
-    /// <summary>
-    /// 绾哥妗佹灦
-    /// </summary>
-    [DisallowConcurrentExecution]
-    public class TrussCartonJob : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public TrussCartonJob(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-                if (flag && value != null)
-                {
-                    OtherDevice device = (OtherDevice)value;
-                    List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
-                    //鑾峰彇鍗忚
-                    DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(R_TrussCartonDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(W_TrussCartonDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    //鍒ゆ柇鍗忚鏄惁婊¤冻
-                    if (deviceProRead != null && deviceProWrite != null)
-                    {
-                        device.SetValue(W_TrussCartonDB.W_CartonHeart, false, device.DeviceCode);
-                        //鍐欏叆蹇冭烦
-                        foreach (var item in stationMangers)
-                        {
-                            //鐮佸灈鐘舵��
-                            bool Call = device.GetValue<R_TrussCartonDB, bool>(GetCartonCall(item.StackerCraneStationCode), device.DeviceCode);
-
-                            if (Call && item.IsOccupied == 0)
-                            {
-                                //璇锋眰WMS鍙枡浠诲姟
-                            }
-                            else if (Call && item.IsOccupied == 1)
-                            {
-                                //璇锋眰WMS绌烘墭鍙犵洏浠诲姟
-                            }
-                        }
-                        device.SetValue(W_TrussCartonDB.W_CartonHeart, true, device.DeviceCode);
-                    }
-                    else
-                    {
-                        WriteError(device.DeviceCode, $"鏈壘鍒拌澶囩紪鍙穥device.DeviceCode}鐨勫崗璁俊鎭�");
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError(nameof(TrussCartonJob),ex.Message);
-            }
-            return Task.CompletedTask;
-        }
-
-        /// <summary>
-        /// 鑾峰彇妗佹灦鍛煎彨淇″彿
-        /// </summary>
-        public R_TrussCartonDB GetCartonCall(string StationCode)
-        {
-            switch (StationCode)
-            {
-                case "1":
-                    return R_TrussCartonDB.R_CartonCall1;
-                case "2":
-                    return R_TrussCartonDB.R_CartonCall2;
-                case "3":
-                    return R_TrussCartonDB.R_CartonCall3;
-                case "4":
-                    return R_TrussCartonDB.R_CartonCall4;
-                case "5":
-                    return R_TrussCartonDB.R_CartonCall5;
-                case "6":
-                    return R_TrussCartonDB.R_CartonCall6;
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-    }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\347\240\201\345\236\233/MDJob_CP.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\347\240\201\345\236\233/MDJob_CP.cs"
deleted file mode 100644
index 7a01bb0..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCSServices/WIDESEAWCS_Tasks/\347\240\201\345\236\233/MDJob_CP.cs"
+++ /dev/null
@@ -1,265 +0,0 @@
-锘縰sing Autofac.Core;
-using Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.IdentityModel.Tokens.Jwt;
-using System.Linq;
-using System.Reflection.Metadata;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.Helper;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_IPackInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_Model.Models.PackInfo;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_Tasks.DBNames;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class MDJob_CP : JobBase, IJob
-    {
-        private readonly ICacheService _cacheService;
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IStationMangerRepository _stationMangerRepository;
-        private readonly IDt_PackaxisRepository _packaxisRepository;
-        private readonly IRouterRepository _routerRepository;
-        private readonly IRouterService _routerService;
-        private readonly IRouterExtension _routerExtension;
-        private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
-        public MDJob_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension, IDt_PackaxisRepository packaxisRepository)
-        {
-            _cacheService = cacheService;
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _stationMangerRepository = stationMangerRepository;
-            _routerRepository = routerRepository;
-            _routerService = routerService;
-            _routerExtension = routerExtension;
-            _packaxisRepository = packaxisRepository;
-
-            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
-            if (!string.IsNullOrEmpty(warehouseDevicesStr))
-            {
-                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
-            }
-            else
-            {
-                warehouseDevices = new List<Dt_WarehouseDevice>();
-            }
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
-            if (flag && value != null)
-            {
-                OtherDevice device = (OtherDevice)value;
-                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StackerCraneCode == device.DeviceCode && x.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && x.IsOccupied == 0);
-                foreach (var item in stationMangers)
-                {
-                    //鑾峰彇鍗忚
-                    DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StackerCraneCode && x.DeviceProParamType == nameof(R_MDDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StackerCraneCode && x.DeviceProParamType == nameof(W_MDDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    if (deviceProRead != null && deviceProWrite != null)
-                    {
-                        short Allow = device.GetValue<R_MDDB, short>(R_MDDB.R_MDAllow, item.StackerCraneCode);
-
-                        #region 璇诲彇宸ヤ綅鐘舵��
-                        short R_MDStatus1 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus1, item.StackerCraneCode);
-                        short R_MDStatus2 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus2, item.StackerCraneCode);
-                        short R_MDStatus3 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus3, item.StackerCraneCode);
-                        short R_MDStatus4 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus4, item.StackerCraneCode);
-
-                        short ReceiveDoneState = device.GetValue<W_MDDB, short>(W_MDDB.W_MDReceiveDone, item.StackerCraneCode);
-                        #endregion
-                        //鐮佸灈鐘舵��
-                        short PackState = device.GetValue<R_MDDB, short>(GetPackStateEnum(item.StackerCraneStationCode), item.StackerCraneCode);
-                        //鐮佸灈鏁伴噺
-                        short PackNum = device.GetValue<R_MDDB, short>(GetPackNumEnum(item.StackerCraneStationCode), item.StackerCraneCode);
-                        if (R_MDStatus1 == 1 || R_MDStatus2 == 1 || R_MDStatus3 == 1 || R_MDStatus4 == 1)
-                        {
-                            Thread.Sleep(200);
-                            if (ReceiveDoneState!=0)
-                            {
-                                device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDReceiveDone.ToString()).DeviceProDataBlock, 0);
-                                WriteInfo(item.StackerCraneCode, $"{item.StackerCraneCode}娓呴櫎涓嬪彂鏍囪瘑淇″彿");
-                            }
-                            continue;
-                        }
-                        if (PackState == 2)
-                        {
-                            Thread.Sleep(200);
-                            device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 0);
-                            WriteInfo(item.StationName, $"{item.StationName}娓呴櫎宸ヤ綅缁撴墭淇″彿");
-                            continue;
-                        }
-                        var axis = _packaxisRepository.QueryFirst(x => x.DeviceCode == item.StackerCraneCode && x.StationCode == Convert.ToInt32(item.StackerCraneStationCode));
-                        if (axis != null)
-                        {
-                            //杩涜缁撴墭
-                            if (Convert.ToInt32(PackNum) == axis.PackNum)
-                            {
-                                device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 2);
-                                WriteInfo(item.StationName, $"{item.StationName}鍐欏叆宸ヤ綅缁撴墭淇″彿");
-                                continue;
-                            }
-                            //鐮佸灈鐢宠
-                            if (Allow == 3 || Allow == 7)
-                            {
-                                //鑾峰彇褰撳墠浠诲姟
-                                Dt_Task task = _taskRepository.QueryData(x => x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.MD_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode).OrderBy(x => x.TaskNum).FirstOrDefault();
-
-                                if (task != null) 
-                                {
-                                    //鍐欏叆宸ヤ綅鍙�
-                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSendID.ToString()).DeviceProDataBlock, Convert.ToInt16(item.StackerCraneStationCode));
-                                    //鍐欏叆宸ヤ綅鍏佽鐮佸灈
-                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 1);
-
-                                    #region 鑾峰彇鍐欏叆鐮佸灈X銆乊銆乑鍧愭爣
-                                    (int, int, int) result = GetAxis(PackNum, axis, item.StackerCraneStationCode);
-                                    
-                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, result.Item1);
-
-                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, result.Item2);
-
-                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDZ.ToString()).DeviceProDataBlock, result.Item3);
-                                    WriteInfo(item.StationName, $"鐮佸灈鏁伴噺銆恵PackNum}銆戯紝涓嬪彂鐮佸灈鍧愭爣X銆乊銆乑銆恵result.Serialize()}銆�");
-                                    #endregion
-
-                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDA.ToString()).DeviceProDataBlock, 1);
-                                    //鍐欏叆涓嬪彂鏍囪瘑
-                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDReceiveDone.ToString()).DeviceProDataBlock, 3);
-
-                                    //鏇存柊浠诲姟淇℃伅
-                                    task.TaskState = TaskStatusEnum.Finish.ObjToInt();
-                                    //_taskRepository.UpdateData(task);
-                                    //_taskService.TaskCompleted(task.TaskNum);
-                                    Thread.Sleep(1000);
-                                    WriteInfo(item.StationName, $"浠诲姟鍙穥task.TaskNum}鐮佸灈");
-                                    return Task.CompletedTask;
-                                }
-
-                            }
-                        }
-                        else
-                        {
-                            WriteError(item.StationName, $"鏈壘鍒拌宸ヤ綅{item.StationName}鐨勫潗鏍囦俊鎭紝璇锋牳瀵规暟鎹�");
-                        }
-                    }
-                    else
-                    {
-                        WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
-                    }
-                }
-            }
-            return Task.CompletedTask;
-        }
-        /// <summary>
-        /// 鐮佸灈鏁伴噺
-        /// </summary>
-        public R_MDDB GetPackNumEnum(string StationCode)
-        {
-            switch (StationCode)
-            {
-                case "1":
-                    return R_MDDB.R_MDQtys1;
-                case "2":
-                    return R_MDDB.R_MDQtys2;
-                case "3":
-                    return R_MDDB.R_MDQtys3;
-                case "4":
-                    return R_MDDB.R_MDQtys4;
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-        /// <summary>
-        /// 鐮佸灈鐘舵��
-        /// </summary>
-        public R_MDDB GetPackStateEnum(string StationCode)
-        {
-            switch (StationCode)
-            {
-                case "1":
-                    return R_MDDB.R_MDStatus1;
-                case "2":
-                    return R_MDDB.R_MDStatus2;
-                case "3":
-                    return R_MDDB.R_MDStatus3;
-                case "4":
-                    return R_MDDB.R_MDStatus4;
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-        /// <summary>
-        /// 鐮佸灈宸ヤ綅
-        /// </summary>
-        public W_MDDB GetPackSendEnum(string StationCode)
-        {
-            switch (StationCode)
-            {
-                case "1":
-                    return W_MDDB.W_MDSend1;
-                case "2":
-                    return W_MDDB.W_MDSend2;
-                case "3":
-                    return W_MDDB.W_MDSend3;
-                case "4":
-                    return W_MDDB.W_MDSend4;
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-        public (int, int ,int) GetAxis(int PackNum, Dt_Packaxis axis, string StationCode)
-        {
-            int X = PackNum / axis.AxisYCount % axis.AxisXCount;
-            int Y = PackNum % axis.AxisYCount;
-            int Z = PackNum / (axis.AxisYCount * axis.AxisXCount) % axis.AxisZCount;
-            int axisx = 0;
-            int axisy = 0;
-            int axisz = 0;
-            if (axis == null)
-            {
-                throw new Exception("鏈壘鍒板潗鏍囧��");
-            }
-            switch (StationCode)
-            {
-                case "1":
-                    return (axisx = axis.AxisX - X * axis.AxisXSpacing, axisy = axis.AxisY + Y * axis.AxisYSpacing,axisz=  axis.AxisZ + Z * axis.AxisZSpacing);
-                case "2":
-                    return (axisx = axis.AxisX - X * axis.AxisXSpacing, axisy = axis.AxisY - Y * axis.AxisYSpacing, axisz = axis.AxisZ + Z * axis.AxisZSpacing);
-                case "3":
-                    return (axisx = axis.AxisX + X * axis.AxisXSpacing, axisy = axis.AxisY + Y * axis.AxisYSpacing, axisz = axis.AxisZ + Z * axis.AxisZSpacing);
-                case "4":
-                    return (axisx = axis.AxisX + X * axis.AxisXSpacing, axisy = axis.AxisY - Y * axis.AxisYSpacing, axisz = axis.AxisZ + Z * axis.AxisZSpacing);
-                default:
-                    throw new Exception("鏈畾涔夊伐浣�");
-            }
-        }
-    }
-}
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\346\225\264\344\275\223\350\256\241\345\210\222/\345\207\244\351\223\235\351\241\271\347\233\256WMS\345\222\214WCS\350\275\257\344\273\266 \345\256\275\346\265\267\350\277\233\345\272\246\350\241\250-20260119.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\346\225\264\344\275\223\350\256\241\345\210\222/\345\207\244\351\223\235\351\241\271\347\233\256WMS\345\222\214WCS\350\275\257\344\273\266 \345\256\275\346\265\267\350\277\233\345\272\246\350\241\250-20260130.xlsx"
similarity index 100%
rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\346\225\264\344\275\223\350\256\241\345\210\222/\345\207\244\351\223\235\351\241\271\347\233\256WMS\345\222\214WCS\350\275\257\344\273\266 \345\256\275\346\265\267\350\277\233\345\272\246\350\241\250-20260119.xlsx"
rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\346\225\264\344\275\223\350\256\241\345\210\222/\345\207\244\351\223\235\351\241\271\347\233\256WMS\345\222\214WCS\350\275\257\344\273\266 \345\256\275\346\265\267\350\277\233\345\272\246\350\241\250-20260130.xlsx"
Binary files differ

--
Gitblit v1.9.3