From 0939aa5f3cc12a8856456a51cf2b661b6cd780c7 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 31 七月 2025 17:25:49 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json                 |  156 ++++-------
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs     |   36 ++
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs                   |    1 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo                                |    0 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json          |  150 ++++------
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs       |    7 
 项目代码/WCS/WIDESEAWCS_Client/src/views/LineInfo.vue                                        |   16 
 项目代码/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue                                    |   17 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs     |    4 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                     |   91 +++++-
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs             |   61 +++-
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs |  200 ++++-----------
 项目代码/WCS/WIDESEAWCS_Client/src/views/Home.vue                                            |   15 
 13 files changed, 356 insertions(+), 398 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
index 113d024..67ec81d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
@@ -63,9 +63,9 @@
 					<el-col :span="8">
 						<div class="line-container">
 							<div class="RGVline"></div>
-							<div :class="updateRGVOne()" :style="{ marginTop: RGV01.LevelPoint + 'px' }"
+							<div :class="updateRGVOne()" :style="{ transform: `translateY(${1280-RGV01.LevelPoint*0.00303627639+50}px)` }"
 								@click="mouseClickRGVFirst">1</div>
-							<div :class="updateRGVTwo()" :style="{ marginTop: 1000 + 'px' }" @click="mouseClickSecond">2
+							<div :class="updateRGVTwo()" :style="{ transform: `translateY(${1280-RGV02.LevelPoint*0.00374041519+100}px)` }" @click="mouseClickSecond">2
 							</div>
 						</div>
 					</el-col>
@@ -164,9 +164,8 @@
 		<el-row :gutter="20" class="cardWidthrow">
 			<el-col :span="12">
 				<div>
-
-					<el-row :gutter="20" style="height:1000px;margin-top:50px;">
-						<span style="position: relative; top: 150px;left: 30px;">绗簩灞�</span>
+					<el-row :gutter="20" style="height:1000px;margin-top:10px;">
+						<span style="position: relative; top: 100px;left: 30px;">绗簩灞�</span>
 						<div>
 							<div v-for="(group, index) in groupedLines(linescopy13)" :key="index">
 								<div class="positionY-group">
@@ -180,7 +179,7 @@
 						<div class="line-containerThird">
 							<div class="lineThird"></div>
 							<div :class="updateRGVThird()"
-								:style="{ transform: `translateX(${RGV03.LevelPoint}px)`, marginTop: '3px' }"
+								:style="{ transform: `translateX(${1280-RGV03.LevelPoint*0.003397667+200}px)`, marginTop: '3px' }"
 								@click="mouseClickThird">3</div>
 						</div>
 						<div style="margin-top:180px;margin-right:100px">
@@ -1585,7 +1584,7 @@
   margin-bottom: 10px;
 } */
 .title {
-	height: 1500px;
+	height: 1800px;
 }
 
 .cardWidth {
@@ -1595,7 +1594,7 @@
 }
 
 .cardWidthrow {
-	height: 40%;
+	height: 00%;
 	width: 100%;
 	/* margin-top: 10px; */
 	box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfo.vue"
index e3d1f9a..1390ffe 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfo.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfo.vue"
@@ -15,19 +15,19 @@
 				</el-col>
 				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
 					<el-form-item label="鏄惁鏈夌洏:">
-						<j-el-description :value="lineItemInfo.r_Line_HasPallet" type="primary" ellipsis></j-el-description>
+						<j-el-description :value="lineItemInfo.inStock" type="primary" ellipsis></j-el-description>
 					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
 				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
-					<el-form-item label="鎵樼洏鏉$爜:">
-						<j-el-description :value="lineItemInfo.r_Line_Barcode" type="primary" ellipsis></j-el-description>
+					<el-form-item label="浠诲姟鍙�:">
+						<j-el-description :value="lineItemInfo.taskNumm" type="primary" ellipsis></j-el-description>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
 					<el-form-item label="鎶ヨ浠g爜锛�">
-						<j-el-description :value="lineItemInfo.r_Line_ErrorCode" type="primary" ellipsis></j-el-description>
+						<j-el-description :value="lineItemInfo.alarm" type="primary" ellipsis></j-el-description>
 					</el-form-item>
 				</el-col>
 			</el-row>
@@ -141,11 +141,9 @@
 			top: "400px",
 			dialogVisible: false,
 			lineItemInfo: {
-				r_Line_Barcode: "",
-				r_Line_HasPallet: "",
-				r_Line_TaskNum: "",
-				r_Line_ErrorCode: "",
-				r_Line_Target: "",
+				inStock: "",
+				taskNum: "",
+				alarm: "",
 			},
 			form: {
 				TaskType: "",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue"
index 544ed9e..87a9778 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue"
@@ -15,19 +15,19 @@
 				</el-col>
 				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
 					<el-form-item label="鏄惁鏈夌洏:">
-						<j-el-description :value="lineItemInfo.r_Line_HasPallet" type="primary" ellipsis></j-el-description>
+						<j-el-description :value="lineItemInfo.inStock" type="primary" ellipsis></j-el-description>
 					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
 				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
-					<el-form-item label="鎵樼洏鏉$爜:">
-						<j-el-description :value="lineItemInfo.r_Line_Barcode" type="primary" ellipsis></j-el-description>
+					<el-form-item label="浠诲姟鍙�:">
+						<j-el-description :value="lineItemInfo.taskNum" type="primary" ellipsis></j-el-description>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
 					<el-form-item label="鎶ヨ浠g爜锛�">
-						<j-el-description :value="lineItemInfo.r_Line_ErrorCode" type="primary" ellipsis></j-el-description>
+						<j-el-description :value="lineItemInfo.alarm" type="primary" ellipsis></j-el-description>
 					</el-form-item>
 				</el-col>
 			</el-row>
@@ -141,11 +141,9 @@
 			top: "400px",
 			dialogVisible: false,
 			lineItemInfo: {
-				r_Line_Barcode: "",
-				r_Line_HasPallet: "",
-				r_Line_TaskNum: "",
-				r_Line_ErrorCode: "",
-				r_Line_Target: "",
+				inStock: "",
+				taskNum: "",
+				alarm: "",
 			},
 			form: {
 				TaskType: "",
@@ -171,6 +169,7 @@
 				.then((x) => {
 					if (x.status) {
 						this.lineItemInfo = x.data;
+						console.log(this.lineItemInfo.taskNum);
 					} else {
 						this.$message({
 							type: "error",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
index ae5b781..e8d0e4a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index f883ee1..1620644 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -3,44 +3,36 @@
   "WorkspaceRootPath": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -50,7 +42,7 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 3,
+          "SelectedChildIndex": 4,
           "Children": [
             {
               "$type": "Bookmark",
@@ -62,114 +54,91 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 2,
+              "Title": "DeviceInfoService.cs",
+              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "ViewState": "AgIAAO4CAAAAAAAAAAA9wEAEAAAYAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T01:13:44.444Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAABMCAAAAAAAAAAAhwCMCAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T01:00:10.426Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
               "Title": "CommonRGV_FirstFloorJob.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
-              "ViewState": "AgIAAIYAAAAAAAAAAAAIwJ8AAAAYAAAAAAAAAA==",
+              "ViewState": "AgIAAKMBAAAAAAAAAAAxwLkBAAALAQAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-30T09:52:26.156Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "DeviceInfoService.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ViewState": "AgIAAEMAAAAAAAAAAADwv9gCAAA/AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T01:59:05.153Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "TaskStatusEnum.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "ViewState": "AgIAAMcAAAAAAAAAAAAAwM8AAAAeAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-29T03:10:22.341Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
+              "DocumentIndex": 4,
               "Title": "CommonConveyorLineJob.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
-              "ViewState": "AgIAAN8AAAAAAAAAAAAYwB4BAACTAAAAAAAAAA==",
+              "ViewState": "AgIAAMIAAAAAAAAAAAAUwNUAAAAxAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-24T03:47:03.579Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
+              "DocumentIndex": 3,
               "Title": "CommonStackerCraneJob.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
-              "ViewState": "AgIAAGMAAAAAAAAAAAAuwKgAAACSAAAAAAAAAA==",
+              "ViewState": "AgIAAL4AAAAAAAAAAAAAwMsAAAA+AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T03:54:34.335Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "IDeviceInfoService.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "ViewState": "AgIAAHEAAAAAAAAAAAAAAJQAAAA1AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T02:35:39.48Z",
+              "WhenOpened": "2025-07-24T03:54:34.335Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "DeviceInfoController.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "ViewState": "AgIAAEMAAAAAAAAAAAAwwGMAAAAuAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T02:36:25.787Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 9,
+              "DocumentIndex": 6,
               "Title": "RequestInbound.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
-              "ViewState": "AgIAADQAAAAAAAAAAAAWwDgAAACkAAAAAAAAAA==",
+              "ViewState": "AgIAAEkAAAAAAAAAAAAAwFgAAAAOAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T04:21:01.123Z"
+              "WhenOpened": "2025-07-24T04:21:01.123Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
+              "DocumentIndex": 5,
               "Title": "CommonRGVJob.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
-              "ViewState": "AgIAAKMAAAAAAAAAAAAQwMkAAABaAAAAAAAAAA==",
+              "ViewState": "AgIAAAQBAAAAAAAAAADwv/sAAAAgAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-28T04:13:17.74Z",
               "EditorCaption": ""
@@ -177,14 +146,15 @@
             {
               "$type": "Document",
               "DocumentIndex": 7,
-              "Title": "StackerCraneDBName.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "ViewState": "AgIAAG4AAAAAAAAAAADwv5EAAAAQAAAAAAAAAA==",
+              "Title": "ITaskService.cs",
+              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ViewState": "AgIAAHwAAAAAAAAAAIA7wJcAAABBAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T05:32:19.549Z"
+              "WhenOpened": "2025-07-31T04:54:23.912Z",
+              "EditorCaption": ""
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
index f2b16f5..16f6333 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
@@ -3,44 +3,36 @@
   "WorkspaceRootPath": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -50,7 +42,7 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 5,
+          "SelectedChildIndex": 4,
           "Children": [
             {
               "$type": "Bookmark",
@@ -62,104 +54,81 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
+              "DocumentIndex": 2,
+              "Title": "DeviceInfoService.cs",
+              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+              "ViewState": "AgIAAO4CAAAAAAAAAAA9wEAEAAAYAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T01:13:44.444Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAABMCAAAAAAAAAAAhwCMCAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T01:00:10.426Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
               "Title": "CommonRGV_FirstFloorJob.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
-              "ViewState": "AgIAAIYAAAAAAAAAAAAIwJ8AAAAYAAAAAAAAAA==",
+              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs*",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs*",
+              "ViewState": "AgIAALkCAAAAAAAAAAAAANEAAAAgAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-30T09:52:26.156Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "DeviceInfoService.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ViewState": "AgIAAPUCAAAAAAAAAAAIwNkCAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T01:59:05.153Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "TaskStatusEnum.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
-              "ViewState": "AgIAAMcAAAAAAAAAAAAAwM8AAAAeAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-29T03:10:22.341Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
+              "DocumentIndex": 4,
               "Title": "CommonConveyorLineJob.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
-              "ViewState": "AgIAAHEAAAAAAAAAAAAQwIYAAADHAAAAAAAAAA==",
+              "ViewState": "AgIAAMIAAAAAAAAAAAAUwNUAAAAxAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-24T03:47:03.579Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
+              "DocumentIndex": 3,
               "Title": "CommonStackerCraneJob.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
-              "ViewState": "AgIAAGMAAAAAAAAAAAAuwKgAAACSAAAAAAAAAA==",
+              "ViewState": "AgIAAL4AAAAAAAAAAAAAwMsAAAA+AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T03:54:34.335Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "IDeviceInfoService.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
-              "ViewState": "AgIAAHEAAAAAAAAAAAAAAJQAAAA1AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T02:35:39.48Z",
+              "WhenOpened": "2025-07-24T03:54:34.335Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "DeviceInfoController.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
-              "ViewState": "AgIAAEMAAAAAAAAAAAAwwGMAAAAuAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T02:36:25.787Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 9,
+              "DocumentIndex": 6,
               "Title": "RequestInbound.cs",
               "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
-              "ViewState": "AgIAADQAAAAAAAAAAAAWwDgAAACkAAAAAAAAAA==",
+              "ViewState": "AgIAAEkAAAAAAAAAAAAAwFgAAAAOAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T04:21:01.123Z"
+              "WhenOpened": "2025-07-24T04:21:01.123Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
@@ -169,7 +138,7 @@
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
               "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
-              "ViewState": "AgIAAKMAAAAAAAAAAAAQwMkAAABaAAAAAAAAAA==",
+              "ViewState": "AgIAAAQBAAAAAAAAAADwv/sAAAAgAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-28T04:13:17.74Z",
               "EditorCaption": ""
@@ -177,14 +146,15 @@
             {
               "$type": "Document",
               "DocumentIndex": 7,
-              "Title": "StackerCraneDBName.cs",
-              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
-              "ViewState": "AgIAAG4AAAAAAAAAAADwv5EAAAAQAAAAAAAAAA==",
+              "Title": "ITaskService.cs",
+              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ViewState": "AgIAAHwAAAAAAAAAAIA7wJcAAABBAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T05:32:19.549Z"
+              "WhenOpened": "2025-07-31T04:54:23.912Z",
+              "EditorCaption": ""
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index 880e3c6..d51cf4c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -148,6 +148,7 @@
         /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄锛屽彲鑳戒负null</returns>
         Dt_Task QueryRGVOutTask(string deviceNo);
 
+        Dt_Task QueryRGVExecutingTask(string deviceNo);
         Dt_Task QueryRGVExecutingTask(string deviceNo,int TaskNum);
 
         
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
index b01298a..cb98ede 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
@@ -89,7 +89,7 @@
                     string[] sourceCodes = stackerhand.SourceAddress.Split("-");
                     if (sourceCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                         stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                         stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                     }
@@ -101,7 +101,7 @@
                     string[] targetCodes = stackerhand.TargetAddress.Split("-");
                     if (targetCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                         stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                         stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                     }
@@ -116,7 +116,7 @@
                     string[] sourceCodes = stackerhand.SourceAddress.Split("-");
                     if (sourceCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                         stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                         stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                     }
@@ -127,7 +127,7 @@
                     string[] targetCodes = stackerhand.TargetAddress.Split("-");
                     if (targetCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                         stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                         stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                     }
@@ -142,7 +142,7 @@
                     string[] sourceCodes = stackerhand.SourceAddress.Split("-");
                     if (sourceCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                         stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                         stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                     }
@@ -154,7 +154,7 @@
                     string[] targetCodes = stackerhand.TargetAddress.Split("-");
                     if (targetCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                         stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                         stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                     }
@@ -169,7 +169,7 @@
                     string[] sourceCodes = stackerhand.SourceAddress.Split("-");
                     if (sourceCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                         stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                         stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
 
@@ -192,7 +192,7 @@
                         stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(0);
                         stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(0);
 
-                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                         stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                         stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                     }
@@ -305,7 +305,29 @@
             }
         }
 
-
+        public int GetRowCode(int number)
+        {
+            if (number == 1 || number == 15 || number == 11 || number == 19)
+            {
+                return 1;
+            }
+            else if (number == 2 || number == 5 || number == 8 || number == 12 || number == 16 || number == 20)
+            {
+                return 2;
+            }
+            else if (number == 3 || number == 6 || number == 9 || number == 13 || number == 17 || number == 21)
+            {
+                return 3;
+            }
+            else if (number == 4 || number == 7 || number == 10 || number == 14 || number == 18 || number == 22)
+            {
+                return 4;
+            }
+            else
+            {
+                throw new ArgumentOutOfRangeException(nameof(number), "杈撳叆鐨勬暟瀛楀繀椤诲湪1-16鑼冨洿鍐�");
+            }
+        }
         public class StackerCraneTaskCommand
         {
             #region <Public Menber>
@@ -495,10 +517,10 @@
                     if (device != null)
                     {
                         CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
-                        ushort x = conveyorLine.GetValue<ConveyorLineDBName, ushort>(ConveyorLineDBName.InteractiveSignal, stationManager.stationChildCode);
+                        short x = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, stationManager.stationChildCode);
                         var structs = BitConverter.GetBytes(x).ToArray().ToBoolArray();
                         short ConveyorLineTaskNum = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.ConveyorLineTaskNum, stationManager.stationChildCode);
-                        int ConveyorLineAlarm = conveyorLine.GetValue<ConveyorLineDBName, int>(ConveyorLineDBName.ConveyorLineAlarm, stationManager.stationChildCode);
+                        uint ConveyorLineAlarm = conveyorLine.GetValue<ConveyorLineDBName, uint>(ConveyorLineDBName.ConveyorLineAlarm, stationManager.stationChildCode);
                         ConveyorLineTaskCommand obj = new()
                         {
                             InStock = structs[2] == true ? "鏈夎揣" : "绌洪棽",
@@ -683,7 +705,7 @@
             }
         }
 
-        string AlarmInfo(int Alarm) => Alarm switch
+        string AlarmInfo(uint Alarm) => Alarm switch
         {
             0 => "鎬ュ仠",
             1 => "鍙橀鍣ㄦ姤璀�1",
@@ -835,7 +857,7 @@
                                 RGVTaskCommand command = new RGVTaskCommand()
                                 {
                                     PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
-                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
+                                    TaskType = (byte)Convert.ToSByte(4),
                                 };
                                 SendCommandFirstFloor(RGVcommand, command);
                                 return content.OK($"{device.DeviceName}閫�鍛戒护涓嬪彂鎴愬姛");
@@ -1037,12 +1059,12 @@
                     if (DeviceCode == "RGV01" || DeviceCode == "RGV02")
                     {
                         CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device;
-                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9));
+                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(7));
                     }
                     else
                     {
                         CommonRGV commonRGV = (CommonRGV)device;
-                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9));
+                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(7));
                     }
                     return content.OK($"{device.DeviceName}涓柇鎴愬姛");
                 }
@@ -1061,15 +1083,20 @@
                 IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode);
                 if (device != null)
                 {
+                    
                     if (DeviceCode == "RGV01" || DeviceCode == "RGV02")
                     {
                         CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device;
-                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9));
+                        DeviceProDTO? devicePro = commonRGV.DeviceProDTOs.Where(x => x.DeviceChildCode == commonRGV.DeviceCode && x.DeviceProParamName == "TaskType").FirstOrDefault();
+                        byte[] byt = Encoding.UTF8.GetBytes("08");
+                        commonRGV.Communicator.Write(devicePro.DeviceProAddress, byt);
                     }
                     else
                     {
                         CommonRGV commonRGV = (CommonRGV)device;
-                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9));
+                        DeviceProDTO? devicePro = commonRGV.DeviceProDTOs.Where(x => x.DeviceChildCode == commonRGV.DeviceCode && x.DeviceProParamName == "TaskType").FirstOrDefault();
+                        byte[] byt = Encoding.UTF8.GetBytes("8");
+                        commonRGV.Communicator.Write(devicePro.DeviceProAddress, byt);
                     }
                     return content.OK($"{device.DeviceName}鍒濆鍖栨垚鍔�");
                 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index ed50158..955d7d3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -165,6 +165,7 @@
                             RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName,
                             Floor = stationManager.stationFloor,
                             TargetStation= stationManagerEnd.remark,
+                            SourceStation= 0,
                         };
                         BaseDal.AddData(taskOut);
                     }
@@ -250,13 +251,13 @@
 
                             Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationType == 3 && x.stationFloor == task.Floor);
 
-                            Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway &&x.stationChildCode==taskDTOs.BeginPoint && x.stationFloor == task.Floor);
+                            Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode==taskDTOs.BeginPoint && x.stationFloor == task.Floor);
 
                             task.NextAddress = stationManager.stationChildCode;
 
                             task.SourceStation = stationManagerStart.remark;
 
-                            task.TargetStation = stationManagerStart.stationRemark;
+                            task.TargetStation = stationManager.stationRemark;
 
                             BaseDal.UpdateData(task);
                         }
@@ -268,11 +269,14 @@
                 }
                 else if (taskDTOs.TaskType == "3")
                 {
+                    string[] targetCodes = taskDTOs.BeginPoint.Split("-");
                     Dt_Task taskRelocation = new Dt_Task()
                     {
                         TaskType = (int)TaskRelocationTypeEnum.Relocation,
 
                         TaskState = (int)TaskRelocationStatusEnum.RelocationNew,
+
+                        Roadway = GetScCode(Convert.ToInt32(targetCodes[0])),
 
                         SourceAddress = taskDTOs.BeginPoint,
 
@@ -311,17 +315,25 @@
             {
                 return "SC01";
             }
-            else if (number >= 5 && number <= 8)
+            else if (number >= 5 && number <= 7)
             {
                 return "SC02";
             }
-            else if (number >= 9 && number <= 12)
+            else if (number >= 8 && number <= 10)
             {
                 return "SC03";
             }
-            else if (number >= 13 && number <= 16)
+            else if (number >= 11 && number <= 14)
             {
                 return "SC04";
+            }
+            else if (number >= 15 && number <= 18)
+            {
+                return "SC05";
+            }
+            else if (number >= 19 && number <= 22)
+            {
+                return "SC06";
             }
             else
             {
@@ -466,9 +478,20 @@
         /// <param name="deviceNo">璁惧缂栧彿</param>
         /// <param name="currentAddress">褰撳墠鍦板潃</param>
         /// <returns></returns>
-        public Dt_Task QueryRGVExecutingTask(string deviceNo,int TaskNum)
+        public Dt_Task QueryRGVExecutingTask(string deviceNo)
         {
-            return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish && x.TaskNum == TaskNum && x.RGVName == deviceNo);
+            return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish|| x.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS|| x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish) && x.RGVName == deviceNo);
+        }
+
+        /// <summary>
+        /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨRGV鏈墽琛岀殑浠诲姟
+        /// </summary>
+        /// <param name="deviceNo">璁惧缂栧彿</param>
+        /// <param name="currentAddress">褰撳墠鍦板潃</param>
+        /// <returns></returns>
+        public Dt_Task QueryRGVExecutingTask(string deviceNo,int taskNum)
+        {
+            return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish && x.RGVName == deviceNo&&x.TaskNum==taskNum);
         }
 
         /// <summary>
@@ -664,9 +687,11 @@
                     if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
                     {
                         Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationChildCode == task.NextAddress);
+                        Dt_StationManager stationManagerend = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.TargetAddress);
                         task.CurrentAddress = task.NextAddress;
                         task.NextAddress = task.TargetAddress;
                         task.SourceStation = stationManager.stationRemark;
+                        task.TargetStation = stationManagerend.remark;
                     }
 
                     if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
@@ -739,6 +764,11 @@
 
                 if (task.TaskState == (int)TaskInStatusEnum.RGV_Indispatch)
                 {
+                    task.TaskState = (int)TaskInStatusEnum.RGV_InAwaitWMS;
+                    task.PalletCode = Barcode;
+                    task.ModifyDate = DateTime.Now;
+                    BaseDal.UpdateData(task);
+
                     var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                     var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
                     var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
@@ -756,13 +786,8 @@
                     var wmsIpAddress = wmsBase + requestTask;
                     var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
 
-                    //if (result != null)
-                    //{
-                    task.TaskState = (int)TaskInStatusEnum.RGV_InAwaitWMS;
-                        task.PalletCode = Barcode;
-                        task.ModifyDate = DateTime.Now;
-                        BaseDal.UpdateData(task);
-                    //}
+
+                    
 
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV璋冨害瀹屾垚绛夊緟WMS浠诲姟");
                 }
@@ -897,6 +922,25 @@
                     BaseDal.DeleteData(task);
                     _taskHtyRepository.AddData(task_Hty);
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
+
+                    var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+                    var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+                    var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+                    WMSTaskDTO taskDTO = new WMSTaskDTO()
+                    {
+                        TaskId = task.WMSTaskNum,
+                        TPbarcode = task.PalletCode,
+                        WhCode = "1001",
+                        BeginPoint = task.SourceAddress,
+                        EndPoint = task.TargetAddress,
+                        Results = "1"
+                    };
+                    if (wmsBase == null || requestTask == null)
+                    {
+                        throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                    }
+                    var wmsIpAddress = wmsBase + requestTask;
+                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                 {
@@ -911,6 +955,25 @@
                     BaseDal.DeleteData(task);
                     _taskHtyRepository.AddData(task_Hty);
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ搴撳畬鎴�");
+
+                    var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+                    var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+                    var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+                    WMSTaskDTO taskDTO = new WMSTaskDTO()
+                    {
+                        TaskId = task.WMSTaskNum,
+                        TPbarcode = task.PalletCode,
+                        WhCode = "1001",
+                        BeginPoint = task.SourceAddress,
+                        EndPoint = task.TargetAddress,
+                        Results = "1"
+                    };
+                    if (wmsBase == null || requestTask == null)
+                    {
+                        throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                    }
+                    var wmsIpAddress = wmsBase + requestTask;
+                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
                 {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index f7f1cac..4c64d14 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -107,8 +107,8 @@
             try
             {
                 ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
-                var Barcodea = conveyorLine.Communicator.Read("DB1103.2",5);
-                string x=Encoding.UTF8.GetString(Barcodea);
+                //var x = conveyorLine.Communicator.Read("DB1103.2",5);
+                //string Barcode = Encoding.UTF8.GetString(x);
                 if (command != null)
                 {
                     #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
index 860137f..11a1b0c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
@@ -84,7 +84,8 @@
                 Creater = "System",
                 Floor = stationManager.stationFloor,
                 RGVName = RGVName,
-                SourceStation= stationManager.remark,
+                SourceStation = stationManager.remark,
+                TargetStation = 0,
             };
 
             _taskRepository.AddData(task);
@@ -94,7 +95,7 @@
             if (stationManager.stationChildCode == "3002")
             {
                 DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
-                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5);
+                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress,10);
 
                 string Barcode = Encoding.UTF8.GetString(x);
 
@@ -142,7 +143,7 @@
             else
             {
                 DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationNextChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
-                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5);
+                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10);
 
                 string Barcode = Encoding.UTF8.GetString(x);
                 if (Barcode == "")
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
index a17c0ed..73bf77f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
@@ -19,8 +19,10 @@
 using HslCommunication;
 using Microsoft.Extensions.Logging;
 using Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
 using Quartz;
 using SixLabors.ImageSharp.Drawing;
+using SqlSugar;
 using System.Diagnostics.CodeAnalysis;
 using System.Reflection;
 using System.Text;
@@ -59,12 +61,12 @@
         private readonly IDt_StationManagerService _stationManagerService;
         private readonly IDt_StationManagerRepository _stationManagerRepository;
         private readonly IMapper _mapper;
-        private readonly ICacheService _cacheService;
+        private readonly WIDESEAWCS_Core.Caches.ICacheService _cacheService;
         private readonly INoticeService _noticeService;
         private static List<string>? userTokenIds;
         private static List<int>? userIds;
 
-        public CommonRGV_FirstFloorJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository)
+        public CommonRGV_FirstFloorJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, WIDESEAWCS_Core.Caches.ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -105,14 +107,17 @@
                             var IsExecutingTask = DispatchExecutingTask(FirstRgv, task);
                             if (IsExecutingTask != null)
                             {
-                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(task);
+                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(IsExecutingTask);
                                 if (rgvTaskCommand != null)
                                 {
                                     Thread.Sleep(1000);
                                     bool sendFlag = SendCommand(FirstRgv, rgvTaskCommand);
                                     if (sendFlag)
                                     {
-                                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                                        IsExecutingTask.RGVName = FirstRgv.DeviceCode;
+                                        _taskRepository.UpdateData(IsExecutingTask);
+                                        _taskService.UpdateTaskStatusToNext(IsExecutingTask.TaskNum);
+                                        Thread.Sleep(1000);
                                     }
                                 }
                             }
@@ -129,7 +134,10 @@
                                     bool sendFlag = SendCommand(FirstRgv, rgvTaskCommand);
                                     if (sendFlag)
                                     {
+                                        taskNew.RGVName = FirstRgv.DeviceCode;
+                                        _taskRepository.UpdateData(taskNew);
                                         _taskService.UpdateTaskStatusToNext(taskNew.TaskNum);
+                                        Thread.Sleep(1000);
                                     }
                                 }
                             }
@@ -197,14 +205,20 @@
                         if (task != null)
                         {
                             var IsExecutingTask = DispatchExecutingTask(SecondRgv, task);
-                            RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(task);
-                            if (rgvTaskCommand != null)
+                            if (IsExecutingTask != null)
                             {
-                                Thread.Sleep(1000);
-                                bool sendFlag = SendCommand(SecondRgv, rgvTaskCommand);
-                                if (sendFlag)
+                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(IsExecutingTask);
+                                if (rgvTaskCommand != null)
                                 {
-                                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                                    Thread.Sleep(1000);
+                                    bool sendFlag = SendCommand(SecondRgv, rgvTaskCommand);
+                                    if (sendFlag)
+                                    {
+                                        IsExecutingTask.RGVName = SecondRgv.DeviceCode;
+                                        _taskRepository.UpdateData(IsExecutingTask);
+                                        _taskService.UpdateTaskStatusToNext(IsExecutingTask.TaskNum);
+                                        Thread.Sleep(1000);
+                                    }
                                 }
                             }
                         }
@@ -220,7 +234,10 @@
                                     bool sendFlag = SendCommand(SecondRgv, rgvTaskCommand);
                                     if (sendFlag)
                                     {
+                                        taskNew.RGVName = SecondRgv.DeviceCode;
+                                        _taskRepository.UpdateData(taskNew);
                                         _taskService.UpdateTaskStatusToNext(taskNew.TaskNum);
+                                        Thread.Sleep(1000);
                                     }
                                 }
                             }
@@ -291,22 +308,7 @@
                     CommonRGV_FirstFloor? commonRGVSecond = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV02") as CommonRGV_FirstFloor;
                     if (commonRGVSecond != null)
                     {
-                        if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(15),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVSecond, command);
-                            }
-                            LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(task)}銆戙��");
-                            return task;
-                        }
-                        else if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
                             var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                             if (taskSecond != null)
@@ -315,7 +317,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation > taskSecond.SourceStation && task.TargetStation > taskSecond.TargetStation)
+                                        if (task.TargetStation- taskSecond.SourceStation > 1 && task.TargetStation - taskSecond.TargetStation > 1)
                                         {
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
                                             return task;
@@ -326,7 +328,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation > taskSecond.TargetStation)
+                                        if (task.TargetStation - taskSecond.TargetStation > 1)
                                         {
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
                                             return task;
@@ -337,7 +339,7 @@
                             }
                             else
                             {
-                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 35000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
@@ -359,22 +361,8 @@
                     CommonRGV_FirstFloor? commonRGVFirst = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV01") as CommonRGV_FirstFloor;
                     if (commonRGVFirst != null)
                     {
-                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(26),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVFirst, command);
-                            }
-                            LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(task)}銆戙��");
-                            return task;
-                        }
-                        else if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        
+                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
                             var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV01" && x.TaskNum == commonRGVFirst.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                             if (taskSecond != null)
@@ -384,7 +372,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation < taskSecond.SourceStation && task.TargetStation < taskSecond.TargetStation)
+                                        if (taskSecond.SourceStation - task.TargetStation > 1 && taskSecond.TargetStation - task.TargetStation > 1)
                                         {
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
                                             return task;
@@ -395,7 +383,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation < taskSecond.TargetStation)
+                                        if (taskSecond.TargetStation-task.TargetStation >1 )
                                         {
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
                                             return task;
@@ -406,7 +394,7 @@
                             }
                             else
                             {
-                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) < 420000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
@@ -446,37 +434,16 @@
                     CommonRGV_FirstFloor? commonRGVSecond = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV02") as CommonRGV_FirstFloor;
                     if (commonRGVSecond != null)
                     {
-                        if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(15),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVSecond, command);
-                            }
-                            if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
-                            {
-                                LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01"))}銆戙��");
-                                return tasks.FirstOrDefault(x => x.RGVName == "RGV01");
-                            }
-                            else
-                            {
-                                LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02"))}銆戙��");
-                                return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
-                            }
-                        }
-                        else if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
                             var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                             if (taskSecond != null)
                             {
                                 if (taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_Outdispatch || taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_Indispatch || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation > taskSecond.TargetStation && x.TargetStation > taskSecond.SourceStation && x.SourceStation > taskSecond.SourceStation && x.TargetStation > taskSecond.TargetStation);
+                                    //task = tasks.FirstOrDefault(x =>x.SourceStation- taskSecond.TargetStation > 1  && x.TargetStation - taskSecond.SourceStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TargetStation - taskSecond.TargetStation> 1);
+
+                                    task = tasks.FirstOrDefault(x =>(x.SourceStation- taskSecond.TargetStation > 1 && x.SourceStation - taskSecond.SourceStation > 1&&x.TaskType==(int)TaskInboundTypeEnum.Inbound) ||(x.SourceStation - taskSecond.TargetStation > 1 && x.TargetStation - taskSecond.SourceStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TargetStation - taskSecond.TargetStation > 1&&x.TaskType== (int)TaskOutboundTypeEnum.Outbound));
 
 
                                     LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
@@ -486,7 +453,7 @@
                                 }
                                 else if (taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_OutExecuting || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_InExecuting)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation > taskSecond.TargetStation && x.TargetStation > taskSecond.TargetStation);
+                                    task = tasks.FirstOrDefault(x => x.SourceStation - taskSecond.TargetStation> 1 &&x.TargetStation - taskSecond.TargetStation > 1);
 
                                     LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
 
@@ -496,7 +463,7 @@
                             }
                             else
                             {
-                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 35000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
@@ -551,39 +518,16 @@
                     CommonRGV_FirstFloor? commonRGVFirst = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV01") as CommonRGV_FirstFloor;
                     if (commonRGVFirst != null)
                     {
-                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(26),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVFirst, command);
-                            }
-                            if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null)
-                            {
-                                LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02"))}銆戙��");
-
-                                return tasks.FirstOrDefault(x => x.RGVName == "RGV02");
-                            }
-                            else
-                            {
-                                LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01"))}銆戙��");
-
-                                return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
-                            }
-                        }
-                        else if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
                             var taskFirst = _taskRepository.QueryFirst(x => x.RGVName == "RGV01" && x.TaskNum == commonRGVFirst.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                             if (taskFirst != null)
                             {
                                 if (taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_Outdispatch || taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_Indispatch || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation < taskFirst.TargetStation && x.TargetStation < taskFirst.SourceStation && x.SourceStation < taskFirst.SourceStation && x.TargetStation < taskFirst.TargetStation);
+                                    //task = tasks.FirstOrDefault(x =>taskFirst.TargetStation - x.SourceStation > 1 && taskFirst.SourceStation - x.TargetStation > 1 && taskFirst.SourceStation - x.SourceStation > 1 && taskFirst.TargetStation - x.TargetStation > 1);
+
+                                    task = tasks.FirstOrDefault(x => (x.SourceStation - taskFirst.TargetStation > 1 && x.SourceStation - taskFirst.SourceStation > 1 && x.TaskType == (int)TaskInboundTypeEnum.Inbound) || (x.SourceStation - taskFirst.TargetStation > 1 && x.TargetStation - taskFirst.SourceStation > 1 && x.SourceStation - taskFirst.SourceStation > 1 && x.TargetStation - taskFirst.TargetStation > 1 && x.TaskType == (int)TaskOutboundTypeEnum.Outbound));
 
                                     LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskFirst)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
 
@@ -591,7 +535,7 @@
                                 }
                                 else if (taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_OutExecuting || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_InExecuting)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation < taskFirst.TargetStation && x.TargetStation < taskFirst.TargetStation);
+                                    task = tasks.FirstOrDefault(x => taskFirst.TargetStation - x.SourceStation > 1 && taskFirst.TargetStation - x.TargetStation > 1);
 
                                     LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskFirst)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
 
@@ -601,11 +545,11 @@
                             }
                             else
                             {
-                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) < 420000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
-                                        PickupLocation = (byte)Convert.ToSByte(15),
+                                        PickupLocation = (byte)Convert.ToSByte(26),
                                         TaskNum = Convert.ToInt16(1000),
                                         TaskType = (byte)Convert.ToSByte(1)
                                     };
@@ -703,7 +647,9 @@
                                 CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
                                 Thread.Sleep(100);
                                 DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
-                                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5);
+
+                                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 7);
+
                                 string Barcode = Encoding.UTF8.GetString(x);
 
                                 if (Barcode == null || Barcode == "")
@@ -755,47 +701,9 @@
         {
             if (InStock)
             {
-                return _taskService.QueryRGVExecutingTask(commonRGV.DeviceCode, commonRGV.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
+                return _taskService.QueryRGVExecutingTask(commonRGV.DeviceCode);
             }
             return null;
-
-            #region
-            //if (commonRGV.LastTaskType == null)
-            //{
-            //    task = _taskService.QueryRGVTask(commonRGV.DeviceCode);
-            //}
-            //else
-            //{
-            //    if (commonRGV.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            //    {
-            //        task = _taskService.QueryRGVInTask(commonRGV.DeviceCode);
-            //        if (task == null)
-            //        {
-            //            task = _taskService.QueryRGVOutTask(commonRGV.DeviceCode);
-            //        }
-            //    }
-            //    else
-            //    {
-            //        task = _taskService.QueryRGVOutTask(commonRGV.DeviceCode);
-            //    }
-            //}
-
-            //if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            //{
-            //    if (task == null)
-            //    {
-            //        task = _taskService.QueryRGVInTask(commonRGV.DeviceCode);
-            //    }
-            //    else
-            //    {
-            //        return task;
-            //    }
-            //}
-            //else if (task == null)
-            //{
-            //    task = _taskService.QueryRGVInTask(commonRGV.DeviceCode);
-            //}
-            #endregion
         }
 
         /// <summary>
@@ -827,7 +735,6 @@
                 }
                 else
                 {
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
                     return null;
                 }
             }
@@ -848,7 +755,6 @@
                 }
                 else
                 {
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
                     return null;
                 }
             }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 02e6b6f..4045cd2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -394,7 +394,7 @@
                     string[] sourceCodes = stationManager.stationLocation.Split("-");
                     if (sourceCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                         stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                         stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                     }
@@ -408,7 +408,7 @@
                     string[] targetCodes = task.TargetAddress.Split("-");
                     if (targetCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                         stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                         stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                     }
@@ -434,7 +434,7 @@
                     string[] sourceCodes = task.CurrentAddress.Split("-");
                     if (sourceCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                         stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                         stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                     }
@@ -447,7 +447,7 @@
                     string[] targetCodes = stationManager.stationLocation.Split("-");
                     if (targetCodes.Length == 3)
                     {
-                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                         stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                         stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                     }
@@ -470,7 +470,7 @@
                 string[] sourceCodes = task.SourceAddress.Split("-");
                 if (sourceCodes.Length == 3)
                 {
-                    stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(Convert.ToInt16(sourceCodes[0]) % 2 != 0 ? (short)1 : (short)2);
+                    stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                     stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                     stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                 }
@@ -483,7 +483,7 @@
                 string[] targetCodes = task.TargetAddress.Split("-");
                 if (targetCodes.Length == 3)
                 {
-                    stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2);
+                    stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                     stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                     stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                 }
@@ -496,5 +496,29 @@
             }
             return stackerCraneTaskCommand;
         }
+
+        public int GetRowCode(int number)
+        {
+            if (number == 1 || number == 15 || number == 11 || number == 19)
+            {
+                return 1;
+            }
+            else if (number == 2 || number == 5 || number == 8 || number == 12 || number == 16 || number == 20)
+            {
+                return 2;
+            }
+            else if (number == 3 || number == 6 || number == 9 || number == 13 || number == 17 || number == 21)
+            {
+                return 3;
+            }
+            else if (number == 4 || number == 7 || number == 10 || number == 14 || number == 18 || number == 22)
+            {
+                return 4;
+            }
+            else
+            {
+                throw new ArgumentOutOfRangeException(nameof(number), "杈撳叆鐨勬暟瀛楀繀椤诲湪1-16鑼冨洿鍐�");
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3