From 5ce21dbcd0849adc3afcf28fffc8933ce717c380 Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期二, 28 四月 2026 11:42:32 +0800
Subject: [PATCH] 物料绑定组盘,下发AGV任务

---
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs                   |   16 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfoService.cs              |   22 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_ContainerInfoRepository.cs         |   19 
 项目代码/WIDESEA_WCSClient/src/router/viewGird.js                                               |    4 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_MaterialInfoController.cs |   21 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back1_Job.cs        |  110 +++
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_DTO/PDA/ContainerbindingDTO.cs                            |    4 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_MaterialInfoRepository.cs        |   15 
 项目代码/WIDESEA_WCSClient/src/views/basicinfo/materialInfo.vue                                 |  193 ++++++
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/Baseconversion.cs                   |   41 +
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_MaterialInfoRepository.cs          |   19 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_ContainerInfoRepository.cs       |   15 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGV任务下发/2026-04-28/任务下发接口260428.txt            |   20 
 项目代码/WIDESEA_WCSClient/src/extension/basicinfo/extend/materialInfos.vue                     |   96 +++
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_DTO/AGV/AgvStatusUpdateDTO.cs                             |    4 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo.cs                 |   16 
 项目代码/WIDESEA_WCSClient/src/extension/basicinfo/materialInfo.js                              |   87 ++
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo_Hty.cs             |   12 
 项目代码/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.json                        |  413 ------------
 项目代码/PDA/pages/Inbound/Inbound.vue                                                          |   54 +
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs                          |    4 
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs                                 |  107 +-
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfoService.cs                |   76 ++
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_ContainerInfo.cs                |   16 
 项目代码/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.backup.json                 |  417 ------------
 25 files changed, 928 insertions(+), 873 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inbound/Inbound.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inbound/Inbound.vue"
index cdc3d28..6dc3f8e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inbound/Inbound.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inbound/Inbound.vue"
@@ -60,12 +60,16 @@
 			</view> -->
 			<view style="padding: 5%;">
 				<uni-forms label-width="120">
+					<uni-forms-item label="闆朵欢缂栧彿:">
+						<uni-easyinput type="text" placeholder="璇锋壂鎻忛浂浠跺彿" ref='midInput' :focus="focus" v-model="materSn" @blur="inputChangebarcode" />
+					</uni-forms-item>
 					<uni-forms-item label="杞藉叿缂栧彿">
-						<uni-easyinput type="text" :focus="barcodefocus" @input="inputChangebarcode"
+						<uni-easyinput type="text" :focus="barcodefocus1" 
 							v-model="VehicleNumber" placeholder="璇疯緭鍏ヨ浇鍏风紪鍙�" ref='midInput' />
 					</uni-forms-item>
-					<uni-forms-item label="闆朵欢缂栧彿:">
-						<uni-easyinput type="text" placeholder="璇锋壂鎻忛浂浠跺彿" ref='midInput' :focus="focus" v-model="materSn" />
+					<uni-forms-item label="杞﹀瀷淇℃伅">
+						<uni-easyinput type="text"
+							v-model="Carmodel" placeholder="鑷姩鑾峰彇杞﹀瀷(闄ゅ紑鎵嬪姩杈撳叆闆朵欢鍙�)" ref='midInput' />
 					</uni-forms-item>
 					<uni-forms-item label="褰撳墠浣嶇疆:">
 						<uni-easyinput type="text" placeholder="璇疯緭鍏ュ鏂欑偣浣�" ref='midInput' :focus="focus2" v-model="Position"/>
@@ -103,6 +107,7 @@
 				istrue: false,
 				addressFocus:false,
 				barcodefocus: false,
+				barcodefocus1:false,
 				range: [],
 				rangethree:[],
 				group: [{
@@ -125,6 +130,7 @@
 				items: ['鐗╂枡缁戝畾', '鐗╂枡瑙g粦'],
 				current: 0,
 				Position: '', //瀹瑰櫒鎵�鍦ㄤ綅缃�
+				Carmodel:'', // 杞﹀瀷
 			}
 		},
 		onLoad(res) {
@@ -214,7 +220,10 @@
 				// 	})
 				// 	return;
 				// }
-				if (this.VehicleNumber.length <= 0 || this.materSn.length <= 0 || this.Position.length <= 0) {
+				if (this.VehicleNumber.length <= 0 
+				|| this.materSn.length <= 0 
+				|| this.Position.length <= 0 
+				|| this.Carmodel.length <= 0) {
 					this.$refs.luToast.show({
 						title: "鏁版嵁杈撳叆涓嶅畬鏁�!",
 						type: "error"
@@ -225,7 +234,8 @@
 				var param = {
 					"VehicleNumber": this.VehicleNumber,
 					"materSn":this.materSn,
-					"Position": this.Position
+					"Position": this.Position,
+					"Carmodel":this.Carmodel
 				}
 				console.log(param)
 				
@@ -235,9 +245,7 @@
 							title: res.message,
 							type: "success"
 						})
-						this.PalletCode2 = "";
-						this.group = [];
-						this.barcodefocus = false;
+						this.Init();
 					} else {
 						this.$refs.luToast.show({
 							title: res.message,
@@ -246,7 +254,12 @@
 					}
 				})
 			},
-
+			Init(){
+				this.VehicleNumber = '';
+				this.materSn = '';
+				this.Position = '';
+				this.Carmodel = '';
+			},
 			SolvePlate() {
 				if (this.PalletCode3.length <= 0) {
 					this.$refs.luToast.show({
@@ -276,9 +289,9 @@
 			},
 			updateFocus() {
 				this.$nextTick(() => {
-					this.materSn = '';
-					if (!this.focus) {
-						this.focus = true;
+					this.VehicleNumber = '';
+					if (!this.barcodefocus1) {
+						this.barcodefocus1 = true;
 					}
 				});
 			},
@@ -327,6 +340,21 @@
 				})
 			},
 			inputChangebarcode() {
+				var materSns = this.materSn;
+				console.log(materSns)
+				this.barcodefocus1 = true;
+				if(materSns.indexOf(',') === -1){
+					return;
+				}
+				
+				// 1. 澶勭悊闆朵欢鍙凤紝鍙栨渶鍚庝竴娈�
+				this.materSn = materSns.split(',').pop();
+				// // 2. 澶勭悊杞﹀瀷锛屽彇绗竴娈�
+				this.Carmodel = materSns.split(',')[0];
+
+				// 3. 鍏抽敭锛氳繑鍥炲鐞嗗悗鐨勫�硷紝uni-easyinput浼氳嚜鍔ㄦ洿鏂皏-model鍜岀晫闈�
+				console.log('澶勭悊鍚庣殑闆朵欢鍙�:', this.materSn);
+				
 				// this.$nextTick(() => {
 				// 	this.$u.post('/api/BoxingInfo/GetPalletCodeInfo?palletCode=' + this.PalletCode2, "").then(
 				// 		res => {
@@ -340,7 +368,7 @@
 				// 			}
 				// 		})
 				// })
-				setTimeout(this.updateFocus, 200);
+				
 			},
 			removeScanItem(orderNo) {
 				this.group = this.group.filter(item => item.orderNo !== orderNo);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/extension/basicinfo/extend/materialInfos.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/extension/basicinfo/extend/materialInfos.vue"
new file mode 100644
index 0000000..7ad2ff8
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/extension/basicinfo/extend/materialInfos.vue"
@@ -0,0 +1,96 @@
+<template>
+  <div>
+    <vol-box
+      v-model="showDetialBox"
+      :lazy="true"
+      width="1200px"
+      :padding="15"
+      title="瀹屾暣璺敱鏌ョ湅"
+    >
+      <div
+        style="margin-bottom: 1%"
+        v-for="(item, index) in routerDatas"
+        :key="index"
+      >
+        <el-row>
+          <el-col>
+            <div
+              class="grid-content right-text"
+              style="font-weight: bold; font-size: 18px"
+            >
+              <span>{{ item.type == "Out" ? "鍑哄簱璺敱" : "鍏ュ簱璺敱" }}</span>
+            </div>
+          </el-col>
+        </el-row>
+        <el-steps :active="item.routes.length" align-center simple>
+          <el-step
+            v-for="itemRouter in item.routes"
+            :key="itemRouter"
+            :title="itemRouter"
+            icon=""
+          ></el-step>
+        </el-steps>
+      </div>
+    </vol-box>
+  </div>
+</template>
+  
+  <script>
+import VolBox from "@/components/basic/VolBox.vue";
+export default {
+  components: { VolBox },
+  data() {
+    return {
+      active: 0,
+      showDetialBox: false,
+      routerDatas: [],
+    };
+  },
+  methods: {
+    open() {
+      this.showDetialBox = true;
+      this.getData();
+    },
+    getData() {
+      this.http.post("/api/Router/GetAllWholeRouters", {}, true).then((x) => {
+        if (!x.status) return this.$message.error(x.message);
+        this.routerDatas = x.data;
+      });
+    },
+  },
+  created() {},
+};
+</script>
+  
+  <style scoped>
+.el-col {
+  border-radius: 4px;
+}
+.grid-content {
+  border-radius: 4px;
+  min-height: 36px;
+}
+.content-text {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.left-text {
+  display: flex;
+  align-items: center;
+  justify-content: flex-start;
+}
+</style>
+  <style>
+.el-table .warning-row {
+  background: #fcf1e2;
+}
+
+.el-table .success-row {
+  background: #f0f9eb;
+}
+
+.el-table .error-row {
+  background: #fde2e2;
+}
+</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/extension/basicinfo/materialInfo.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/extension/basicinfo/materialInfo.js"
new file mode 100644
index 0000000..43b11cb
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/extension/basicinfo/materialInfo.js"
@@ -0,0 +1,87 @@
+import gridBody from './extend/materialInfos.vue';
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: "",
+    gridBody: gridBody,
+    gridFooter: "",
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: "",
+    modelBody: "",
+    modelFooter: "",
+  },
+  tableAction: "", //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {
+      // console.log(this.detailOptions.buttons);
+      // console.log(this.$refs.detail)
+      var detailImport = this.detailOptions.buttons.find(
+        (item) => item.value == "import"
+      );
+      if (detailImport) {
+        detailImport.onClick = function () {
+          this.$refs.gridBody.open();
+        };
+      }
+      // this.buttons.unshift({
+      //   //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+      //   name: "寮�鍚湇鍔�", //鎸夐挳鍚嶇О
+      //   icon: "el-icon-document", //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+      //   type: "primary", //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+      //   onClick: function () {
+      //     this.$Message.success("寮�鍚湇鍔�");
+      //   },
+      // });
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      // this.detailOptions.columns.forEach(column=>{ });
+      // console.log(this)
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    },
+    updated() {
+      //console.log(this.$refs)
+      this.$nextTick(() => {
+        if (this.$refs.upload_excel) {
+          alert("鐐瑰嚮浜嗕笂浼犳寜閽�");
+          this.$refs.upload_excel.upload = function () {
+            console.log("鐐瑰嚮浜嗕笂浼犳寜閽�");
+          };
+        }
+        // alert(1)
+      });
+    },
+  },
+};
+export default extension;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/router/viewGird.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/router/viewGird.js"
index a524d98..0188f81 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/router/viewGird.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/router/viewGird.js"
@@ -62,6 +62,10 @@
     path: '/router',
     name: 'router',
     component: () => import('@/views/basicinfo/router.vue')
+  },{
+    path: '/materialInfo',
+    name: 'Dt_MaterialInfo',
+    component: () => import('@/views/basicinfo/materialInfo.vue')
   }
 ]
 
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/views/basicinfo/materialInfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/views/basicinfo/materialInfo.vue"
new file mode 100644
index 0000000..38e8eee
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSClient/src/views/basicinfo/materialInfo.vue"
@@ -0,0 +1,193 @@
+
+<template>
+  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+    :table="table" :extend="extend">
+  </view-grid>
+</template>
+<script>
+import extend from "@/extension/basicinfo/materialInfo.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "鐗╂枡缁戝畾绠$悊",
+      name: "Dt_MaterialInfo",
+      url: "/materialInfo/",
+      sortName: "CreateDate",
+    });
+    const editFormFields = ref({
+      taskNum: "",
+      palletCode: "",
+      roadway: "",
+      taskType: "",
+      taskState: "",
+      wMSId: "",
+      sourceAddress: "",
+      targetAddress: "",
+      currentAddress: "",
+      nextAddress: "",
+      creater: "",
+      createDate: "",
+      grade: "",
+    });
+    const editFormOptions = ref([[{ title: "浼樺厛绾�", field: "grade", type: "int" },]]);
+    const searchFormFields = ref({
+      taskNum: "",
+      palletCode: "",
+      roadway: "",
+      sourceAddress: "",
+      targetAddress: "",
+      currentAddress: "",
+      nextAddress: "",
+      creater: "",
+      createDate: "",
+    });
+    const searchFormOptions = ref([
+      [
+        { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
+        { title: "鎵樼洏缂栧彿", field: "palletCode", type: "text" },
+        {
+          title: "浠诲姟绫诲瀷",
+          field: "taskType",
+          type: "selectList",
+          dataKey: "taskType",
+          data: [],
+        },
+        {
+          title: "浠诲姟鐘舵��",
+          field: "taskState",
+          type: "selectList",
+          dataKey: "taskState",
+          data: [],
+        },
+      ],
+      [
+        { title: "璧峰鍦板潃", field: "sourceAddress", type: "text" },
+        { title: "鐩爣鍦板潃", field: "targetAddress", type: "text" },
+        { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "text" },
+        { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "text" },
+      ],
+      [
+        { title: "宸烽亾鍙�", field: "roadway", type: "text" },
+        { title: "鍒涘缓浜�", field: "creater", type: "text" },
+        { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
+      ],
+    ]);
+    const columns = ref([
+      {
+        field: "id",
+        title: "id",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "ContainerCode",
+        title: "瀹瑰櫒缂栧彿",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      
+      {
+        field: "Position",
+        title: "瀹瑰櫒褰撳墠浣嶇疆",
+        type: "string",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "EndPosition",
+        title: "瀹瑰櫒鍑哄満浣嶇疆",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "IsNew",
+        title: "鏄惁灞炰簬鏂板瀹瑰櫒",
+        type: "int",
+        width: 120,
+        align: "left",
+        bind: { key: "taskType", data: [] },
+      },
+      {
+        field: "IsBind",
+        title: "鏄惁缁戝畾",
+        type: "int",
+        width: 150,
+        align: "left",
+        bind: { key: "taskState", data: [] },
+      },
+      {
+        field: "Carmodel",
+        title: "杞﹀瀷",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "remark",
+        title: "澶囨敞",
+        type: "string",
+        width: 100,
+        align: "left",
+        hidden: true,
+      },
+    ]);
+    const detail = ref({
+      cnName: "",
+      table: "",
+      columns: [],
+      sortName: "",
+      key: "",
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
+</script>
+  
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.backup.json"
index 06bb0f1..acb08d8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.backup.json"
@@ -7,96 +7,12 @@
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_communicator\\modbus\\modbustcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\modbus\\modbustcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\pda\\containerbindingdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\pda\\containerbindingdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_materialinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_materialinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_containerinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_containerinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_materialinfo_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_materialinfo_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\agv\\agvresponsecontent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\agv\\agvresponsecontent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\agv\\agvstatusupdatedto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\agv\\agvstatusupdatedto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\agv\\agvtasksenddto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\agv\\agvtasksenddto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_inventory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_inventory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_itaskinfoservice\\itaskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\task\\taskexecutedetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskexecutedetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -106,11 +22,37 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 1,
+          "SelectedChildIndex": 3,
           "Children": [
             {
               "$type": "Bookmark",
               "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "Dt_Task.cs",
+              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "ViewState": "AgIAADgAAAAAAAAAAAAgwF0AAAAjAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2026-04-28T02:21:47.364Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "CommonAGVJob.cs",
+              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
+              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
+              "ViewState": "AgIAAFMAAAAAAAAAAAAQwGgAAAA6AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2026-04-28T01:58:09.73Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
@@ -120,308 +62,9 @@
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
               "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
-              "ViewState": "AgIAABwAAAAAAAAAAAAYwC4AAAA0AAAAAAAAAA==",
+              "ViewState": "AgIAAEIAAAAAAAAAAAAgwFQAAABbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2026-04-22T02:42:49.651Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "TaskAcquisition_Back2_Job.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "ViewState": "AgIAABgAAAAAAAAAAAAAACEAAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T02:26:57.909Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "ModbusTcpCommunicator.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "RelativeToolTip": "WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "ViewState": "AgIAAGYBAAAAAAAAAAASwHsBAAAdAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-23T02:02:47.844Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "ContainerbindingDTO.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAswAsAAAAkAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T07:19:52.018Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "DeviceInfoService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ViewState": "AgIAADIAAAAAAAAAAAA6wEQAAAAMAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-23T03:10:13.71Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "Program.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Program.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Program.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
-              "ViewState": "AgIAADkAAAAAAAAAAADwv1AAAAA4AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-23T03:08:18.301Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "Dt_ContainerInfo.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "ViewState": "AgIAAE8AAAAAAAAAAAAkwBkAAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:54:47.438Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "Dt_MaterialInfo.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "ViewState": "AgIAACoAAAAAAAAAAAAowBwAAAA/AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:18:36.224Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "AGVController.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "ViewState": "AgIAACkAAAAAAAAAAAAlwDYAAAAPAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:50:37.27Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "CommonAGVJob.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "ViewState": "AgIAAC4AAAAAAAAAAAAmwEYAAAA6AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:26:07.202Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "Dt_MaterialInfo_Hty.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAhAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T01:32:42.302Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "AgvResponseContent.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "ViewState": "AgIAAAMAAAAAAAAAAADwvwoAAAAHAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T07:20:01.193Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "InvokeAGVService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "ViewState": "AgIAABkAAAAAAAAAAAAEwCwAAAAhAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:44:23.538Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "AgvStatusUpdateDTO.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAASwB0AAAAWAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:43:59.412Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAFEBAAAAAAAAAAApwHEBAAAeAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T09:00:16.674Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 15,
-              "Title": "ITaskService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ViewState": "AgIAAF8AAAAAAAAAAAAhwGsAAAAbAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:57:16.185Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 16,
-              "Title": "AgvTaskSendDTO.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "ViewState": "AgIAAJoAAAAAAAAAAAAMwFoAAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:14:39.689Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 17,
-              "Title": "TaskAcquisition_Front_Job.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "ViewState": "AgIAAA8AAAAAAAAAAADwvxsAAAAbAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T02:43:08.852Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 18,
-              "Title": "Dt_Inventory.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "ViewState": "AgIAADsAAAAAAAAAAAAAAEIAAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:32:41.14Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 19,
-              "Title": "TaskController.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:46:55.561Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 20,
-              "Title": "Dt_ApiInfo.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "ViewState": "AgIAAAkAAAAAAAAAAADwvxQAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:32:52.522Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 21,
-              "Title": "ITaskExecuteDetailService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAswB4AAAANAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T09:11:29.912Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "TaskExecuteDetailController.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "ViewState": "AgIAAAkAAAAAAAAAAADwvxcAAAAgAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:51:05.266Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 23,
-              "Title": "appsettings.json",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\appsettings.json",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\appsettings.json",
-              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAA8AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2026-04-20T02:10:58.594Z",
               "EditorCaption": ""
             }
           ]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.json"
index 51a97d8..a5accb6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.json"
@@ -3,100 +3,16 @@
   "WorkspaceRootPath": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_communicator\\modbus\\modbustcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\modbus\\modbustcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\pda\\containerbindingdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\pda\\containerbindingdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_materialinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_materialinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_containerinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_containerinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_materialinfo_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_materialinfo_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\agv\\agvresponsecontent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\agv\\agvresponsecontent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\agv\\agvstatusupdatedto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\agv\\agvstatusupdatedto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_dto\\agv\\agvtasksenddto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\agv\\agvtasksenddto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_inventory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_inventory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_itaskinfoservice\\itaskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\task\\taskexecutedetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskexecutedetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -106,7 +22,7 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 1,
+          "SelectedChildIndex": 2,
           "Children": [
             {
               "$type": "Bookmark",
@@ -114,314 +30,41 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "TaskAcquisition_Back1_Job.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
-              "ViewState": "AgIAAB8AAAAAAAAAAAAcwDsAAABIAAAAAAAAAA==",
+              "DocumentIndex": 2,
+              "Title": "Dt_Task.cs",
+              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
+              "ViewState": "AgIAADgAAAAAAAAAAAAgwF0AAAAjAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T02:42:49.651Z",
+              "WhenOpened": "2026-04-28T02:21:47.364Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "TaskAcquisition_Back2_Job.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
-              "ViewState": "AgIAABgAAAAAAAAAAAAAACEAAAAIAAAAAAAAAA==",
+              "DocumentIndex": 0,
+              "Title": "CommonAGVJob.cs",
+              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
+              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs*",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs*",
+              "ViewState": "AgIAAFEAAAAAAAAAAAAgwGMAAABGAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T02:26:57.909Z",
+              "WhenOpened": "2026-04-28T01:58:09.73Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 1,
-              "Title": "ModbusTcpCommunicator.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "RelativeToolTip": "WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs",
-              "ViewState": "AgIAAGYBAAAAAAAAAAASwHsBAAAdAAAAAAAAAA==",
+              "Title": "TaskAcquisition_Back1_Job.cs",
+              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
+              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
+              "ViewState": "AgIAAB0AAAAAAAAAAAAQwFQAAABbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-23T02:02:47.844Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "ContainerbindingDTO.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\PDA\\ContainerbindingDTO.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAswAsAAAAkAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T07:19:52.018Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "DeviceInfoService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
-              "ViewState": "AgIAADIAAAAAAAAAAAA6wEQAAAAMAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-23T03:10:13.71Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "Program.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Program.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Program.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
-              "ViewState": "AgIAADkAAAAAAAAAAADwv1AAAAA4AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-23T03:08:18.301Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "Dt_ContainerInfo.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerInfo.cs",
-              "ViewState": "AgIAAE8AAAAAAAAAAAAkwBkAAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:54:47.438Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "Dt_MaterialInfo.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo.cs",
-              "ViewState": "AgIAACoAAAAAAAAAAAAowBwAAAA/AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:18:36.224Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "AGVController.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
-              "ViewState": "AgIAACkAAAAAAAAAAAAlwDYAAAAPAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:50:37.27Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "CommonAGVJob.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "ViewState": "AgIAAC4AAAAAAAAAAAAmwEYAAAA6AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:26:07.202Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "Dt_MaterialInfo_Hty.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_MaterialInfo_Hty.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAhAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T01:32:42.302Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "AgvResponseContent.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\AGV\\AgvResponseContent.cs",
-              "ViewState": "AgIAAAMAAAAAAAAAAADwvwoAAAAHAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T07:20:01.193Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "InvokeAGVService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
-              "ViewState": "AgIAABkAAAAAAAAAAAAEwCwAAAAhAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:44:23.538Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "AgvStatusUpdateDTO.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\AGV\\AgvStatusUpdateDTO.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAASwB0AAAAWAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:43:59.412Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAFEBAAAAAAAAAAApwHEBAAAeAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T09:00:16.674Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 15,
-              "Title": "ITaskService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ViewState": "AgIAAF8AAAAAAAAAAAAhwGsAAAAbAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:57:16.185Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 16,
-              "Title": "AgvTaskSendDTO.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\AGV\\AgvTaskSendDTO.cs",
-              "ViewState": "AgIAAJoAAAAAAAAAAAAMwFoAAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:14:39.689Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 17,
-              "Title": "TaskAcquisition_Front_Job.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
-              "ViewState": "AgIAAA8AAAAAAAAAAADwvxsAAAAbAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-22T02:43:08.852Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 18,
-              "Title": "Dt_Inventory.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Inventory.cs",
-              "ViewState": "AgIAADsAAAAAAAAAAAAAAEIAAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:32:41.14Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 19,
-              "Title": "TaskController.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:46:55.561Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 20,
-              "Title": "Dt_ApiInfo.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
-              "ViewState": "AgIAAAkAAAAAAAAAAADwvxQAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T07:32:52.522Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 21,
-              "Title": "ITaskExecuteDetailService.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAswB4AAAANAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T09:11:29.912Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "TaskExecuteDetailController.cs",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskExecuteDetailController.cs",
-              "ViewState": "AgIAAAkAAAAAAAAAAADwvxcAAAAgAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-04-20T08:51:05.266Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 23,
-              "Title": "appsettings.json",
-              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\appsettings.json",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
-              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\appsettings.json",
-              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAA8AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2026-04-20T02:10:58.594Z",
+              "WhenOpened": "2026-04-22T02:42:49.651Z",
               "EditorCaption": ""
             }
           ]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_ContainerInfoRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_ContainerInfoRepository.cs"
new file mode 100644
index 0000000..c525565
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_ContainerInfoRepository.cs"
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_BasicInfoRepository
+{
+    public class Dt_ContainerInfoRepository : RepositoryBase<Dt_ContainerInfo>, IDt_ContainerInfoRepository
+    {
+        public Dt_ContainerInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+        {
+
+        }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_MaterialInfoRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_MaterialInfoRepository.cs"
new file mode 100644
index 0000000..10ecb64
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_MaterialInfoRepository.cs"
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_BasicInfoRepository
+{
+    public class Dt_MaterialInfoRepository : RepositoryBase<Dt_MaterialInfo>, IDt_MaterialInfoRepository
+    {
+        public Dt_MaterialInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+        {
+
+        }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfoService.cs"
new file mode 100644
index 0000000..5ea22b0
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfoService.cs"
@@ -0,0 +1,76 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_DTO.PDA;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_IBasicInfoService;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_BasicInfoService
+{
+    public class Dt_MaterialInfoService : ServiceBase<Dt_MaterialInfo, IDt_MaterialInfoRepository>, IDt_MaterialInfoService
+    {
+        private readonly IDt_ContainerInfoRepository _ContainerInfoRepository;
+        private readonly IUnitOfWorkManage _unitOfWorkManage;
+        public Dt_MaterialInfoService(IDt_MaterialInfoRepository BaseDal, IDt_ContainerInfoRepository dt_ContainerInfoRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+        {
+            _ContainerInfoRepository = dt_ContainerInfoRepository;
+            _unitOfWorkManage = unitOfWorkManage;
+        }
+        /// <summary>
+        /// 鏂板缁勭洏淇℃伅
+        /// </summary>
+        /// <param name="containerbindingDTO"></param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public async Task<WebResponseContent>  ContainerbindingAsync([FromBody] ContainerbindingDTO containerbindingDTO)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                _unitOfWorkManage.BeginTran();
+
+                Dt_MaterialInfo dt_MaterialInfo = await BaseDal.QueryFirstAsync(x => x.ContainerCode == containerbindingDTO.VehicleNumber);
+                if (dt_MaterialInfo != null) return content.Error("褰撳墠瀹瑰櫒宸茬粦瀹� 璇峰嬁閲嶅鎻愪氦");
+
+                dt_MaterialInfo = await BaseDal.QueryFirstAsync(x => x.MaterialName == containerbindingDTO.materSn);
+                if (dt_MaterialInfo != null) return content.Error("褰撳墠闆朵欢鍙峰凡瀛樺湪 璇峰嬁閲嶅鎻愪氦");
+
+                dt_MaterialInfo = new Dt_MaterialInfo();
+                dt_MaterialInfo.MaterialName = containerbindingDTO.materSn;
+                dt_MaterialInfo.ContainerCode = containerbindingDTO.VehicleNumber;
+                dt_MaterialInfo.Position = containerbindingDTO.Position;
+                dt_MaterialInfo.Carmodel = containerbindingDTO.Carmodel;
+                string s = App.User.UserName;
+                await BaseDal.AddDataAsync(dt_MaterialInfo);
+                // 2. 鎵ц涓�瀹氫細鎶ラ敊鐨勪唬鐮侊細闄や互闆�
+                //int a = 1;
+                //int b = 0;
+                //int result = a / b;  // 杩欓噷浼氭姏鍑� DivideByZeroException
+                Dt_ContainerInfo containerInfo = await _ContainerInfoRepository.QueryFirstAsync(x => x.ContainerCode == containerbindingDTO.VehicleNumber);
+                if (containerInfo == null)
+                {
+                    containerInfo = new Dt_ContainerInfo();
+                    containerInfo.RequestId = Guid.NewGuid().ToString().Replace("-", "");
+                    containerInfo.ContainerCode = containerbindingDTO.VehicleNumber;
+                    await _ContainerInfoRepository.AddDataAsync(containerInfo);
+                }
+                _unitOfWorkManage.CommitTran();
+                return content.OK();
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                content.Error(ex.Message);
+                throw;
+            }
+
+        }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/AGV/AgvStatusUpdateDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/AGV/AgvStatusUpdateDTO.cs"
index 06887ff..69ded5d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/AGV/AgvStatusUpdateDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/AGV/AgvStatusUpdateDTO.cs"
@@ -35,8 +35,8 @@
         /// <summary>
         ///浣滀笟褰撳墠鐘舵��<br/>
         ///寮�濮嬬Щ鍔細MOVE_BEGIN<br/>
-        ///鏂� 绠� 鍙� 鏂� 瀹� 鎴�:PICKER_RECEIVE<br/>
-        ///鏂� 绠� 涓� 鏂� 瀹� 鎴�:PICKER_SEND<br/>
+        ///璐ф灦 鍙� 鏂� 瀹� 鎴�:PICKER_RECEIVE<br/>
+        ///璐ф灦 涓� 鏂� 瀹� 鎴�:PICKER_SEND<br/>
         ///绛夊緟鏀捐锛歐AITFEEDBACK<br/>
         ///浠诲姟瀹屾垚锛欳OMPLETED<br/>
         ///浠诲姟鍙栨秷瀹屾垚锛欳ANCELED<br/>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/PDA/ContainerbindingDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/PDA/ContainerbindingDTO.cs"
index 38faace..3c6c03f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/PDA/ContainerbindingDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_DTO/PDA/ContainerbindingDTO.cs"
@@ -23,6 +23,10 @@
         /// 褰撳墠鐐逛綅
         /// </summary>
         public string Position {  get; set; }
+        /// <summary>
+        /// 杞﹀瀷
+        /// </summary>
+        public string Carmodel { get; set; }
     }
     /// <summary>
     /// 瀹瑰櫒瑙g粦DTO
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_ContainerInfoRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_ContainerInfoRepository.cs"
new file mode 100644
index 0000000..4d9fdb0
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_ContainerInfoRepository.cs"
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_IBasicInfoRepository
+{
+    public interface IDt_ContainerInfoRepository : IRepository<Dt_ContainerInfo>
+    {
+
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_MaterialInfoRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_MaterialInfoRepository.cs"
new file mode 100644
index 0000000..11c854a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_MaterialInfoRepository.cs"
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_IBasicInfoRepository
+{
+    public interface IDt_MaterialInfoRepository : IRepository<Dt_MaterialInfo>
+    {
+
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfoService.cs"
new file mode 100644
index 0000000..c47c255
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfoService.cs"
@@ -0,0 +1,22 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_DTO.PDA;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_IBasicInfoService
+{
+    public interface IDt_MaterialInfoService : IService<Dt_MaterialInfo>
+    {
+        /// <summary>
+        /// 鏂板缁勭洏淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        public Task<WebResponseContent> ContainerbindingAsync([FromBody] ContainerbindingDTO containerbindingDTO);
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_ContainerInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_ContainerInfo.cs"
index a683b9e..53b7d88 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_ContainerInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_ContainerInfo.cs"
@@ -26,14 +26,8 @@
         /// <summary>
         /// 瀹瑰櫒绫诲瀷
         /// </summary>
-        [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "瀹瑰櫒绫诲瀷",DefaultValue = "RACK")]
-        public string ContainerType { get; set; }
-
-        /// <summary>
-        /// 瀹瑰櫒妯″瀷缂栫爜
-        /// </summary>
-        //[SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "瀹瑰櫒妯″瀷缂栫爜")]
-        //public string ContainerModelCode { get; set; }
+        [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "瀹瑰櫒绫诲瀷", DefaultValue = "RACK")]
+        public string ContainerType { get; set; } = "RACK";
 
         /// <summary>
         /// 瀹瑰櫒缂栧彿
@@ -42,6 +36,12 @@
         public string ContainerCode { get; set; }
 
         /// <summary>
+        /// 瀹瑰櫒妯″瀷缂栫爜
+        /// </summary>
+        //[SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "瀹瑰櫒妯″瀷缂栫爜")]
+        //public string ContainerModelCode { get; set; }
+
+        /// <summary>
         /// 瀹瑰櫒鍏ュ満瑙掑害
         /// </summary>
         //[SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "瀹瑰櫒鍏ュ満瑙掑害")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo.cs"
index 7d0d0ac..211ab60 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo.cs"
@@ -18,7 +18,7 @@
         public int Id { get; set; }
 
         /// <summary>
-        /// 鐗╂枡鍚嶇О
+        /// 鐗╂枡鍚嶇О 闆朵欢鍙�
         /// </summary>
         [SugarColumn(Length = 100, ColumnDescription = "鐗╂枡鍚嶇О")]
         public string MaterialName { get; set; }
@@ -51,7 +51,19 @@
         /// 瀹瑰櫒鏄惁缁戝畾
         /// </summary>
         [SugarColumn(ColumnDescription = "瀹瑰櫒鏄惁缁戝畾", DefaultValue = "1")]
-        public bool IsBind { get; set; }
+        public bool IsBind { get; set; } = true;
+
+        /// <summary>
+        /// 杞﹀瀷
+        /// </summary>
+        [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "杞﹀瀷")]
+        public string Carmodel { get; set; }
+
+        /// <summary>
+        /// 鍖哄煙
+        /// </summary>
+        [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鍖哄煙")]
+        public string Region { get; set; }
 
         /// <summary>
         /// 澶囩敤瀛楁1
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo_Hty.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo_Hty.cs"
index 4ea449b..600a335 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo_Hty.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_MaterialInfo_Hty.cs"
@@ -42,6 +42,18 @@
         public string EndPosition { get; set; }
 
         /// <summary>
+        /// 杞﹀瀷
+        /// </summary>
+        [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "杞﹀瀷")]
+        public string Carmodel { get; set; }
+
+        /// <summary>
+        /// 鍖哄煙
+        /// </summary>
+        [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鍖哄煙")]
+        public string Region { get; set; }
+
+        /// <summary>
         /// 鏄惁鏂板澧炲鍣�
         /// </summary>
         [SugarColumn(ColumnDescription = "鏄惁灞炰簬鏂板瀹瑰櫒", DefaultValue = "0")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
index 1515679..ee6d5bd 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
@@ -43,10 +43,10 @@
         [ImporterHeader(Name = "浠诲姟鍙�")]
         [ExporterHeader(DisplayName = "浠诲姟鍙�")]
         [SugarColumn(IsNullable = true, ColumnDescription = "浠诲姟鍙�")]
-        public int TaskNum { get; set; }
+        public int TaskNum { get; set; } = 0;
 
         /// <summary>
-        /// 鎵樼洏缂栧彿
+        /// 鎵樼洏/瀹瑰櫒 缂栧彿
         /// </summary>
         [ImporterHeader(Name = "鎵樼洏缂栧彿")]
         [ExporterHeader(DisplayName = "鎵樼洏缂栧彿")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_MaterialInfoController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_MaterialInfoController.cs"
new file mode 100644
index 0000000..208b49b
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_MaterialInfoController.cs"
@@ -0,0 +1,21 @@
+锘縰sing Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using WIDESEAWCS_BasicInfoService;
+using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_IBasicInfoService;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_Server.Controllers.BasicInfo
+{
+    [Route("api/Dt_MaterialInfo")]
+    [ApiController]
+    public class Dt_MaterialInfoController : ApiBaseController<IDt_MaterialInfoService, Dt_MaterialInfo>
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        public Dt_MaterialInfoController(IDt_MaterialInfoService service, IHttpContextAccessor httpContextAccessor) : base(service)
+        {
+            _httpContextAccessor = httpContextAccessor;
+        }
+
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
index 54c50a4..c9a5f2d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
@@ -2,11 +2,14 @@
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_DTO.Agv;
 using WIDESEAWCS_DTO.PDA;
 using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_IBasicInfoService;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob.Repository;
 
 namespace WIDESEAWCS_Server.Controllers.PDA
@@ -19,20 +22,27 @@
         private readonly ITaskService _taskService;
         private readonly ITaskRepository _taskRepository;
         private readonly IRouterRepository _routerRepository;
+        private readonly IDt_MaterialInfoRepository _MaterialInfoRepository;
+        private readonly IDt_ContainerInfoRepository _ContainerInfoRepository;
+        private readonly IUnitOfWorkManage _unitOfWorkManage;
+        private readonly IDt_MaterialInfoService _IDt_MaterialInfoService;
 
-        public PDAController(IDt_StationManagerRepository stationMangerRepository, ITaskService taskService, ITaskRepository taskRepository, IRouterRepository routerRepository)
+
+        public PDAController(IDt_StationManagerRepository stationMangerRepository, ITaskService taskService, ITaskRepository taskRepository, IRouterRepository routerRepository, IDt_MaterialInfoRepository materialInfoRepository, IDt_ContainerInfoRepository containerInfoRepository, IDt_MaterialInfoService iDt_MaterialInfoService)
         {
             _stationMangerRepository = stationMangerRepository;
             _taskService = taskService;
             _taskRepository = taskRepository;
             _routerRepository = routerRepository;
+            _MaterialInfoRepository = materialInfoRepository;
+            _ContainerInfoRepository = containerInfoRepository;
+            _IDt_MaterialInfoService = iDt_MaterialInfoService;
         }
 
         [HttpPost, HttpGet, Route("ContainerbindingAsync"), AllowAnonymous]
         public async Task<WebResponseContent> ContainerbindingAsync([FromBody] ContainerbindingDTO  containerbindingDTO)
         {
-            WebResponseContent content = new WebResponseContent();
-            return content.OK();
+           return await _IDt_MaterialInfoService.ContainerbindingAsync(containerbindingDTO);
         }
 
     }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGV\344\273\273\345\212\241\344\270\213\345\217\221/2026-04-28/\344\273\273\345\212\241\344\270\213\345\217\221\346\216\245\345\217\243260428.txt" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGV\344\273\273\345\212\241\344\270\213\345\217\221/2026-04-28/\344\273\273\345\212\241\344\270\213\345\217\221\346\216\245\345\217\243260428.txt"
new file mode 100644
index 0000000..870a9f0
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGV\344\273\273\345\212\241\344\270\213\345\217\221/2026-04-28/\344\273\273\345\212\241\344\270\213\345\217\221\346\216\245\345\217\243260428.txt"
@@ -0,0 +1,20 @@
+2026/4/28 10:34:43.209
+娣诲姞浠诲姟
+"浠诲姟锛歔{\"TaskId\":2,\"TaskNum\":0,\"PalletCode\":\"8001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":null,\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-28T09:54:50.8\",\"Modifier\":null,\"ModifyDate\":null}]"
+-------------------------------
+
+2026/4/28 10:36:56.400
+娣诲姞浠诲姟
+"浠诲姟锛歔{\"TaskId\":2,\"TaskNum\":0,\"PalletCode\":\"8001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":null,\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-28T09:54:50.8\",\"Modifier\":null,\"ModifyDate\":null}]"
+-------------------------------
+
+2026/4/28 10:39:03.295
+娣诲姞浠诲姟
+"浠诲姟锛歔{\"TaskId\":2,\"TaskNum\":0,\"PalletCode\":\"8001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":\"鏈壘鍒颁换鍔″彿$2璧峰鐐�1001浣嶇疆淇℃伅\",\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-28T09:54:50.8\",\"Modifier\":\"System\",\"ModifyDate\":\"2026-04-28T10:37:13.597\"}]"
+-------------------------------
+
+2026/4/28 10:42:18.106
+娣诲姞浠诲姟
+"浠诲姟锛歔{\"TaskId\":2,\"TaskNum\":0,\"PalletCode\":\"8001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":\"鏈壘鍒颁换鍔″彿$2璧峰鐐�1001浣嶇疆淇℃伅\",\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-28T09:54:50.8\",\"Modifier\":\"System\",\"ModifyDate\":\"2026-04-28T10:37:13.597\"}]"
+-------------------------------
+
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs"
index 3e25b38..77c3686 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs"
@@ -9,6 +9,7 @@
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Linq;
+using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEA_Common.Log;
@@ -35,7 +36,7 @@
         private readonly ITaskService _taskService;
         private readonly ISys_ConfigService _sys_ConfigService;
         private readonly IDt_StationManagerRepository _stationManagerRepository;
-        public CommonAGVJob(ITaskRepository taskRepository,ITaskService taskService,ISys_ConfigService configService,IDt_StationManagerRepository stationManagerRepository) 
+        public CommonAGVJob(ITaskRepository taskRepository, ITaskService taskService, ISys_ConfigService configService, IDt_StationManagerRepository stationManagerRepository)
         {
             _taskRepository = taskRepository;
             _taskService = taskService;
@@ -45,76 +46,70 @@
 
         public Task Execute(IJobExecutionContext context)
         {
-            var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => (x.TaskState == TaskAGVCarryStatusEnum.AGV_CarryNew.ObjToInt())).ToList().OrderBy(x => x.Grade).ThenBy(x => x.TaskNum).ToList();
+            var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => (x.TaskState == (int)TaskAGVCarryStatusEnum.AGV_CarryNew)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.TaskNum).ToList();
             #region 浠诲姟涓嬪彂
             if (newTasks.Count > 0)
             {
                 WriteLog.Write_Log("AGV浠诲姟涓嬪彂", "浠诲姟涓嬪彂鎺ュ彛", "娣诲姞浠诲姟", $"浠诲姟锛歿newTasks.ToJson()}");
-                try
+                foreach (var task in newTasks)
                 {
-                    AgvTaskSendDTO agvTaskSend = new AgvTaskSendDTO()
+                    try
                     {
-                        MissionData = new List<MissionDataItem>()
-                    };
-                    string taskGroupId = Guid.NewGuid().ToString().Replace("-", "");
+                        AgvTaskSendDTO agvTaskSend = new AgvTaskSendDTO()
+                        {
+                            MissionData = new List<MissionDataItem>()
+                        };
+                        string taskGroupId = Guid.NewGuid().ToString().Replace("-", "");
 
-                    foreach (var task in newTasks)
-                    {
-                        //鑾峰彇鐩爣鐐硅揣浣�
-                        //Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationLocation == task.CurrentAddress);
-                        //鑾峰彇鎷i�夊嚭搴撶珯鍙�
-                        Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationLocation == task.NextAddress);
+                        // 鑾峰彇璧峰绔欏彴
+                        Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationLocation == task.SourceAddress);
+                        // 鑾峰彇鐩殑绔欏彴
+                        Dt_StationManager finalmission = _stationManagerRepository.QueryFirst(x => x.stationLocation == task.TargetAddress);
 
-                        if (stationManagerEnd == null) throw new Exception($"鏈壘鍒颁换鍔″彿${task.TaskNum}鐩爣鐐箋task.NextAddress}浣嶇疆淇℃伅");
+                        if (stationManagerEnd == null) throw new Exception($"鏈壘鍒颁换鍔″彿${task.TaskId}璧峰鐐箋task.SourceAddress}浣嶇疆淇℃伅");
+                        if (finalmission == null) throw new Exception($"鏈壘鍒颁换鍔″彿${task.TaskId}鐩爣鐐箋task.TargetAddress}浣嶇疆淇℃伅");
+
                         agvTaskSend.RequestId = taskGroupId;
-                        agvTaskSend.MissionCode = task.TaskNum.ToString();
+                        agvTaskSend.MissionCode = task.TaskId.ToString();
                         agvTaskSend.ViewBoardType = "W01";
                         //璐ф灦瀛愭惉杩愪换鍔�
-                        MissionDataItem missionDataItem = new MissionDataItem()
+                        MissionDataItem Startingmission = new MissionDataItem() // 璧风偣
                         {
-                            Sequence = task.TaskNum,
+                            Sequence = 1,
                             Position = stationManagerEnd.stationLocation,
-
-                            //BinCode = task.PalletCode,
-                            //StartPosition = stationManagerStart.stationLocation,
-                            //EndPosition = stationManagerEnd.stationLocation,
-                            //TakeActionConfirm = false,
-                            //TakeActionInform = false,
-                            //PutActionConfirm = true,
-                            //PutActionInform = true,
                         };
-                        agvTaskSend.MissionData.Add(missionDataItem);
-                    }
-                    if (newTasks.OrderByDescending(x => x.Grade).FirstOrDefault()?.Grade == 0)
-                    {
-                        agvTaskSend.Priority = 99;
-                    }
-                    else
-                    {
-                        agvTaskSend.Priority = 99 - newTasks.OrderByDescending(x => x.Grade).FirstOrDefault().Grade;
-                    }
-                    //鍙戦�丄GV浠诲姟
-                    WebResponseContent content = _taskService.AgvSendTask(agvTaskSend, APIEnum.AgvSendTask);
-                    if (!content.Status)
-                        throw new Exception(content.Message);
-                    newTasks.ForEach(x =>
-                    {
-                        x.Dispatchertime = DateTime.Now;
-                        x.TaskState = TaskAGVCarryStatusEnum.AGV_CarryExecuting.ObjToInt();
-                    });
-                    _taskService.UpdateData(newTasks);
-                    Thread.Sleep(500);
-                }
-                catch (Exception ex)
-                {
-                    newTasks.ForEach(x =>
-                    {
-                        x.TaskState = TaskAGVCarryStatusEnum.AGV_CarryException.ObjToInt();
-                        x.ExceptionMessage = ex.Message;
-                    });
-                    _taskService.UpdateData(newTasks);
-                }
 
+                        MissionDataItem Finalmission = new MissionDataItem() // 缁堢偣
+                        {
+                            Sequence = 2,
+                            Position = finalmission.stationLocation,
+                        };
+                        agvTaskSend.MissionData.Add(Startingmission);
+                        agvTaskSend.MissionData.Add(Finalmission);
+                        if (task.Grade == 0)
+                        {
+                            agvTaskSend.Priority = 99;
+                        }
+                        else
+                        {
+                            agvTaskSend.Priority = 99 - task.Grade;
+                        }
+                        //鍙戦�丄GV浠诲姟
+                        WebResponseContent content = _taskService.AgvSendTask(agvTaskSend, APIEnum.AgvSendTask);
+                        if (!content.Status)
+                            throw new Exception(content.Message);
+                        task.Dispatchertime = DateTime.Now;
+                        task.TaskState = (int)TaskAGVCarryStatusEnum.AGV_CarryExecuting;
+                        _taskService.UpdateData(newTasks);
+                        Thread.Sleep(500);
+                    }
+                    catch (Exception ex)
+                    {
+                        task.TaskState = (int)TaskAGVCarryStatusEnum.AGV_CarryException;
+                        task.ExceptionMessage = ex.Message;
+                        _taskService.UpdateData(newTasks);
+                    }
+                }
             }
             #endregion
             return Task.CompletedTask;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/Baseconversion.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/Baseconversion.cs"
new file mode 100644
index 0000000..a3a2ef5
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/Baseconversion.cs"
@@ -0,0 +1,41 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Tasks.TaskAcquisition
+{
+    public class Baseconversion
+    {
+        /// <summary>
+        /// 10杩涘埗杞�16杩涘埗
+        /// </summary>
+        /// <returns></returns>
+        public string TenthTurn16(byte[] bytes) 
+        {
+            try
+            {
+                string originalDecimalStr = Encoding.ASCII.GetString(bytes).TrimEnd('\0');
+                // 涓嬮潰杩欎竴娈靛氨鏄綘瑕佺殑锛氳浆 16 杩涘埗 
+                ulong number = ulong.Parse(originalDecimalStr);  // 杞垚鏁板瓧
+                string hexStr = number.ToString("X");            // 杞ぇ鍐�16杩涘埗
+                return hexStr;
+            }
+            catch (Exception)
+            {
+                return "";
+                throw;
+            }
+            
+        }
+        /// <summary>
+        /// 16杩涘埗杞�10杩涘埗
+        /// </summary>
+        /// <returns></returns>
+        public string SixteenTurns10()
+        {
+            return "";
+        }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back1_Job.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back1_Job.cs"
index decf43d..0598f50 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back1_Job.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back1_Job.cs"
@@ -1,15 +1,23 @@
-锘縰sing Quartz;
+锘縰sing OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
+using Quartz;
+using SixLabors.ImageSharp;
+using SqlSugar.Extensions;
 using System;
 using System.Collections.Generic;
+using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Communicator;
 using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_IBasicInfoService;
 using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_Tasks.TaskAcquisition;
 
 namespace WIDESEAWCS_Tasks
 {
@@ -24,36 +32,108 @@
         private readonly ITaskService _taskService;
         private readonly ISys_ConfigService _sys_ConfigService;
         private readonly IDt_StationManagerRepository _stationManagerRepository;
-        public TaskAcquisition_Back1_Job(ITaskRepository taskRepository, ITaskService taskService, ISys_ConfigService configService, IDt_StationManagerRepository stationManagerRepository)
+        private readonly IDt_MaterialInfoRepository _IDt_MaterialInfoRepository;
+        public TaskAcquisition_Back1_Job(ITaskRepository taskRepository, ITaskService taskService, ISys_ConfigService configService, IDt_StationManagerRepository stationManagerRepository, IDt_MaterialInfoRepository IDt_MaterialInfoRepository)
         {
             _taskRepository = taskRepository;
             _taskService = taskService;
             _sys_ConfigService = configService;
             _stationManagerRepository = stationManagerRepository;
+            _IDt_MaterialInfoRepository = IDt_MaterialInfoRepository;
         }
         public Task Execute(IJobExecutionContext context)
         {
             string ip = "127.0.0.1";
             int port = 502;
-            string name = "鍚庡簳鏉�1";
-            ModbusTcp modbusTcp = new ModbusTcp(ip, port, name);
+            string Region = "鍚庡簳鏉�1";
+            ModbusTcp modbusTcp = new ModbusTcp(ip, port, Region);
+            Baseconversion baseconversion = new Baseconversion();
             modbusTcp.Connect();
-            //var a = modbusTcp.Read("40002", 20);
-            //string barcode = Encoding.UTF8.GetString(a).Replace("\0", "").Replace("\\0", "");
 
-            // 璇诲彇鎸囧畾鐨勫湴鍧�璇诲埌10杩涘埗鐨刟scii鐮佽浆鎴�16杩涘埗
-            byte[] rawBytes = modbusTcp.Read("10", 20);
-            string originalDecimalStr = Encoding.ASCII.GetString(rawBytes).TrimEnd('\0');
-            Console.WriteLine($"璇诲彇鍒扮殑鍘熷鍗佽繘鍒跺瓧绗︿覆锛歿originalDecimalStr}");
-            // 涓嬮潰杩欎竴娈靛氨鏄綘瑕佺殑锛氳浆 16 杩涘埗 
-            ulong number = ulong.Parse(originalDecimalStr);  // 杞垚鏁板瓧
-            string hexStr = number.ToString("X");            // 杞ぇ鍐�16杩涘埗
-            Console.WriteLine("杞崲鎴�16杩涘埗锛�" + hexStr);
+            Dictionary<int, int> Signal = new Dictionary<int, int>() { [10] = 2, [30] = 3, [50] = 4, [70] = 5 }; 
+            Dictionary<int, int> FeedingPoint = new Dictionary<int, int>() { [10] = 2001, [30] = 2002, [50] = 2003, [70] = 2004 }; // 鍙枡鐨勭偣浣� 缁堢偣浣嶇疆
+
+            try
+            {
+                for (int i = 10; i < 90; i += 20)
+                {
+                    byte[] SignalNumber = modbusTcp.Read(Signal[i].ToString(), 1); // 淇″彿 1锛氬彨鏂� 2锛氭媺鍑虹┖妗�
+
+                    if (SignalNumber[1] == 1)
+                    {
+                        byte[] PartNumber = modbusTcp.Read(i.ToString(), 20); // 璇诲彇闆朵欢鍙�
+
+                        if (PartNumber[1] == 0) continue;
+
+                        string Ku1_Value = baseconversion.TenthTurn16(PartNumber); 
+                        if (Ku1_Value != "" && Ku1_Value != null)
+                        {
+                            // 绛夊姛鑳芥祴璇曞畬锛岃繖閲岃鍋氭棩蹇楄褰�
+
+                            Console.WriteLine(Ku1_Value);
+                            // 鎵惧搴旂殑闆朵欢鍙锋槸鍚﹀凡缁忕粦瀹�(缁勭洏)
+                            Dt_MaterialInfo dt_MaterialInfo = _IDt_MaterialInfoRepository.QueryFirst(x => x.MaterialName == Ku1_Value);
+                            
+                            if (dt_MaterialInfo != null && dt_MaterialInfo.IsBind && dt_MaterialInfo.EndPosition == null)
+                            {
+                                Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.PalletCode == dt_MaterialInfo.ContainerCode);
+                                if (dt_Task != null) continue; //璇佹槑鏈夊綋鍓嶄换鍔�
+
+                                dt_Task = new Dt_Task();
+                                dt_Task.PalletCode = dt_MaterialInfo.ContainerCode;
+                                dt_Task.SourceAddress = dt_MaterialInfo.Position; // 褰撳墠浣嶇疆
+                                dt_Task.TargetAddress = FeedingPoint[i].ToString(); // 缁堢偣浣嶇疆
+                                dt_Task.Grade = 2;
+                                dt_Task.TaskState = TaskAGVCarryStatusEnum.AGV_CarryNew.ObjToInt();
+                                dt_Task.TaskType = TaskAGVCarryTypeEnum.Carry.ObjToInt();
+                                dt_Task.Roadway = (Signal[i] - 1).ToString(); // 搴�1 鍙枡閭e氨鏄�1宸烽亾
+                                dt_Task.CurrentAddress = dt_MaterialInfo.Position; // 褰撳墠浣嶇疆
+                                dt_Task.NextAddress = FeedingPoint[i].ToString(); // 缁堢偣浣嶇疆
+
+                                dt_MaterialInfo.EndPosition = FeedingPoint[i].ToString(); // 缁堢偣浣嶇疆
+
+                                _taskRepository.AddData(dt_Task);
+                                _IDt_MaterialInfoRepository.UpdateData(dt_MaterialInfo);
+                            }
+
+                            // 濡傛灉娌$粦瀹氬垯涓嶇敓鎴愪换鍔� 濡傛灉鏌ユ壘鍒板搴旂殑闆朵欢鍙风粦瀹氫簡 鍒欑敓鎴愪竴鏉′换鍔℃暟鎹�
+                        }
+                    }
+
+                    if (SignalNumber[1] == 2) // 琛ㄧず鎷夊嚭绌烘
+                    {
+                        Dictionary<int, int> Endpointposition = new Dictionary<int, int>() { [10] = 3001, [20] = 3002, [30] = 3003, [40] = 3004 }; // 鍙枡鐨勭偣浣� 缁堢偣浣嶇疆
+                        Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.SourceAddress == FeedingPoint[i].ToString() && x.TaskType == (int)TaskAGVCarryTypeEnum.CarryEmpty);
+                        if (dt_Task != null) continue;
+
+                        dt_Task = new Dt_Task();
+                        dt_Task.PalletCode = "绌烘瀛�";
+                        dt_Task.SourceAddress = FeedingPoint[i].ToString();
+                        dt_Task.TargetAddress = Endpointposition[i].ToString(); 
+                        dt_Task.Grade = 2;
+                        dt_Task.TaskState = TaskAGVCarryStatusEnum.AGV_CarryNew.ObjToInt();
+                        dt_Task.TaskType = TaskAGVCarryTypeEnum.CarryEmpty.ObjToInt();
+                        dt_Task.Roadway = (Signal[i] - 1).ToString(); // 搴�1 鍙枡閭e氨鏄�1宸烽亾
+                        dt_Task.CurrentAddress = FeedingPoint[i].ToString(); // 褰撳墠浣嶇疆
+                        dt_Task.NextAddress = Endpointposition[i].ToString(); // 缁堢偣浣嶇疆
+                        _taskRepository.AddData(dt_Task);
+                    }
+
+                }
+            }
+            catch (Exception)
+            {
+
+                throw;
+            }
+
 
             // 16杩涘埗杞垚10杩涘埗
             // 2. 16杩涘埗 鈫� 杞洖鍗佽繘鍒讹紙浣犺鐨勫姛鑳斤級
-            ulong decimalResult = Convert.ToUInt64(hexStr, 16);
+            ulong decimalResult = Convert.ToUInt64("123", 16);
             Console.WriteLine("16杩涘埗杞洖鍗佽繘鍒讹細" + decimalResult);
+
+            // 鍐欏叆
             bool flag = modbusTcp.Write("30", decimalResult.ToString());
 
             modbusTcp.Disconnect();

--
Gitblit v1.9.3