From 6e9f630e4e12738d98241b684e6227e02010b6c5 Mon Sep 17 00:00:00 2001
From: Huangxiaoqiang-03 <1247017146@qq.com>
Date: 星期五, 01 十一月 2024 17:30:30 +0800
Subject: [PATCH] 1

---
 代码管理/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_hty.js                                                |   82 ++
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/82cd292b-85cb-46e8-8b2c-01490a3dfa79.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs                  |   67 ++
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs                                       |    2 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3353fedf-ce91-4adc-bdb9-d8450ade5d0a.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs                                   |    2 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskEnum.cs                                                   |  243 +++++++
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs                         |    5 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs                            |    5 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs                                 |    8 
 代码管理/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js                                                    |   16 
 代码管理/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue                                                       |   28 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs                            |  226 ++-----
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs                                    |    8 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/07acc35c-ead1-4994-b934-522e5a78c90a.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue                                                       |   32 
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/603bdb7a-2832-4a6c-ae3d-6e9e5ba8c276.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs                             |   17 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs                                                      |    4 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3b906d3f-9923-4824-a640-34936ca6bee2.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue                                                   |  236 +++++++
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs                                             |    9 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs                               |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API请求/2024-11-01/出库库任务下发241101.txt                   |   75 ++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs                                          |    7 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                                         |  160 ++--
 代码管理/WCS/WIDESEAWCS_Client/src/router/viewGird.js                                                            |    5 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs                                                  |   35 +
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/Task_HtyController.cs                          |   22 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API请求/2024-11-01/移库任务下发241101.txt                    |  215 ++++++
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs                         |   65 +
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8aacaf85-dce8-47fa-9c53-6e1f7b6ace25.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue                                                   |   28 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a25ab2df-8d0e-478a-8bf5-7ede88f4c554.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs                                                 |   56 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API请求/2024-11-01/入库任务下发241101.txt                    |   50 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json                                                |    3 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs                                            |   36 +
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/GetStackerObject.cs                              |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs                          |   12 
 /dev/null                                                                                                    |   37 -
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs                                                    |   26 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f9e8d8bc-d17e-44b5-842b-88f7aaeb9bc9.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/58ea606d-ab88-4707-89f0-5981c83956f1.vsidx |    0 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs                            |   19 
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/34759ef6-5185-4202-aea9-0e01a3ee10f2.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoController.cs                        |    2 
 47 files changed, 1,441 insertions(+), 405 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_hty.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_hty.js"
new file mode 100644
index 0000000..310b615
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_hty.js"
@@ -0,0 +1,82 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+import gridBody from './extend/taskExecuteDetail.vue'
+let extension = {
+    components: {
+        //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+        gridHeader: '',
+        gridBody: gridBody,
+        gridFooter: '',
+        //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+        modelHeader: '',
+        modelBody: '',
+        modelFooter: ''
+    },
+    tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+    buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+    methods: {
+        //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+        onInit() {
+            // this.$Notice.success({ title: this.detailOptions.cnName + ',鏌ヨ缁撴灉', desc: '杩斿洖鐨勫璞★細' + JSON.stringify(data) });
+
+            var previousButton = this.buttons.find((x) => x.value == "Previous");
+            if (previousButton) previousButton.hidden = true;
+            var nextButton = this.buttons.find((x) => x.value == "Next");
+            if (nextButton) nextButton.hidden = true;
+            var recoveryButton = this.buttons.find((x) => x.value == "TaskRecovery");
+            if (recoveryButton) recoveryButton.hidden = true;
+
+            //鎵╁睍椤甸潰鍒濆鍖栨搷浣�
+            this.columns.push({
+                field: '鎿嶄綔',
+                title: '鎿嶄綔',
+                width: 70,
+                fixed: 'right',
+                align: 'center',
+                formatter: (row) => {
+                    return (
+                        '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鏌ョ湅</i>'
+                    );
+                },
+                click: (row) => {
+                    this.$refs.gridBody.open(row);
+                }
+            });
+        },
+        onInited() {
+            //妗嗘灦鍒濆鍖栭厤缃悗
+            //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+            //this.detailOptions.columns.forEach(column=>{ });
+        },
+        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)
+        }
+    }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js"
index cde4249..3cffa14 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js"
@@ -53,6 +53,11 @@
     path: '/task',
     name: 'task',
     component: () => import('@/views/taskinfo/task.vue')
+  },
+  {
+    path: '/task_hty',
+    name: 'task_hty',
+    component: () => import('@/views/taskinfo/task_hty.vue')
   }, {
     path: '/router',
     name: 'router',
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
index 1c1154f..4af2503 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
@@ -52,7 +52,7 @@
         },
         {
           title: "浠诲姟鐘舵��",
-          field: "taskState",
+          field: "taskStatus",
           type: "selectList",
           dataKey: "taskState",
           data: [],
@@ -111,7 +111,7 @@
         bind: { key: "taskType", data: [] },
       },
       {
-        field: "taskState",
+        field: "taskStatus",
         title: "浠诲姟鐘舵��",
         type: "int",
         width: 150,
@@ -132,20 +132,20 @@
         width: 120,
         align: "left",
       },
-      {
-        field: "currentAddress",
-        title: "褰撳墠浣嶇疆",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
-      {
-        field: "nextAddress",
-        title: "涓嬩竴浣嶇疆",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
+      // {
+      //   field: "currentAddress",
+      //   title: "褰撳墠浣嶇疆",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
+      // {
+      //   field: "nextAddress",
+      //   title: "涓嬩竴浣嶇疆",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
       {
         field: "exceptionMessage",
         title: "寮傚父淇℃伅",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue"
new file mode 100644
index 0000000..6385bdc
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue"
@@ -0,0 +1,236 @@
+
+<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/taskinfo/task_hty.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "taskId",
+      footer: "Foots",
+      cnName: "浠诲姟鍘嗗彶淇℃伅",
+      name: "task_hty",
+      url: "/Task_Hty/",
+      sortName: "CreateDate",
+    });
+    const editFormFields = ref({});
+    const editFormOptions = ref([]);
+    const searchFormFields = ref({
+      taskNum: "",
+      palletCode: "",
+      roadway: "",
+      sourceAddress: "",
+      targetAddress: "",
+      currentAddress: "",
+      nextAddress: "",
+      creater: "",
+      createDate: "",
+    });
+    const searchFormOptions = ref([
+      [
+        { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
+        { title: "鎵樼洏缂栧彿", field: "palletCode", type: "like" },
+        {
+          title: "浠诲姟绫诲瀷",
+          field: "taskType",
+          type: "selectList",
+          dataKey: "taskType",
+          data: [],
+        },
+        {
+          title: "浠诲姟鐘舵��",
+          field: "taskStatus",
+          type: "selectList",
+          dataKey: "taskState",
+          data: [],
+        },
+      ],
+      [
+        { title: "璧峰鍦板潃", field: "sourceAddress", type: "like" },
+        { title: "鐩爣鍦板潃", field: "targetAddress", type: "like" },
+        // { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "like" },
+        // { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
+      ],
+      [
+        { title: "宸烽亾鍙�", field: "roadway", type: "like" },
+        { title: "鍒涘缓浜�", field: "creater", type: "like" },
+        { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
+      ],
+    ]);
+    const columns = ref([
+      {
+        field: "taskId",
+        title: "TaskId",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "taskNum",
+        title: "浠诲姟鍙�",
+        type: "int",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "palletCode",
+        title: "鎵樼洏缂栧彿",
+        type: "string",
+        width: 200,
+        align: "left",
+      },
+      {
+        field: "roadway",
+        title: "宸烽亾鍙�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "taskType",
+        title: "浠诲姟绫诲瀷",
+        type: "int",
+        width: 90,
+        align: "left",
+        bind: { key: "taskType", data: [] },
+      },
+      {
+        field: "taskStatus",
+        title: "浠诲姟鐘舵��",
+        type: "int",
+        width: 150,
+        align: "left",
+        bind: { key: "taskState", data: [] },
+      },
+      {
+        field: "sourceAddress",
+        title: "璧峰鍦板潃",
+        type: "int",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "targetAddress",
+        title: "鐩爣鍦板潃",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      // {
+      //   field: "currentAddress",
+      //   title: "褰撳墠浣嶇疆",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
+      // {
+      //   field: "nextAddress",
+      //   title: "涓嬩竴浣嶇疆",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
+      {
+        field: "exceptionMessage",
+        title: "寮傚父淇℃伅",
+        type: "string",
+        width: 90,
+        align: "left",
+        hidden: true,
+      },
+      {
+        field: "grade",
+        title: "浼樺厛绾�",
+        type: "int",
+        width: 80,
+        align: "left",
+      },
+      {
+        field: "dispatchertime",
+        title: "浠诲姟涓嬪彂鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "wMSId",
+        title: "WMS浠诲姟涓婚敭",
+        type: "int",
+        width: 120,
+        align: "left",
+        hidden: true,
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        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/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/34759ef6-5185-4202-aea9-0e01a3ee10f2.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/34759ef6-5185-4202-aea9-0e01a3ee10f2.vsidx"
new file mode 100644
index 0000000..8a0b7ac
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/34759ef6-5185-4202-aea9-0e01a3ee10f2.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/58ea606d-ab88-4707-89f0-5981c83956f1.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/58ea606d-ab88-4707-89f0-5981c83956f1.vsidx"
new file mode 100644
index 0000000..4207e7a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/58ea606d-ab88-4707-89f0-5981c83956f1.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/603bdb7a-2832-4a6c-ae3d-6e9e5ba8c276.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/603bdb7a-2832-4a6c-ae3d-6e9e5ba8c276.vsidx"
new file mode 100644
index 0000000..0e9d3fe
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/603bdb7a-2832-4a6c-ae3d-6e9e5ba8c276.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/82cd292b-85cb-46e8-8b2c-01490a3dfa79.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/82cd292b-85cb-46e8-8b2c-01490a3dfa79.vsidx"
new file mode 100644
index 0000000..d2188b5
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/82cd292b-85cb-46e8-8b2c-01490a3dfa79.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8aacaf85-dce8-47fa-9c53-6e1f7b6ace25.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8aacaf85-dce8-47fa-9c53-6e1f7b6ace25.vsidx"
new file mode 100644
index 0000000..8c527df
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8aacaf85-dce8-47fa-9c53-6e1f7b6ace25.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskEnum.cs"
new file mode 100644
index 0000000..e0bf4a7
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskEnum.cs"
@@ -0,0 +1,243 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Core.Enums
+{
+
+    #region 浠诲姟绫诲瀷
+
+    /// <summary>
+    /// 浠诲姟绫诲瀷   100 鍑哄簱;鐩樼偣鍑哄簱 101; 102 鍒嗘嫞鍑哄簱;103 璐ㄦ鍑哄簱;200 鍏ュ簱;鐩樼偣鍏ュ簱 201;鍒嗘嫞鍏ュ簱 202;璐ㄦ鍏ュ簱 203;绉诲簱 300;搴撳唴绉诲簱 301;搴撳绉诲簱 302
+    /// </summary>
+    public enum TaskTypeEnum
+    {
+        /// <summary>
+        /// 鍑哄簱 =100
+        /// </summary>
+        [Description("鍑哄簱")]
+        Outbound = 100,
+
+        /// <summary>
+        /// 鐩樼偣鍑哄簱
+        /// </summary>
+        [Description("鐩樼偣鍑哄簱")]
+        OutInventory = 101,
+
+        /// <summary>
+        /// 鍒嗘嫞鍑哄簱
+        /// </summary>
+        [Description("鍒嗘嫞鍑哄簱")]
+        OutPick = 102,
+
+        /// <summary>
+        /// 璐ㄦ鍑哄簱
+        /// </summary>
+        [Description("璐ㄦ鍑哄簱")]
+        OutQuality = 103,
+
+        /// <summary>
+        /// 鍑虹┖
+        /// </summary>
+        [Description("鍑虹┖")]
+        PalletOutbound = 104,
+
+        /// <summary>
+        /// 琛ョ┖
+        /// </summary>
+        [Description("琛ョ┖")]
+        PalletFillOutbound = 105,
+
+        /// <summary>
+        /// 鍏ュ簱
+        /// </summary>
+        [Description("鍏ュ簱")]
+        Inbound = 200,
+
+        /// <summary>
+        /// 鐩樼偣鍏ュ簱
+        /// </summary>
+        [Description("鐩樼偣鍏ュ簱")]
+        InInventory = 201,
+
+        /// <summary>
+        /// 鍒嗘嫞鍏ュ簱
+        /// </summary>
+        [Description("鍒嗘嫞鍏ュ簱")]
+        InPick = 202,
+
+        /// <summary>
+        /// 璐ㄦ鍏ュ簱
+        /// </summary>
+        [Description("璐ㄦ鍏ュ簱")]
+        InQuality = 203,
+
+        /// <summary>
+        /// 鍏ョ┖
+        /// </summary>
+        [Description("鍏ョ┖")]
+        PalletInbound = 204,
+
+        /// <summary>
+        /// 鍥炵┖
+        /// </summary>
+        [Description("鍥炵┖")]
+        PalletReturnInbound = 205,
+
+        /// <summary>
+        /// 绉诲簱
+        /// </summary>
+        [Description("绉诲簱")]
+        Relocation = 300,
+
+        /// <summary>
+        /// 搴撳唴绉诲簱
+        /// </summary>
+        [Description("搴撳唴绉诲簱")]
+        RelocationIn = 301,
+
+        /// <summary>
+        /// 搴撳绉诲簱
+        /// </summary>
+        [Description("搴撳绉诲簱")]
+        RelocationOut = 302,
+
+        [Description("AGV鎼繍")]
+        AGVCarry = 500,
+    }
+
+    #endregion 浠诲姟绫诲瀷
+
+    #region 鍏ュ簱浠诲姟鐘舵��
+
+    /// <summary>
+    /// 鍏ュ簱浠诲姟鐘舵��
+    /// </summary>
+    public enum InTaskStatusEnum
+    {
+        /// <summary>
+        /// 鏂板缓鍏ュ簱浠诲姟
+        /// </summary>
+        [Description("鏂板缓")]
+        InNew = 200,
+
+        /// <summary>
+        /// 鍫嗗灈鏈哄叆搴撴墽琛屼腑
+        /// </summary>
+        [Description("鍫嗗灈鏈哄叆搴撴墽琛屼腑")]
+        SC_InExecuting = 230,
+
+        /// <summary>
+        /// 鍫嗗灈鏈哄叆搴撳畬鎴�
+        /// </summary>
+        [Description("鍫嗗灈鏈哄叆搴撳畬鎴�")]
+        SC_InFinish = 235,
+
+        /// <summary>
+        /// 鍏ュ簱浠诲姟瀹屾垚
+        /// </summary>
+        [Description("鍏ュ簱浠诲姟瀹屾垚")]
+        InFinish = 290,
+
+        /// <summary>
+        /// 鍏ュ簱浠诲姟鍙栨秷
+        /// </summary>
+        [Description("鍏ュ簱浠诲姟鍙栨秷")]
+        InCancel = 298,
+
+        /// <summary>
+        /// 鍏ュ簱浠诲姟寮傚父
+        /// </summary>
+        [Description("鍏ュ簱浠诲姟寮傚父")]
+        InException = 299,
+
+        /// <summary>
+        /// 鏂板缓绉诲簱浠诲姟
+        /// </summary>
+        [Description("鏂板缓绉诲簱浠诲姟")]
+        RelocationNew = 300,
+
+        /// <summary>
+        /// 绉诲簱浠诲姟瀹屾垚
+        /// </summary>
+        [Description("绉诲簱浠诲姟瀹屾垚")]
+        RelocationFinish = 310,
+
+        /// <summary>
+        /// 绉诲簱浠诲姟鎵ц涓�
+        /// </summary>
+        [Description("绉诲簱浠诲姟鎵ц涓�")]
+        RelocationExecuting = 320,
+
+        /// <summary>
+        /// 绉诲簱浠诲姟鍙栨秷
+        /// </summary>
+        [Description("绉诲簱浠诲姟鍙栨秷")]
+        RelocationCancel = 330,
+
+        /// <summary>
+        /// 绉诲簱浠诲姟寮傚父
+        /// </summary>
+        [Description("绉诲簱浠诲姟寮傚父")]
+        RelocationException = 340,
+    }
+
+    #endregion 鍏ュ簱浠诲姟鐘舵��
+
+    /// <summary>
+    /// 鍑哄簱浠诲姟鐘舵��
+    /// </summary>
+    public enum OutTaskStatusEnum
+    {
+        /// <summary>
+        /// 鏂板缓浠诲姟
+        /// </summary>
+        [Description("鏂板缓")]
+        OutNew = 100,
+
+        /// <summary>
+        /// 鍫嗗灈鏈哄嚭搴撴墽琛屼腑
+        /// </summary>
+        [Description("鍫嗗灈鏈哄嚭搴撴墽琛屼腑")]
+        SC_OutExecuting = 130,
+
+        /// <summary>
+        /// 鍫嗗灈鏈哄嚭搴撳畬鎴�
+        /// </summary>
+        [Description("鍫嗗灈鏈哄嚭搴撳畬鎴�")]
+        SC_OutFinish = 135,
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟瀹屾垚
+        /// </summary>
+        [Description("鍑哄簱浠诲姟瀹屾垚")]
+        OutFinish = 190,
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟鍙栨秷
+        /// </summary>
+        [Description("鍑哄簱浠诲姟鍙栨秷")]
+        OutCancel = 198,
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟寮傚父
+        /// </summary>
+        [Description("鍑哄簱浠诲姟寮傚父")]
+        OutException = 199
+    }
+
+    public enum AGVTaskStatusEnum
+    {
+        [Description("鏂板缓")]
+        AGV_New = 500,
+
+        [Description("鎵ц涓�")]
+        AGV_Executing = 510,
+
+        [Description("瀹屾垚")]
+        AGV_Finish = 520
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs"
deleted file mode 100644
index 51f0df3..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs"
+++ /dev/null
@@ -1,37 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_DTO.Enum
-{
-    public enum TaskRelocationStatusEnum
-    {
-        /// <summary>
-        /// 鏂板缓绉诲簱浠诲姟
-        /// </summary>
-        [Description("鏂板缓绉诲簱浠诲姟")]
-        RelocationNew = 300,
-
-        /// <summary>
-        /// 绉诲簱浠诲姟鎵ц涓�
-        /// </summary>
-        [Description("绉诲簱浠诲姟鎵ц涓�")]
-        RelocationExecuting = 145,
-
-        /// <summary>
-        /// 绉诲簱浠诲姟瀹屾垚
-        /// </summary>
-        [Description("绉诲簱浠诲姟鍙栨秷")]
-        RelocationFinish = 310,
-
-        /// <summary>
-        /// 绉诲簱浠诲姟鍙栨秷
-        /// </summary>
-        [Description("绉诲簱浠诲姟鍙栨秷")]
-        RelocationCancel = 320,
-    }
-
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
index f29527c..fc1d58c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
@@ -36,7 +36,7 @@
         /// <summary>
         /// 浠诲姟鐘舵��
         /// </summary>
-        public int TaskState { get; set; }
+        public int TaskStatus { get; set; }
 
         /// <summary>
         /// 璧风偣
@@ -48,6 +48,13 @@
         /// </summary>
         public string TargetAddress {  get; set; }
 
+        public string CurrentAddress { get; set; }
+
+        /// <summary>
+        /// 缁堢偣
+        /// </summary>
+        public string NextAddress { get; set; }
+
         /// <summary>
         /// 浼樺厛绾�
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
index 889e3a0..2085efb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
@@ -75,7 +75,7 @@
         [ImporterHeader(Name = "浠诲姟鐘舵��")]
         [ExporterHeader(DisplayName = "浠诲姟鐘舵��")]
         [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鐘舵��")]
-        public int TaskState { get; set; }
+        public int TaskStatus { get; set; }
 
         /// <summary>
         /// 璧峰鍦板潃
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs"
index d1ad2e9..660f32f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs"
@@ -75,7 +75,7 @@
         [ImporterHeader(Name = "浠诲姟鐘舵��")]
         [ExporterHeader(DisplayName = "浠诲姟鐘舵��")]
         [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鐘舵��")]
-        public int TaskState { get; set; }
+        public int TaskStatus { get; set; }
 
         /// <summary>
         /// 璧峰鍦板潃
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
index 146f10e..16f7330 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
@@ -21,6 +21,7 @@
 using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_Core.Caches;
 using WIDESEAWCS_QuartzJob.DeviceEnum;
+using WIDESEA_Core.Enums;
 
 namespace WIDESEAWCS_WCSServer.Controllers.System
 {
@@ -172,6 +173,28 @@
                         {
                             List<object> data = new List<object>();
 
+                            #region TaskTypeEnum
+                            {
+                                Type type = typeof(TaskTypeEnum);
+                                List<int> enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+                            #endregion
+
                             #region TaskInboundTypeEnum
                             {
                                 Type type = typeof(TaskInboundTypeEnum);
@@ -289,6 +312,28 @@
                             }
                             #endregion
 
+                            #region InTaskStatusEnum
+                            {
+                                Type type = typeof(InTaskStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(InTaskStatusEnum)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(InTaskStatusEnum).GetField(((InTaskStatusEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+                            #endregion
+
                             #region TaskOutStatusEnum
                             {
                                 Type type = typeof(TaskOutStatusEnum);
@@ -311,6 +356,28 @@
                             }
                             #endregion
 
+                            #region OutTaskStatusEnum
+                            {
+                                Type type = typeof(OutTaskStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(OutTaskStatusEnum)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(OutTaskStatusEnum).GetField(((OutTaskStatusEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+                            #endregion
+
                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                         }
                         break;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/Task_HtyController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/Task_HtyController.cs"
new file mode 100644
index 0000000..09b090d
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/Task_HtyController.cs"
@@ -0,0 +1,22 @@
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_WCSServer.Controllers.Task
+{
+    [Route("api/Task_Hty")]
+    [ApiController]
+    public class Task_HtyController : ApiBaseController<ITask_HtyService, Dt_Task_Hty>
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        public Task_HtyController(ITask_HtyService service, IHttpContextAccessor httpContextAccessor) : base(service)
+        {
+            _httpContextAccessor = httpContextAccessor;
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs"
index c95b228..dcb3b8b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs"
@@ -46,8 +46,8 @@
 //builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
 builder.Services.AddDbSetup();//Db 启动服务
 
-builder.Services.AddScoped<QuartzJobCreateDataTabel>();
-builder.Services.AddHostedService<QuartzJobDataTableHostedService>();
+//builder.Services.AddScoped<QuartzJobCreateDataTabel>();
+//builder.Services.AddHostedService<QuartzJobDataTableHostedService>();
 
 builder.Services.AddAutoMapperSetup();
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
index d2e92d9..e34f30e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
@@ -22,6 +22,7 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Core.Enums;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.Enums;
@@ -48,14 +49,14 @@
                 Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId);
                 if (task == null) return;
                 int taskNum = task.TaskNum;
-                int taskState = task.TaskState;
+                int TaskStatus = task.TaskStatus;
 
-                if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
+                if (!int.TryParse(Enum.Parse<OutTaskStatusEnum>(TaskStatus.ToString()).ToString(), out int result))
                 {
                     if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
                         isNormal = false;
                 }
-                else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
+                else if (!int.TryParse(Enum.Parse<InTaskStatusEnum>(TaskStatus.ToString()).ToString(), out result))
                 {
                     if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
                         isNormal = false;
@@ -66,7 +67,7 @@
                     IsNormal = isNormal,
                     TaskNum = taskNum,
                     TaskId = taskId,
-                    TaskState = taskState,
+                    TaskState = TaskStatus,
                     Description = description,
                     CurrentAddress = task.CurrentAddress,
                     NextAddress = task.NextAddress,
@@ -90,14 +91,14 @@
                     Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == item);
                     if (task == null) return;
                     int taskNum = task.TaskNum;
-                    int taskState = task.TaskState;
+                    int TaskStatus = task.TaskStatus;
 
-                    if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
+                    if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(TaskStatus.ToString()).ToString(), out int result))
                     {
                         if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
                             isNormal = false;
                     }
-                    else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
+                    else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(TaskStatus.ToString()).ToString(), out result))
                     {
                         if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
                             isNormal = false;
@@ -108,7 +109,7 @@
                         IsNormal = isNormal,
                         TaskNum = taskNum,
                         TaskId = task.TaskId,
-                        TaskState = taskState,
+                        TaskState = TaskStatus,
                         Description = description,
                         CurrentAddress = task.CurrentAddress,
                         NextAddress = task.NextAddress,
@@ -187,7 +188,7 @@
                     {
                         throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
                     }
-                    active = steps.IndexOf(task.TaskState) + 1;
+                    active = steps.IndexOf(task.TaskStatus) + 1;
 
                 }
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 3e8bb34..1cf9496 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -35,7 +35,6 @@
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.DB.Models;
 using WIDESEAWCS_Core.Enums;
-using WIDESEAWCS_DTO.Enum;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
@@ -43,6 +42,8 @@
 using WIDESEAWCS_QuartzJob.Models;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_Core.Helper;
+using WIDESEA_Core.Enums;
+using WIDESEAWCS_Core.BaseRepository;
 
 namespace WIDESEAWCS_TaskInfoService
 {
@@ -50,6 +51,7 @@
     {
         private readonly IRouterService _routerService;
         private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+        private readonly IUnitOfWorkManage _unitOfWorkManage;
         private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository;
         private readonly IMapper _mapper;
         private readonly ITask_HtyService _task_HtyService;
@@ -66,10 +68,12 @@
         public List<int> TaskInboundTypes => typeof(TaskInboundTypeEnum).GetEnumIndexList();
 
         public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
+        public List<int> TaskTypeEnums => typeof(TaskTypeEnum).GetEnumIndexList();
 
-        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService task_HtyService, ITask_HtyRepository task_HtyRepository) : base(BaseDal)
+        public TaskService(ITaskRepository BaseDal, IRouterService routerService, IUnitOfWorkManage unitOfWorkManage, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService task_HtyService, ITask_HtyRepository task_HtyRepository) : base(BaseDal)
         {
             _routerService = routerService;
+            _unitOfWorkManage = unitOfWorkManage;
             _taskExecuteDetailService = taskExecuteDetailService;
             _taskExecuteDetailRepository = taskExecuteDetailRepository;
             _mapper = mapper;
@@ -88,25 +92,24 @@
             try
             {
                 List<Dt_Task> tasks = new List<Dt_Task>();
+                _unitOfWorkManage.BeginTran();
                 foreach (var item in taskDTOs)
                 {
                     if (BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null)
                     {
-                        continue;
+                        throw new Exception($"鏈夐噸澶嶄换鍔�");
                     }
                     Dt_Task task = _mapper.Map<Dt_Task>(item);
-                    task.Creater = "WMS";
                     tasks.Add(task);
                 }
                 BaseDal.AddData(tasks);
-
                 _taskExecuteDetailService.AddTaskExecuteDetail(tasks.Select(x => x.TaskNum).ToList(), "鎺ユ敹WMS浠诲姟");
-
-                content = WebResponseContent.Instance.OK("鎴愬姛");
+                _unitOfWorkManage.CommitTran();
             }
             catch (Exception ex)
             {
-                content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}");
+                _unitOfWorkManage.RollbackTran();
+                content = WebResponseContent.Instance.Error($"{ex.Message}");
             }
             return content;
         }
@@ -130,7 +133,7 @@
                     RoadWay = "SC01",
                     SourceAddress = sourceAddress,
                     TargetAddress = "SC01",
-                    TaskState = TaskInStatusEnum.InNew.ObjToInt(),
+                    TaskStatus = TaskInStatusEnum.InNew.ObjToInt(),
                     Id = 0,
                     TaskType = TaskInboundTypeEnum.Inbound.ObjToInt()
                 };
@@ -152,7 +155,7 @@
         /// <returns></returns>
         public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress)
         {
-            return BaseDal.QueryFirst(x => (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.SC_OutFinish.ObjToInt()) && x.CurrentAddress == currentAddress, TaskOrderBy);
+            return BaseDal.QueryFirst(x => (TaskInboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.SC_OutFinish.ObjToInt()) && x.CurrentAddress == currentAddress, TaskOrderBy);
         }
 
         /// <summary>
@@ -163,7 +166,7 @@
         /// <returns></returns>
         public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress)
         {
-            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == TaskInStatusEnum.Line_InExecuting.ObjToInt() || x.TaskState == TaskOutStatusEnum.Line_OutExecuting.ObjToInt()), TaskOrderBy);
+            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskStatus == TaskInStatusEnum.Line_InExecuting.ObjToInt() || x.TaskStatus == TaskOutStatusEnum.Line_OutExecuting.ObjToInt()), TaskOrderBy);
         }
 
         /// <summary>
@@ -174,7 +177,7 @@
         /// <returns></returns>
         public Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress)
         {
-            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == TaskInStatusEnum.Line_InFinish.ObjToInt() || x.TaskState == TaskOutStatusEnum.Line_OutFinish.ObjToInt()), TaskOrderBy);
+            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskStatus == TaskInStatusEnum.Line_InFinish.ObjToInt() || x.TaskStatus == TaskOutStatusEnum.Line_OutFinish.ObjToInt()), TaskOrderBy);
         }
 
         /// <summary>
@@ -186,11 +189,11 @@
         public Dt_Task? QuertStackerCraneTask(string deviceNo, TaskTypeGroup? taskTypeGroup = null)
         {
             if(taskTypeGroup == null)
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.Line_InFinish.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.Line_InFinish.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
             if(taskTypeGroup.Value == TaskTypeGroup.InboundGroup)
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.Line_InFinish.ObjToInt(), TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.Line_InFinish.ObjToInt(), TaskOrderBy);
             if(taskTypeGroup.Value == TaskTypeGroup.OutbondGroup)
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
             return null;
         }
 
@@ -210,9 +213,9 @@
             else
             {
                 if (string.IsNullOrEmpty(currentAddress))
-                    return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
+                    return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskTypeEnums.Contains(x.TaskType) && (x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt() ||  x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt())), TaskOrderBy);
                 else
-                    return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
+                    return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
             }
         }
 
@@ -231,28 +234,28 @@
             }
             else
             {
-                Dt_Task task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
-                Dt_Task tasks = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+                Dt_Task task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+                Dt_Task tasks = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
                 if (task != null && tasks == null)
                 {
                     if (string.IsNullOrEmpty(currentAddress))
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
                     else
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
                 }
                 else if (task == null && tasks != null)
                 {
                     if (string.IsNullOrEmpty(currentAddress))
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
                     else
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
                 }
                 else
                 {
                     if (string.IsNullOrEmpty(currentAddress))
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
                     else
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
                 }
             }
         }
@@ -265,9 +268,9 @@
         public Dt_Task QueryStackerCraneRelocationTask(string deviceNo, string currentAddress = "")
         {
             if (string.IsNullOrEmpty(currentAddress))
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
             else
-                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
         }
 
         /// <summary>
@@ -285,28 +288,28 @@
             }
             else
             {
-                Dt_Task task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
-                Dt_Task tasks = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+                Dt_Task task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+                Dt_Task tasks = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
                 if (task != null && tasks == null)
                 {
                     if (string.IsNullOrEmpty(currentAddress))
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
                     else
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
                 }
                 else if (task == null && tasks != null)
                 {
                     if (string.IsNullOrEmpty(currentAddress))
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
                     else
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
                 }
                 else
                 {
                     if (string.IsNullOrEmpty(currentAddress))
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
                     else
-                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+                        return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
                 }
 
             }
@@ -327,7 +330,7 @@
             }
             else
             {
-                return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() && x.TargetAddress == outStationCodes, TaskOrderBy);
+                return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == TaskOutStatusEnum.OutNew.ObjToInt() && x.TargetAddress == outStationCodes, TaskOrderBy);
             }
         }
 
@@ -343,14 +346,19 @@
             {
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
                 {
-                    task.TaskState = (int)TaskOutStatusEnum.OutPending;
+                    task.TaskStatus = OutTaskStatusEnum.OutException.ObjToInt();
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+                else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt())
                 {
-                    task.TaskState = (int)TaskInStatusEnum.InPending;
+                    task.TaskStatus = InTaskStatusEnum.InException.ObjToInt();
                 }
+                else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt())
+                {
+                    task.TaskStatus = InTaskStatusEnum.RelocationException.ObjToInt();
+                }
+
                 task.ExceptionMessage = message;
                 task.ModifyDate = DateTime.Now;
                 BaseDal.UpdateData(task);
@@ -375,7 +383,7 @@
         {
             Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
             if (task == null) return;
-            task.TaskState = status;
+            task.TaskStatus = status;
             task.ModifyDate = DateTime.Now;
             BaseDal.UpdateData(task);
         }
@@ -410,35 +418,33 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                int oldState = task.TaskState;
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                int oldState = task.TaskStatus;
+                if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt()|| task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
                 {
-                    task.TaskState = TaskOutStatusEnum.SC_OutExecuting.ObjToInt();
+                    task.TaskStatus = OutTaskStatusEnum.SC_OutExecuting.ObjToInt();
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+                else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt())
                 {
-                    task.TaskState = TaskInStatusEnum.SC_InExecuting.ObjToInt();
+                    task.TaskStatus = InTaskStatusEnum.SC_InExecuting.ObjToInt();
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+                else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt())
                 {
-                    task.TaskState = TaskRelocationStatusEnum.RelocationExecuting.ObjToInt();
+                    task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt();
                 }
                 else
                 {
                     throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
                 }
 
-                if (task.TaskState <= 0)
+                if (task.TaskStatus <= 0)
                 {
-                    return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
+                    return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskStatus}銆�");
                 }
-
                 task.ModifyDate = DateTime.Now;
                 task.Modifier = "System";
                 BaseDal.UpdateData(task);
-
-                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"浜哄伐鎵嬪姩灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戣烦杞埌銆恵task.TaskState}銆�" : $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
-
+                var response = HttpHelpers.Post<WebResponseContent>(url + "UpdateTaskStatus?", task.TaskNum, "鍏ュ簱浠诲姟涓嬪彂");
+                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"浜哄伐鎵嬪姩灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戣烦杞埌銆恵task.TaskStatus}銆�" : $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskStatus}銆�");
                 content = WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
@@ -496,9 +502,9 @@
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
 
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == TaskOutStatusEnum.SC_OutExecuting.ObjToInt())
+                if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
                 {
-                    task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt();
+                    task.TaskStatus = OutTaskStatusEnum.OutFinish.ObjToInt();
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
                     BaseDal.DeleteData(task);
@@ -514,9 +520,9 @@
                         content = WebResponseContent.Instance.Error(response.Message);
                     }
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState ==TaskInStatusEnum.SC_InExecuting.ObjToInt())
+                else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt()  || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt())
                 {
-                    task.TaskState = TaskInStatusEnum.InFinish.ObjToInt();
+                    task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt();
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
                     BaseDal.DeleteData(task);
@@ -532,9 +538,9 @@
                         content = WebResponseContent.Instance.Error(response.Message);
                     }
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+                else if (task.TaskType==TaskTypeEnum.Relocation.ObjToInt())
                 {
-                    task.TaskState = TaskRelocationStatusEnum.RelocationFinish.ObjToInt();
+                    task.TaskStatus = InTaskStatusEnum.RelocationFinish.ObjToInt();
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
                     BaseDal.DeleteData(task);
@@ -574,9 +580,9 @@
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
 
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState != TaskOutStatusEnum.SC_OutExecuting.ObjToInt())
+                if ((task.TaskType == TaskTypeEnum.Outbound.ObjToInt() && task.TaskStatus == OutTaskStatusEnum.SC_OutExecuting.ObjToInt()) || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
                 {
-                    task.TaskState = TaskOutStatusEnum.OutCancel.ObjToInt();
+                    task.TaskStatus = OutTaskStatusEnum.OutCancel.ObjToInt();
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
                     BaseDal.DeleteData(task);
@@ -592,9 +598,9 @@
                         content = WebResponseContent.Instance.Error(response.Message);
                     }
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState != TaskInStatusEnum.SC_InExecuting.ObjToInt())
+                else if ((task.TaskType == TaskTypeEnum.Inbound.ObjToInt() && task.TaskStatus == InTaskStatusEnum.SC_InExecuting.ObjToInt()) || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt())
                 {
-                    task.TaskState = TaskInStatusEnum.InCancel.ObjToInt();
+                    task.TaskStatus = InTaskStatusEnum.InCancel.ObjToInt();
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
                     BaseDal.DeleteData(task);
@@ -610,9 +616,9 @@
                         content = WebResponseContent.Instance.Error(response.Message);
                     }
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup && task.TaskState != TaskRelocationStatusEnum.RelocationExecuting.ObjToInt())
+                else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt())
                 {
-                    task.TaskState = TaskRelocationStatusEnum.RelocationCancel.ObjToInt();
+                    task.TaskStatus = InTaskStatusEnum.RelocationCancel.ObjToInt();
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
                     BaseDal.DeleteData(task);
@@ -657,25 +663,25 @@
             {
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
-                if (task.TaskState != (int)TaskInStatusEnum.InPending && task.TaskState != (int)TaskOutStatusEnum.OutPending)
+                if (task.TaskStatus != (int)TaskInStatusEnum.InPending && task.TaskStatus != (int)TaskOutStatusEnum.OutPending)
                 {
-                    return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙仮澶�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
+                    return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙仮澶�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskStatus}銆�");
                 }
 
                 Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.IsNormal, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
                 if (taskExecuteDetail != null)
                 {
-                    task.TaskState = taskExecuteDetail.TaskState;
+                    task.TaskStatus = taskExecuteDetail.TaskState;
                 }
                 else
                 {
                     if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                     {
-                        task.TaskState = (int)TaskOutStatusEnum.OutNew;
+                        task.TaskStatus = (int)TaskOutStatusEnum.OutNew;
                     }
                     else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                     {
-                        task.TaskState = (int)TaskInStatusEnum.InNew;
+                        task.TaskStatus = (int)TaskInStatusEnum.InNew;
                     }
                     //todo
                 }
@@ -684,7 +690,7 @@
 
                 BaseDal.UpdateData(task);
 
-                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"浜哄伐鎭㈠鎸傝捣浠诲姟,鎭㈠鎸傝捣鏃朵换鍔$姸鎬併�恵task.TaskState}銆�");
+                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"浜哄伐鎭㈠鎸傝捣浠诲姟,鎭㈠鎸傝捣鏃朵换鍔$姸鎬併�恵task.TaskStatus}銆�");
 
                 content = WebResponseContent.Instance.OK();
             }
@@ -708,24 +714,24 @@
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
 
-                int oldState = task.TaskState;
-                Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
+                int oldState = task.TaskStatus;
+                Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskStatus && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
                 if (taskExecuteDetail != null)
                 {
-                    task.TaskState = taskExecuteDetail.TaskState;
+                    task.TaskStatus = taskExecuteDetail.TaskState;
                     task.CurrentAddress = taskExecuteDetail.CurrentAddress;
                     task.NextAddress = taskExecuteDetail.NextAddress;
                 }
                 else
                 {
-                    return content = WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔℃槑缁嗕俊鎭�,璇ヤ换鍔$姸鎬佷笉鍙洖婊氬埌涓婁竴姝�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
+                    return content = WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔℃槑缁嗕俊鎭�,璇ヤ换鍔$姸鎬佷笉鍙洖婊氬埌涓婁竴姝�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskStatus}銆�");
                 }
 
                 task.ExceptionMessage = string.Empty;
 
                 BaseDal.UpdateData(task);
 
-                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"浜哄伐灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戝洖婊氬埌銆恵task.TaskState}銆�");
+                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"浜哄伐灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戝洖婊氬埌銆恵task.TaskStatus}銆�");
 
                 content = WebResponseContent.Instance.OK();
             }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 67bdf60..f552139 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -63,8 +63,6 @@
                     List<Task> tasks = new List<Task>();
                     foreach (string childDeviceCode in childDeviceCodes)
                     {
-                        //Task task = Task.Run(() =>
-                        //{
                             ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
                             if (command != null)
                             {
@@ -82,8 +80,7 @@
                                     }
                                 }
                             }
-                        //});
-                        //tasks.Add(task);
+                        
                     }
 
                     Task.WaitAll(tasks.ToArray());
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 1178b32..6900e9a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
+锘縰sing HslCommunication;
+using Microsoft.AspNetCore.Components.Routing;
 using Quartz;
 using SqlSugar.Extensions;
 using System;
@@ -8,12 +9,14 @@
 using System.Net;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Core.Enums;
 using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.Models;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_Tasks.StackerCraneJob;
@@ -93,7 +96,7 @@
             }
             catch (Exception ex)
             {
-                Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString());
+                //Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString());
             }
             return Task.CompletedTask;
         }
@@ -131,8 +134,8 @@
             }
             else
             {
-                bool flag = speStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup;
-                if (flag)
+                bool flag = speStackerCrane.LastTaskType == TaskTypeEnum.Inbound.ObjToInt() || speStackerCrane.LastTaskType == TaskTypeEnum.PalletInbound.ObjToInt();
+                if (flag==false)
                 {
                     task = _taskService.QueryStackerCraneInTask(speStackerCrane.DeviceCode);
                     if (task == null)
@@ -145,19 +148,6 @@
                     task = _taskService.QueryStackerCraneOutTask(speStackerCrane.DeviceCode);
                 }
             }
-
-            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            {
-
-                List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(speStackerCrane.DeviceCode, task.TargetAddress);
-                foreach (var item in tasks)
-                {
-                    return task;
-                }
-                return task;
-
-            }
-
             return task;
         }
 
@@ -192,13 +182,34 @@
             return null;
         }
 
-        /// <summary>
-        /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
-        /// </summary>
-        /// <param name="task">浠诲姟瀹炰綋</param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
+        public bool SendCommands(StackerCraneTaskCommand command,SpeStackerCrane speStackerCrane)
+        {
+            try
+            {
+                speStackerCrane.SetValue(StackerCraneDBName.TaskNum, command.TaskNum);
+                speStackerCrane.SetValue(StackerCraneDBName.StartRow, command.StartRow);
+                speStackerCrane.SetValue(StackerCraneDBName.StartColumn, command.StartColumn);
+                speStackerCrane.SetValue(StackerCraneDBName.StartLayer, command.StartLayer);
+                speStackerCrane.SetValue(StackerCraneDBName.EndRow, command.EndRow);
+                speStackerCrane.SetValue(StackerCraneDBName.EndColumn, command.EndColumn);
+                speStackerCrane.SetValue(StackerCraneDBName.EndLayer, command.EndLayer);
+                speStackerCrane.SetValue(StackerCraneDBName.Barcode, command.Barcode);
+                speStackerCrane.SetValue(StackerCraneDBName.WorkType, command.WorkType);
+                speStackerCrane.SetValue(StackerCraneDBName.TrayType, command.TrayType);
+                return true;
+            }
+            catch (Exception ex)
+            {
+                return false;
+            }
+        }
+            /// <summary>
+            /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
+            /// </summary>
+            /// <param name="task">浠诲姟瀹炰綋</param>
+            /// <returns></returns>
+            /// <exception cref="Exception"></exception>
+            public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
         {
             StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
 
@@ -206,7 +217,7 @@
             stackerCraneTaskCommand.TaskNum = task.TaskNum;
             stackerCraneTaskCommand.WorkType = 1;
             stackerCraneTaskCommand.TrayType = 0;
-            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
+            if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt())//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
             {
                 if (task.SourceAddress != null && task.TargetAddress != null)
                 {
@@ -243,7 +254,7 @@
                     return null;
                 }
             }
-            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+            else if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
             {
                 if (task.SourceAddress != null && task.TargetAddress != null)
                 {
@@ -280,7 +291,7 @@
                     return null;
                 }
             }
-            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+            else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt())
             {
                 if (task.SourceAddress != null && task.TargetAddress != null)
                 {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/GetStackerObject.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/GetStackerObject.cs"
index d7bfbf4..c4b537f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/GetStackerObject.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/GetStackerObject.cs"
@@ -125,6 +125,5 @@
             }
             return StackerCraneStatus.Unkonw.ToString();
         }
-        //public bool SetStackerObject(SpeStackerCrane speStackerCrane, StackerCraneDBName StackerDBName, int value) => speStackerCrane.SetValue(StackerDBName, value);
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs"
index fc94f0e..5ce5c33 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs"
@@ -72,6 +72,11 @@
         Barcode,
 
         /// <summary>
+        /// 鎵樼洏绫诲瀷
+        /// </summary>
+        TrayType,
+
+        /// <summary>
         /// 璁惧鐘舵��
         /// </summary>
         StackerCraneStatus,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
index 7a84842..6e5cf35 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
@@ -20,7 +20,19 @@
         let TaskHandCancelBtn = this.buttons.find(x => x.value == 'TaskHandCancel');
       if (TaskHandCancelBtn) {
         TaskHandCancelBtn.onClick = function () {
-          this.$message.success('鑷畾涔夋寜閽偣鍑讳簨浠�');
+          let rows = this.$refs.table.getSelected();
+          if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+          var param = rows[0].taskNum;
+          this.http
+            .post("api/Task/TaskCancel?taskNum="+param, "鏁版嵁澶勭悊涓�...")
+            .then((x) => {
+              if (x.status) {
+                this.$Message.success('浠诲姟鍙栨秷鎴愬姛.');
+                this.refresh();
+              } else {
+                return this.$error(x.message);
+              }
+            });
         }
       }
       let TaskHandCompletedBtn = this.buttons.find(x => x.value == 'TaskHandCompleted');
@@ -33,7 +45,7 @@
             .post("api/Task/TaskCompleted?taskNum="+param, "鏁版嵁澶勭悊涓�...")
             .then((x) => {
               if (x.status) {
-                this.$Message.success('浠诲姟鎵嬪姩瀹屾垚鎴愬姛.');
+                this.$Message.success('浠诲姟鎵嬪姩瀹屾垚');
                 this.refresh();
               } else {
                 return this.$error(x.message);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
index 889d1f8..819f5f2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
@@ -134,20 +134,20 @@
         width: 120,
         align: "left",
       },
-      {
-        field: "currentAddress",
-        title: "褰撳墠浣嶇疆",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
-      {
-        field: "nextAddress",
-        title: "涓嬩竴浣嶇疆",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
+      // {
+      //   field: "currentAddress",
+      //   title: "褰撳墠浣嶇疆",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
+      // {
+      //   field: "nextAddress",
+      //   title: "涓嬩竴浣嶇疆",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
       {
         field: "exceptionMessage",
         title: "寮傚父淇℃伅",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
index dc39d6a..afa5c90 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
@@ -127,20 +127,20 @@
         width: 120,
         align: "left",
       },
-      {
-        field: "targetAddress",
-        title: "鐩爣鍦板潃",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
-      {
-        field: "currentAddress",
-        title: "褰撳墠浣嶇疆",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
+      // {
+      //   field: "targetAddress",
+      //   title: "鐩爣鍦板潃",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
+      // {
+      //   field: "currentAddress",
+      //   title: "褰撳墠浣嶇疆",
+      //   type: "string",
+      //   width: 120,
+      //   align: "left",
+      // },
       {
         field: "nextAddress",
         title: "涓嬩竴浣嶇疆",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/07acc35c-ead1-4994-b934-522e5a78c90a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/07acc35c-ead1-4994-b934-522e5a78c90a.vsidx"
new file mode 100644
index 0000000..be05d52
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/07acc35c-ead1-4994-b934-522e5a78c90a.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3353fedf-ce91-4adc-bdb9-d8450ade5d0a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3353fedf-ce91-4adc-bdb9-d8450ade5d0a.vsidx"
new file mode 100644
index 0000000..7e99cee
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3353fedf-ce91-4adc-bdb9-d8450ade5d0a.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3b906d3f-9923-4824-a640-34936ca6bee2.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3b906d3f-9923-4824-a640-34936ca6bee2.vsidx"
new file mode 100644
index 0000000..fec4fd2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3b906d3f-9923-4824-a640-34936ca6bee2.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a25ab2df-8d0e-478a-8bf5-7ede88f4c554.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a25ab2df-8d0e-478a-8bf5-7ede88f4c554.vsidx"
new file mode 100644
index 0000000..9a0fbb3
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a25ab2df-8d0e-478a-8bf5-7ede88f4c554.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f9e8d8bc-d17e-44b5-842b-88f7aaeb9bc9.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f9e8d8bc-d17e-44b5-842b-88f7aaeb9bc9.vsidx"
new file mode 100644
index 0000000..60f37c8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f9e8d8bc-d17e-44b5-842b-88f7aaeb9bc9.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs"
index e83cbd1..a88d978 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs"
@@ -249,7 +249,7 @@
 
             locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
 
-            if (locationInfos.LocationStatus == LocationStatusEnum.Pallet.ObjToInt())
+            if (beforeStartStatus == LocationStatusEnum.Pallet.ObjToInt())
             {
                 locationInfos.LocationStatus = LocationStatusEnum.PalletLock.ObjToInt();
             }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs"
index d6d0c2a..e0bf4a7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs"
@@ -167,10 +167,22 @@
         RelocationFinish = 310,
 
         /// <summary>
+        /// 绉诲簱浠诲姟鎵ц涓�
+        /// </summary>
+        [Description("绉诲簱浠诲姟鎵ц涓�")]
+        RelocationExecuting = 320,
+
+        /// <summary>
         /// 绉诲簱浠诲姟鍙栨秷
         /// </summary>
         [Description("绉诲簱浠诲姟鍙栨秷")]
-        RelocationCancel = 320,
+        RelocationCancel = 330,
+
+        /// <summary>
+        /// 绉诲簱浠诲姟寮傚父
+        /// </summary>
+        [Description("绉诲簱浠诲姟寮傚父")]
+        RelocationException = 340,
     }
 
     #endregion 鍏ュ簱浠诲姟鐘舵��
@@ -197,18 +209,6 @@
         /// </summary>
         [Description("鍫嗗灈鏈哄嚭搴撳畬鎴�")]
         SC_OutFinish = 135,
-
-        /// <summary>
-        /// 绉诲簱浠诲姟鎵ц涓�
-        /// </summary>
-        [Description("绉诲簱浠诲姟鎵ц涓�")]
-        SC_RelocationExecuting = 140,
-
-        /// <summary>
-        /// 绉诲簱浠诲姟鎵ц涓�
-        /// </summary>
-        [Description("绉诲簱浠诲姟鎵ц涓�")]
-        SC_RelocationFinish = 145,
 
         /// <summary>
         /// 鍑哄簱浠诲姟瀹屾垚
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs"
index 77224e9..da9e300 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs"
@@ -1,9 +1,13 @@
-锘縰sing System;
+锘縰sing Microsoft.Extensions.Logging;
+using Newtonsoft.Json;
+using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Net;
 using System.Net.Http.Headers;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Core.LogHelper;
 
 namespace WIDESEA_Core.Helper
 {
@@ -100,5 +104,55 @@
             }
             return null;
         }
+
+        public static T Post<T>(string url, object parm, string rquestName = "") where T : class
+        {
+            HttpWebResponse response = null;
+            StreamReader resultReader = null;
+            string responseContent = string.Empty;
+            try
+            {
+                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+                request.Timeout = 10 * 1000;
+                request.Method = "POST";
+                request.ContentType = "application/json; charset=UTF-8";
+                parm = parm ?? "";
+                byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(parm));
+                request.ContentLength = data.Length;
+                using (Stream newStream = request.GetRequestStream())
+                {
+                    newStream.Write(data, 0, data.Length);
+                };
+
+                response = (HttpWebResponse)request.GetResponse();
+                Stream webStream = response.GetResponseStream();
+                if (webStream == null)
+                {
+                    throw new Exception("Network error");
+                }
+
+                int statsCode = (int)response.StatusCode;
+                resultReader = new StreamReader(webStream, Encoding.UTF8);
+                responseContent = resultReader.ReadToEnd();
+
+                if (response != null)
+                    response.Close();
+                if (resultReader != null)
+                    resultReader.Close();
+
+                if (statsCode != 200)
+                {
+                    throw new Exception("寮傚父锛屽搷搴旂爜锛�" + statsCode.ToString());
+                }
+
+                Logger.Write_Log("System/API璇锋眰", rquestName, "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent });
+                return JsonConvert.DeserializeObject<T>(responseContent);
+            }
+            catch (Exception ex)
+            {
+                Logger.Write_Log("System/API璇锋眰", rquestName, "璇锋眰寮傚父", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent, 閿欒 = ex.Message });
+                throw ex;
+            }
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs"
index 7e58409..4995e84 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs"
@@ -1,5 +1,6 @@
 锘�
 using Microsoft.AspNetCore.Http;
+using Newtonsoft.Json;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
@@ -65,6 +66,40 @@
         {
 
         }
+        public static void Write_Log(string groupName, string logName, string content, object data = null)
+        {
+            DateTime nowTime = DateTime.Now;
+            string basePath = System.Environment.CurrentDirectory + "/Log/" + $"/{groupName}/{nowTime.ToString("yyyy-MM-dd")}";
+            //濡傛灉鏃ュ織鏂囦欢鐩綍涓嶅瓨鍦�,鍒欏垱寤�
+            if (!Directory.Exists(basePath))
+            {
+                Directory.CreateDirectory(basePath);
+            }
+            try
+            {
+                FileStream fs = new FileStream(basePath + "/" + logName + $"{nowTime.ToString("yyMMdd")}.txt", FileMode.Append);
+                StreamWriter strwriter = new StreamWriter(fs);
+                try
+                {
+                    strwriter.WriteLine(nowTime.ToString() + "." + nowTime.Millisecond);
+                    strwriter.WriteLine(content);
+                    if (data != null)
+                    {
+                        strwriter.WriteLine(JsonConvert.SerializeObject(data));
+                    }
+                    strwriter.WriteLine("-------------------------------");
+                    strwriter.WriteLine();
+                    strwriter.Flush();
+                }
+                catch { }
+                finally
+                {
+                    strwriter.Close();
+                    fs.Close();
+                }
+            }
+            catch { }
+        }
 
         public static void WriteApiLog2DB(HttpContext context, string requestParameter, DateTime beginDate, string responseParameter, DateTime endDate, LoggerStatus loggerStatus)
         {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index dcd228d..b53517c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -38,7 +38,8 @@
         WebResponseContent GenerateInboundTask(string stationCode, int taskType, string palletCode);
 
         WebResponseContent TaskCompleted(int taskNum);
-        WebResponseContent TaskCancel(SaveModel saveModel);
+        WebResponseContent TaskCancel(int taskNum);
+        WebResponseContent UpdateTaskStatus(int taskNum);
 
         WebResponseContent GenerateOutboundTask(int orderDetailId, List<StockSelectViewDTO> stockSelectViews);
 
@@ -46,9 +47,9 @@
 
         WebResponseContent PalletOutboundTask(string roadwayNo, string endStation);
 
-        WebResponseContent CallMateriel(SaveModel saveModel);
+        WebResponseContent CallMateriel(string endPoint);
 
-        WebResponseContent MaterielCarry(SaveModel saveModelt);
+        WebResponseContent MaterielCarry(string startPoint);
         WebResponseContent GetTaskInfo();
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
index dee5622..5b7327a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
@@ -50,12 +50,10 @@
         /// </summary>
         /// <param name="endPoint"></param>
         /// <returns></returns>
-        public WebResponseContent CallMateriel(SaveModel saveModel)
+        public WebResponseContent CallMateriel(string endPoint)
         {
             try
             {
-                string endPoint = saveModel.MainData["endPoint"].ToString();
-
                 Dt_CachePoint cachePoint = GetCachePointByEndPoint(endPoint);
 
                 Dt_Task task = new Dt_Task()
@@ -91,12 +89,10 @@
         /// </summary>
         /// <param name="startPoint"></param>
         /// <returns></returns>
-        public WebResponseContent MaterielCarry(SaveModel saveModel)
+        public WebResponseContent MaterielCarry(string startPoint)
         {
             try
             {
-                string startPoint = saveModel.MainData["startPoint"].ToString();
-
                 Dt_CachePoint cachePoint = GetCachePointByStartPoint(startPoint);
 
                 Dt_Task task = new()
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
index d6807a3..9cf7970 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
@@ -9,11 +9,15 @@
 using WIDESEA_Model.Models;
 using WIDESEA_Core.Helper;
 using Microsoft.Extensions.Logging;
+using System.Net.Http.Headers;
+using System.Security.Policy;
+using Newtonsoft.Json;
 
 namespace WIDESEA_TaskInfoService
 {
     public partial class TaskService
     {
+        public string url = AppSettings.Configuration["WCS"];
         /// <summary>
         /// PDA鐢宠鍏ュ簱--鍫嗗灈鏈虹珛搴撳叆搴�
         /// </summary>
@@ -100,6 +104,7 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
+                _unitOfWorkManage.BeginTran();
                 Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(stationCode, taskType);
                 //Dt_LocationInfo dt_LocationInfo = null;
                 if (locationInfo != null)
@@ -107,7 +112,7 @@
                     Dt_Task task = new()
                     {
                         CurrentAddress = stationCode,
-                        Grade = 0,
+                        Grade = 2,
                         PalletCode = palletCode,
                         NextAddress = locationInfo.LocationCode,
                         Roadway = locationInfo.RoadwayNo,
@@ -144,14 +149,22 @@
                         _basicService.LocationInfoService.UpdateLocationLock(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false);
                     }
                     _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
+                    List<Dt_Task> tasks = new List<Dt_Task>(); 
+                    tasks.Add(task);
                     _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), orderNo, task.TaskNum);
-
+                    var response = HttpHelper.Post<WebResponseContent>(url + "ReceiveTask/", tasks, "鍏ュ簱浠诲姟涓嬪彂");
+                    if (!response.Status)
+                    {
+                        return content = WebResponseContent.Instance.Error("浠诲姟涓嬪彂寮傚父"); 
+                    }
+                    _unitOfWorkManage.CommitTran();
                     return content = WebResponseContent.Instance.OK();
                 }
                 return content = WebResponseContent.Instance.Error("鏈壘鍒板彲鍒嗛厤璐т綅");
             }
             catch (Exception ex)
             {
+                _unitOfWorkManage.RollbackTran();
                 content = WebResponseContent.Instance.Error(ex.Message);
             }
             return content;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
index 2022f55..897c659 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
@@ -11,6 +11,7 @@
 using Microsoft.AspNetCore.Http;
 using System.Reflection.Metadata;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
+using SkiaSharp;
 
 namespace WIDESEA_TaskInfoService
 {
@@ -38,7 +39,7 @@
                         Dt_Task task = new()
                         {
                             CurrentAddress = stockInfo.LocationCode,
-                            Grade = 0,
+                            Grade = 2,
                             PalletCode = stockInfo.PalletCode,
                             NextAddress = roadwayInfo.OutSCStationCode,
                             Roadway = locationInfo.RoadwayNo,
@@ -154,17 +155,18 @@
                 WebResponseContent content=new WebResponseContent();
                 _unitOfWorkManage.BeginTran();
                 //鍒ゆ柇绉诲簱
-                content=RelocationTasks(tasks.OrderBy(x=>x.Depth).ToList());
-                if (content.Status)
+                (List<Dt_Task>?, List<Dt_Task>?) result=RelocationTasks(tasks.OrderBy(x=>x.Depth).ToList());
+
+                if(result.Item1 != null)
                 {
-                    _unitOfWorkManage.CommitTran();
+
                 }
-                else
+                for (int i = 0; i < result.Item2.Count; i++)
                 {
-                    _unitOfWorkManage.RollbackTran();
-                    return content;
+
                 }
-                //BaseDal.AddData(tasks);
+
+                
                 if (stockInfos != null && outboundOrderDetails != null && outStockLockInfos != null && locationInfos != null)
                 {
                     content = _outboundService.OutboundOrderDetailService.LockOutboundStockDataUpdate(stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks);
@@ -198,90 +200,86 @@
             }
 
         }
-        public WebResponseContent RelocationTasks(List<Dt_Task> task)
+        public (List<Dt_Task>?, List<Dt_Task>?) RelocationTasks(List<Dt_Task> task)
         {
             WebResponseContent content = new WebResponseContent();
             try
             {
-                _unitOfWorkManage.BeginTran();
+                List<Dt_Task>  tasks = new List<Dt_Task>();
+                List<Dt_Task> relocationList=new List<Dt_Task>();
                 if (task.Count > 0)
                 {
-
                     for (int i = 0; i < task.Count; i++)
                     {
                         Dt_LocationInfo location = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task[i].SourceAddress && x.RoadwayNo == task[i].Roadway);
+                        int befoStatus=location.LocationStatus.ObjToInt();
                         if (location != null)
                         {
-                            //(Dt_LocationInfo?, int?) result = _basicService.LocationInfoService.isDepth(location);
-                            (Dt_LocationInfo?, int?) result = isDepth(location);
-                            if (result.Item1 != null && result.Item2 != LocationStatusEnum.Lock.ObjToInt() && result.Item2 != LocationStatusEnum.PalletLock.ObjToInt() && result.Item2 != LocationStatusEnum.Free.ObjToInt())
+                            Dt_LocationInfo result = isDepth(location);
+                            if (result != null && result.LocationStatus == LocationStatusEnum.Lock.ObjToInt() && result.LocationStatus != LocationStatusEnum.PalletLock.ObjToInt() && result.LocationStatus != LocationStatusEnum.Free.ObjToInt())
                             {
                                 int sum = 0;
                                 for (int j = 0; j < task.Count; j++)
                                 {
-                                    if (result.Item1.LocationCode == task[j].SourceAddress)
+                                    if (result.LocationCode == task[j].SourceAddress)
                                     {
                                         sum++;
                                     }
                                 }
                                 if (sum == 0)
                                 {
-                                    return content = RelocationTask(task[i]);
+                                    Dt_Task relocariontask = RelocationTask(result);
+                                    task[i].Grade=1;
+                                    tasks.Add(task[i]);
+                                    relocationList.Add(relocariontask);
                                 }
                                 else
                                 {
-                                    BaseDal.AddData(task[i]);
-                                    _basicService.LocationInfoService.UpdateLocationLock(location, task[i].TaskNum, StockChangeType.Outbound.ObjToInt(), true);
+                                    tasks.Add(task[i]);
+                                    content = WebResponseContent.Instance.OK();
                                 }
                             }
-                            else if (result.Item1 == null && result.Item2 == LocationStatusEnum.Free.ObjToInt())
+                            else if (result == null)
                             {
-                                BaseDal.AddData(task[i]);
-                                location.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
-                                _basicService.LocationInfoService.UpdateData(location);
+                                tasks.Add(task[i]);
                                 content = WebResponseContent.Instance.OK();
                             }
-                            else if (result.Item1 != null && result.Item2 == LocationStatusEnum.Free.ObjToInt())
+                            else if (result != null && result.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                             {
-                                BaseDal.AddData(task[i]);
-                                location.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
-                                _basicService.LocationInfoService.UpdateData(location);
-                                _basicService.LocationInfoService.UpdateLocationLock(location, task[i].TaskNum, StockChangeType.Outbound.ObjToInt(), false);
+                                tasks.Add(task[i]);
                                 content = WebResponseContent.Instance.OK();
                             }
-                            else if (result.Item1 != null && (result.Item2 == LocationStatusEnum.Lock.ObjToInt() || result.Item2 == LocationStatusEnum.PalletLock.ObjToInt()))
+                            else if (result != null && (result.LocationStatus == LocationStatusEnum.Lock.ObjToInt() || result.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt()))
                             {
-                                Dt_Task TaskInfo = BaseDal.QueryFirst(x => x.SourceAddress == result.Item1.LocationCode);
+                                Dt_Task TaskInfo = BaseDal.QueryFirst(x => x.SourceAddress == result.LocationCode);
                                 if (TaskInfo == null)
                                 {
-                                    return content = WebResponseContent.Instance.Error("璐т綅琚攣瀹氫笉鍙嚭搴�");
+                                    content = WebResponseContent.Instance.Error("璐т綅琚攣瀹氫笉鍙嚭搴�");
+                                    break;
                                 }
                                 else
                                 {
-                                    BaseDal.AddData(task[i]);
-                                    location.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
-                                    _basicService.LocationInfoService.UpdateData(location);
+                                    tasks.Add(task[i]);
                                     content = WebResponseContent.Instance.OK();
                                 }
                             }
                         }
                         else
                         {
-                            return content = WebResponseContent.Instance.Error("浠诲姟寮傚父");
+                            content = WebResponseContent.Instance.Error("浠诲姟寮傚父");
+                            break;
                         }
                     }
+                    return (tasks, relocationList);
                 }
                 else
                 {
-                    return content = WebResponseContent.Instance.Error("娌℃湁搴撳瓨鐢熸垚浠诲姟");
+                    throw new Exception($"鐢熸垚绉诲簱浠诲姟澶辫触");
                 }
-                _unitOfWorkManage.CommitTran();
-                return content;
             }
             catch (Exception ex)
             {
-                _unitOfWorkManage.RollbackTran();
-                return content = WebResponseContent.Instance.Error(ex.Message);
+                return (null, null);
             }
          }
         /// <summary>
@@ -289,111 +287,46 @@
         /// </summary>
         /// <param name="task"></param>
         /// <returns></returns>
-        public WebResponseContent RelocationTask(Dt_Task task)
+        public Dt_Task RelocationTask(Dt_LocationInfo location)
         {
             WebResponseContent content = new WebResponseContent();
             try
             {
-                Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
-                if (locationInfo != null)
+                Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.LocationCode == location.LocationCode);
+                if (stockInfo != null)
                 {
-                    int beforeStatus = locationInfo.LocationStatus;
-                    //(Dt_LocationInfo?,int?) Result = _basicService.LocationInfoService.isDepth(locationInfo);
-                    (Dt_LocationInfo?,int?) Result = isDepth(locationInfo);
-                    if (Result.Item1 != null&& Result.Item2== LocationStatusEnum.InStock.ObjToInt())
+                    Dt_LocationInfo? locationInfos = _basicService.LocationInfoService.AssignLocation(location.RoadwayNo);
+                    if (locationInfos != null)
                     {
-                        Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.LocationCode == Result.Item1.LocationCode);
-                        Dt_StockInfoDetail stockInfoDetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId==stockInfo.Id);
-                        if (stockInfo != null&& stockInfoDetail != null)
+                        Dt_Task tasks = new()
                         {
-                            (Dt_Task ?, Dt_LocationInfo ?) result= AddRelocationTask(Result.Item1, stockInfo, task); 
-                            if (result.Item1!=null&&result.Item2!=null)
-                            {
-                                _basicService.LocationInfoService.RelocationLock(Result.Item1, result.Item2, result.Item1.TaskNum);
-                                locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
-                                _basicService.LocationInfoService.UpdateData(locationInfo);
-                                _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Relocation.ObjToInt(), "", task.TaskNum);
-                                return content = WebResponseContent.Instance.OK();
-                            }
-                            else
-                            {
-                                return content = WebResponseContent.Instance.Error("绉诲簱浠诲姟鐢熸垚澶辫触");
-                            }
-                        } 
-                        else
-                        {
-                            return content = WebResponseContent.Instance.Error("鏈壘鍒板簱瀛樹俊鎭�");
-                        }
-                    }
-                    else if(Result.Item1 != null && Result.Item2 == LocationStatusEnum.Pallet.ObjToInt())
-                    {
-                        Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.LocationCode == Result.Item1.LocationCode);
-                        if (stockInfo != null)
-                        {
-                            (Dt_Task?, Dt_LocationInfo?) result = AddRelocationTask(Result.Item1, stockInfo, task);
-                            if (result.Item1 != null && result.Item2 != null)
-                            {
-                                _basicService.LocationInfoService.RelocationLock(Result.Item1, result.Item2, result.Item1.TaskNum);
-                                locationInfo.LocationStatus = LocationStatusEnum.PalletLock.ObjToInt();
-                                _basicService.LocationInfoService.UpdateData(locationInfo);
-                                _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Relocation.ObjToInt(), "", task.TaskNum);
-                                return content = WebResponseContent.Instance.OK();
-                            }
-                            else
-                            {
-                                return content = WebResponseContent.Instance.Error("绉诲簱浠诲姟鐢熸垚澶辫触");
-                            }
-                        }
-                        else
-                        {
-                            return content = WebResponseContent.Instance.Error("鏈壘鍒板簱瀛樹俊鎭�");
-                        }
+                            CurrentAddress = location.LocationCode,
+                            Grade = 0,
+                            PalletCode = stockInfo.PalletCode,
+                            NextAddress = locationInfos.LocationCode,
+                            Roadway = location.RoadwayNo,
+                            SourceAddress = location.LocationCode,
+                            TargetAddress = locationInfos.LocationCode,
+                            TaskStatus = InTaskStatusEnum.RelocationNew.ObjToInt(),
+                            TaskType = TaskTypeEnum.Relocation.ObjToInt(),
+                            TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum))
+                        };
+                        return tasks;
                     }
                     else
                     {
-                        return content = WebResponseContent.Instance.Error("寮傚父");
+                        throw new Exception($"鐢熸垚绉诲簱浠诲姟澶辫触");
                     }
                 }
                 else
                 {
-                    return content = WebResponseContent.Instance.Error("浠诲姟淇℃伅寮傚父");
+                    throw new Exception("鏈壘鍒板簱瀛樹俊鎭�");
                 }
             }
             catch (Exception ex)
             {
-                return content = WebResponseContent.Instance.Error(ex.Message);
+                throw new Exception($"鐢熸垚绉诲簱浠诲姟澶辫触"); ;
             }
-            finally
-            {
-                
-            }
-
-            
-        }
-        public (Dt_Task?,Dt_LocationInfo?) AddRelocationTask(Dt_LocationInfo location,Dt_StockInfo stockInfo,Dt_Task task)
-        {
-            Dt_LocationInfo? locationInfos = _basicService.LocationInfoService.AssignLocation(location.RoadwayNo);
-            if (locationInfos != null)
-            {
-                Dt_Task tasks = new()
-                {
-                    CurrentAddress = location.LocationCode,
-                    Grade = 0,
-                    PalletCode = stockInfo.PalletCode,
-                    NextAddress = locationInfos.LocationCode,
-                    Roadway = location.RoadwayNo,
-                    SourceAddress = location.LocationCode,
-                    TargetAddress = locationInfos.LocationCode,
-                    TaskStatus = InTaskStatusEnum.RelocationNew.ObjToInt(),
-                    TaskType = TaskTypeEnum.Relocation.ObjToInt(),
-                    TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum))
-                };
-                BaseDal.AddData(tasks);
-                BaseDal.AddData(task);
-                stockInfo.StockStatus = StockStatusEmun.绉诲簱閿佸畾.ObjToInt();
-                _stockService.StockInfoService.UpdateData(stockInfo);
-            }
-            return (task, locationInfos);
         }
         /// <summary>
         /// 鐢熸垚鍑哄簱浠诲姟
@@ -508,7 +441,7 @@
             }
         }
 
-        public (Dt_LocationInfo?, int?) isDepth(Dt_LocationInfo locationInfo)
+        public Dt_LocationInfo isDepth(Dt_LocationInfo locationInfo)
         {
             if (locationInfo.Depth == 2)
             {
@@ -516,26 +449,11 @@
                 {
                     Dt_LocationInfo dt_LocationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.Row == locationInfo.Row + 1 && x.Layer == locationInfo.Layer && x.Column == locationInfo.Column && x.RoadwayNo == locationInfo.RoadwayNo);
 
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.InStock.ObjToInt())
+                    if (dt_LocationInfo != null)
                     {
-                        return (dt_LocationInfo, LocationStatusEnum.InStock.ObjToInt());
+                        return dt_LocationInfo;
                     }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.Free.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.Free.ObjToInt());
-                    }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.Lock.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.Lock.ObjToInt());
-                    }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.PalletLock.ObjToInt());
-                    }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.Pallet.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.Pallet.ObjToInt());
-                    }
+                    
                 }
                 else if (locationInfo.Row == 4 || locationInfo.Row == 8)
                 {
@@ -543,27 +461,11 @@
 
                     if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.InStock.ObjToInt())
                     {
-                        return (dt_LocationInfo, LocationStatusEnum.InStock.ObjToInt());
-                    }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.Free.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.Free.ObjToInt());
-                    }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.Lock.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.Lock.ObjToInt());
-                    }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.PalletLock.ObjToInt());
-                    }
-                    if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.Pallet.ObjToInt())
-                    {
-                        return (dt_LocationInfo, LocationStatusEnum.Pallet.ObjToInt());
+                        return dt_LocationInfo;
                     }
                 }
             }
-            return (null, LocationStatusEnum.Free.ObjToInt());
+            return null;
         }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 573566f..670df69 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -109,11 +109,10 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-        public WebResponseContent TaskCancel(SaveModel saveModel)
+        public WebResponseContent TaskCancel(int taskNum)
         {
             try
             {
-                int taskNum = int.Parse(saveModel.MainData["taskNum"].ToString());
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null)
                 {
@@ -135,6 +134,39 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+
+        public WebResponseContent UpdateTaskStatus(int taskNum)
+        {
+            try
+            {
+                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+                if (task == null)
+                {
+                    return WebResponseContent.Instance.Error("鏈壘鍒颁换鍔′俊鎭�");
+                }
+                if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
+                {
+                    task.TaskStatus = OutTaskStatusEnum.SC_OutExecuting.ObjToInt();
+                }
+                else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt())
+                {
+                    task.TaskStatus = InTaskStatusEnum.SC_InExecuting.ObjToInt();
+                }
+                else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt())
+                {
+                    task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt();
+                }
+                else
+                {
+                    throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+                }
+                return WebResponseContent.Instance.Error("鏈壘鍒颁换鍔$被鍨嬪搴斾笟鍔″鐞嗛�昏緫");
+            }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
         public WebResponseContent InboundTaskCompleted(Dt_Task task)
         {
             try
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs"
index 21a57c2..3e3820d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs"
@@ -28,15 +28,15 @@
         }
 
         [HttpPost, Route("CallMateriel"), AllowAnonymous]
-        public WebResponseContent CallMateriel([FromBody] SaveModel saveModel)
+        public WebResponseContent CallMateriel([FromBody] string endPoint)
         {
-            return _taskService.CallMateriel(saveModel);
+            return _taskService.CallMateriel(endPoint);
         }
 
         [HttpPost, Route("MaterielCarry"), AllowAnonymous]
-        public WebResponseContent MaterielCarry([FromBody] SaveModel saveModel)
+        public WebResponseContent MaterielCarry([FromBody] string startPoint)
         {
-            return _taskService.MaterielCarry(saveModel);
+            return _taskService.MaterielCarry(startPoint);
         }
 
         [HttpPost, Route("MaterielGroup")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoController.cs"
index 59d9486..086702d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoController.cs"
@@ -25,7 +25,7 @@
         }
 
         [HttpPost, Route("GetStockSelectViews"), AllowAnonymous]
-        public List<StockSelectViewDTO> GetStockSelectViews([FromBody]string materielCode)
+        public List<StockSelectViewDTO> GetStockSelectViews(string materielCode)
         {
             return Service.GetStockSelectViews(materielCode);
         }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index 2390bda..f1a631b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -24,16 +24,20 @@
         }
 
         [HttpPost, Route("TaskCompleted"), AllowAnonymous]
-        public WebResponseContent TaskCompleted([FromBody] int taskNum)
+        public WebResponseContent TaskCompleted(int taskNum)
         {
             return Service.TaskCompleted(taskNum);
         }
         [HttpPost, Route("TaskCancel"), AllowAnonymous]
-        public WebResponseContent TaskCancel([FromBody] SaveModel saveModel)
+        public WebResponseContent TaskCancel(int taskNum)
         {
-            return Service.TaskCancel(saveModel);
+            return Service.TaskCancel(taskNum);
         }
-
+        [HttpPost, Route("UpdateTaskStatus"), AllowAnonymous]
+        public WebResponseContent UpdateTaskStatus(int taskNum)
+        {
+            return Service.UpdateTaskStatus(taskNum);
+        }
         [HttpPost, Route("GenerateOutboundTask")]
         public WebResponseContent GenerateOutboundTask( int id, [FromBody] List<StockSelectViewDTO> stockSelectViews)
         {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\345\205\245\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\345\205\245\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt"
new file mode 100644
index 0000000..9f96cc0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\345\205\245\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt"
@@ -0,0 +1,50 @@
+2024/11/1 9:31:21.649
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":{"TaskId":0,"TaskNum":232,"PalletCode":"A00008","Roadway":"R01","TaskType":204,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-004-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T09:31:08.2557414+08:00","Modifier":null,"ModifyDate":null},"鎺ユ敹鎶ユ枃":"","閿欒":"The remote server returned an error: (404) Not Found."}
+-------------------------------
+
+2024/11/1 9:35:00.714
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":233,"PalletCode":"A00008","Roadway":"R01","TaskType":204,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-004-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T09:34:55.0224368+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"","閿欒":"The remote server returned an error: (404) Not Found."}
+-------------------------------
+
+2024/11/1 9:36:55.462
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":234,"PalletCode":"A00005","Roadway":"R01","TaskType":204,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-004-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T09:36:53.3248437+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"","閿欒":"The remote server returned an error: (404) Not Found."}
+-------------------------------
+
+2024/11/1 9:37:41.472
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":235,"PalletCode":"A00005","Roadway":"R01","TaskType":204,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-004-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T09:37:34.8931853+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"","閿欒":"The remote server returned an error: (404) Not Found."}
+-------------------------------
+
+2024/11/1 9:39:37.274
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":236,"PalletCode":"A00005","Roadway":"R01","TaskType":204,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-004-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T09:39:23.4091352+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"","閿欒":"The operation has timed out."}
+-------------------------------
+
+2024/11/1 9:43:09.555
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":237,"PalletCode":"A00005","Roadway":"R01","TaskType":204,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-004-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T09:43:02.7950148+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 11:49:20.887
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":238,"PalletCode":"A00001","Roadway":"R01","TaskType":200,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-001-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-001-02","Depth":0,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T11:49:15.7593519+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 11:50:26.61
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":239,"PalletCode":"A00002","Roadway":"R01","TaskType":200,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-002-001-001-01","CurrentAddress":"001-001-001","NextAddress":"R01-002-001-001-01","Depth":0,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T11:50:25.5449866+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 11:50:43.802
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":240,"PalletCode":"A00003","Roadway":"R01","TaskType":200,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-001-001-002-02","CurrentAddress":"001-001-001","NextAddress":"R01-001-001-002-02","Depth":0,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T11:50:43.0725455+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 11:52:33.100
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":241,"PalletCode":"A00004","Roadway":"R01","TaskType":200,"TaskStatus":200,"SourceAddress":"001-001-001","TargetAddress":"R01-002-001-002-01","CurrentAddress":"001-001-001","NextAddress":"R01-002-001-002-01","Depth":0,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T11:52:32.5132244+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\345\207\272\345\272\223\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\345\207\272\345\272\223\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt"
new file mode 100644
index 0000000..a03d9d5
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\345\207\272\345\272\223\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt"
@@ -0,0 +1,75 @@
+2024/11/1 13:34:24.853
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":{"TaskId":0,"TaskNum":242,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T13:34:18.907881+08:00","Modifier":null,"ModifyDate":null},"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:Object reference not set to an instance of an object.\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 13:40:11.285
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":{"TaskId":0,"TaskNum":248,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T13:40:07.2768798+08:00","Modifier":null,"ModifyDate":null},"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:Object reference not set to an instance of an object.\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:23:23.324
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":275,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:23:23.3004519+08:00","Modifier":null,"ModifyDate":null},{"TaskId":0,"TaskNum":276,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:23:23.3016749+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:31:05.947
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":279,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:31:05.922357+08:00","Modifier":null,"ModifyDate":null},{"TaskId":0,"TaskNum":280,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:31:05.9242038+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:37:09.583
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":283,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:37:09.561706+08:00","Modifier":null,"ModifyDate":null},{"TaskId":0,"TaskNum":284,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:37:09.5634395+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:41:20.424
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":287,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:41:20.3373694+08:00","Modifier":null,"ModifyDate":null},{"TaskId":0,"TaskNum":288,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:41:20.340493+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:45:37.950
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":291,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:45:32.1569581+08:00","Modifier":null,"ModifyDate":null},{"TaskId":0,"TaskNum":292,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:45:32.1596449+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:49:13.803
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":298,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:49:12.2052113+08:00","Modifier":null,"ModifyDate":null},{"TaskId":0,"TaskNum":299,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:49:12.2063816+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:40:01.476
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":309,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:39:59.068966+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:58:05.845
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:59:17.316
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:59:29.244
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:11:04.424
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:11:38.377
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:12:33.925
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\347\247\273\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\347\247\273\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt"
new file mode 100644
index 0000000..033e350
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/System/API\350\257\267\346\261\202/2024-11-01/\347\247\273\345\272\223\344\273\273\345\212\241\344\270\213\345\217\221241101.txt"
@@ -0,0 +1,215 @@
+2024/11/1 13:34:24.22
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":{"TaskId":0,"TaskNum":242,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T13:34:18.907881+08:00","Modifier":null,"ModifyDate":null},"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:Object reference not set to an instance of an object.\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 13:38:22.913
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":{"TaskId":0,"TaskNum":245,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T13:38:12.8553407+08:00","Modifier":null,"ModifyDate":null},"鎺ユ敹鎶ユ枃":"","閿欒":"The operation has timed out."}
+-------------------------------
+
+2024/11/1 13:40:09.216
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":{"TaskId":0,"TaskNum":248,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T13:40:07.2768798+08:00","Modifier":null,"ModifyDate":null},"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:Object reference not set to an instance of an object.\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:13:07.386
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":251,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:13:07.1398787+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:13:09.248
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":252,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:13:09.2310498+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:13:38.124
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":255,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:13:38.1025405+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:13:54.35
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":256,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:13:54.0250995+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:15:04.687
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":259,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:15:04.6688543+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:15:06.306
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":260,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:15:06.2904233+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:15:26.948
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":263,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:15:26.9339128+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:15:28.570
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":264,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:15:28.5575187+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:17:04.450
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":267,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:17:04.4283907+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:17:56.362
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":268,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:17:56.3413553+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:20:58.237
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":271,"PalletCode":"A00001","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-001-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-001-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:20:20.9974835+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:21:00.651
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":272,"PalletCode":"A00002","Roadway":"R01","TaskType":100,"TaskStatus":100,"SourceAddress":"R01-001-001-002-02","TargetAddress":"004-000-001","CurrentAddress":"R01-001-001-002-02","NextAddress":"004-000-001","Depth":2,"OrderNo":null,"Grade":1,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:21:00.6222848+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:23:21.358
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":277,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:23:21.2154198+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:23:23.203
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":278,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-004-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:23:23.1852817+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:31:03.878
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":281,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:31:03.7293329+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:31:05.808
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":282,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-004-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:31:05.7926221+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:37:07.596
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":285,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:37:07.5409562+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:37:09.461
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":286,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-004-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:37:09.4480514+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:41:17.147
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":289,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:41:16.7511513+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:41:20.164
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":290,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-004-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:41:20.1113773+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:45:29.363
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":293,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:45:29.1214778+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:45:32.29
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":294,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-004-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:45:31.9937555+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:47:32.672
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":297,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:47:27.6689192+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 14:49:05.963
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":300,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:48:51.3295703+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"","閿欒":"The operation has timed out."}
+-------------------------------
+
+2024/11/1 14:49:12.112
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":301,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T14:49:08.0474896+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":true,\"code\":0,\"message\":\"鎴愬姛\",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:05:02.645
+璇锋眰寮傚父
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":304,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:04:48.9092572+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"","閿欒":"An error occurred while sending the request."}
+-------------------------------
+
+2024/11/1 15:09:24.455
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":307,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:09:12.7471137+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:09:42.381
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":308,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:09:32.562272+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:39:58.821
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":311,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:39:58.6077409+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:42:13.319
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":314,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:42:13.283218+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:43:55.249
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":316,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:43:54.9826451+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:57:58.597
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":319,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:57:58.3778516+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:59:13.480
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":322,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:59:13.4611647+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 15:59:29.203
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":325,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T15:59:29.1779377+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:11:04.333
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":328,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T16:11:04.1124952+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:11:38.343
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":331,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T16:11:38.2219535+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:12:22.808
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":334,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T16:12:22.7799183+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:16:36.533
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":337,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T16:16:35.9430316+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:16:57.782
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":338,"PalletCode":"A00004","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-001-01","TargetAddress":"R01-001-001-003-02","CurrentAddress":"R01-002-001-001-01","NextAddress":"R01-001-001-003-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T16:16:57.1534742+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":\"鏈夐噸澶嶄换鍔",\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
+2024/11/1 16:17:50.95
+璇锋眰鎴愬姛
+{"璇锋眰鎶ユ枃":[{"TaskId":0,"TaskNum":341,"PalletCode":"A00003","Roadway":"R01","TaskType":300,"TaskStatus":300,"SourceAddress":"R01-002-001-002-01","TargetAddress":"R01-001-001-004-02","CurrentAddress":"R01-002-001-002-01","NextAddress":"R01-001-001-004-02","Depth":0,"OrderNo":null,"Grade":0,"SourceKey":0,"Dispatchertime":null,"Remark":null,"Creater":"admin","CreateDate":"2024-11-01T16:17:50.0077962+08:00","Modifier":null,"ModifyDate":null}],"鎺ユ敹鎶ユ枃":"{\"status\":false,\"code\":0,\"message\":null,\"data\":null,\"devMessage\":null}"}
+-------------------------------
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
index b0e1afa..25513e8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
@@ -21,6 +21,9 @@
     // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
     "IPs": "http://127.0.0.1:8080,http://localhost:8080"
   },
+
+  "WCS": "http://localhost:9291/api/Task/",
+
   "ApiName": "WIDESEA",
   "ExpMinutes": 120,
   "QuartzJobAutoStart": true,

--
Gitblit v1.9.3